|
@@ -19,7 +19,7 @@ import icon_success from './images/icon_success.png'
|
|
|
import iconClose from './images/icon_close.png'
|
|
|
import iconTradeing from './images/icon_tradeing.png'
|
|
|
import request from '@/helpers/request'
|
|
|
-import { useRoute } from 'vue-router'
|
|
|
+import { useRoute, useRouter } from 'vue-router'
|
|
|
import { orderStatus } from '@/constant'
|
|
|
import { browser, moneyFormat } from '@/helpers/utils'
|
|
|
import { useEventListener, useWindowScroll } from '@vueuse/core'
|
|
@@ -29,6 +29,7 @@ export default defineComponent({
|
|
|
name: 'payment-result',
|
|
|
setup() {
|
|
|
const route = useRoute()
|
|
|
+ const router = useRouter()
|
|
|
const state = reactive({
|
|
|
refund: route.query.refund,
|
|
|
orders: {} as any,
|
|
@@ -161,6 +162,19 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ const popStateEvent = () => {
|
|
|
+ const ua = window.navigator.userAgent.toLowerCase()
|
|
|
+ if (browser().weixin) {
|
|
|
+ // 关闭微信
|
|
|
+ ;(window as any).WeixinJSBridge.call('closeWindow')
|
|
|
+ } else if (ua.indexOf('alipay') != -1) {
|
|
|
+ // 关闭支付宝
|
|
|
+ ;(window as any).AlipayJSBridge.call('closeWebview') // 支付宝浏览器
|
|
|
+ } else {
|
|
|
+ router.back()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
getDetails()
|
|
|
getDefaultParams()
|
|
@@ -176,6 +190,10 @@ export default defineComponent({
|
|
|
state.backIconColor = 'white'
|
|
|
}
|
|
|
})
|
|
|
+
|
|
|
+ if (browser().weixin) {
|
|
|
+ window.addEventListener('popstate', popStateEvent, false)
|
|
|
+ }
|
|
|
})
|
|
|
return () => (
|
|
|
<div class={styles.paymentResult}>
|