| 
					
				 | 
			
			
				@@ -9,7 +9,7 @@ import { useRoute, useRouter } from 'vue-router' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OQrcode from '@/components/o-qrcode' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import request from '../request-music' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import item from '@/student/coupons/item' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { moneyFormat } from '@/helpers/utils' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { browser, moneyFormat } from '@/helpers/utils' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { state as baseState } from '@/state' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -23,7 +23,8 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       qrCodeUrl: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       orderNo: route.query.orderNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       orderInfo: {} as any, // 订单信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      goodsInfos: [] as any // 订单信息列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      goodsInfos: [] as any, // 订单信息列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      config: route.query.config ? JSON.parse(route.query.config as any) : {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const getOrderDetails = async () => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -42,8 +43,77 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onConfirm = (val: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const config: any = state.config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (val.payCode === 'payResult') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          path: '/payResult', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          query: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pay_channel: val.pay_channel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            wxAppId: config.wxAppId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            body: config.body, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            price: config.price 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(baseState.user) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.qrCodeUrl = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          window.location.origin + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '/orchestra-student/#/payDefine?pay_channel=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          val.pay_channel + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '&wxAppId=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          config.wxAppId + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '&body=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          config.body + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '&price=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          config.price + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '&orderNo=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          config.merOrderNo + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '&userId=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          config.userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(state.qrCodeUrl, 'qrCodeUrl') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.showQrcode = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.paymentStatus = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const beforeSubmit = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const pt = state.config.paymentChannel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let payCode = 'qrCode' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 判断当前浏览器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (browser().weixin) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 微信浏览器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (pt == 'alipay_qr' || pt == 'alipay_wap') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          payCode = 'qrCode' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (pt == 'wx_pub') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          payCode = 'pay' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (browser().alipay) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 支付宝浏览器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (pt == 'alipay_wap') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 支付宝 H5 支付 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          payCode = 'pay' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          payCode = 'qrCode' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        payCode = 'qrCode' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onConfirm({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        payCode: payCode == 'qrCode' ? 'payDefine' : 'payResult', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pay_channel: pt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const onSubmit = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      state.paymentStatus = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const pt = state.config.paymentChannel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 判断是否有支付方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (pt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        beforeSubmit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.paymentStatus = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onMounted(() => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -114,41 +184,8 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             onClose={() => (state.paymentStatus = false)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             onBackOut={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               console.log('back') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              // router.back() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            onConfirm={(val: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              const config: any = route.query.config ? JSON.parse(route.query.config as any) : {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              if (val.payCode === 'payResult') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  path: '/payResult', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  query: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    pay_channel: val.pay_channel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    wxAppId: config.wxAppId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    body: config.body, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    price: config.price 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                console.log(baseState.user) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                state.qrCodeUrl = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  window.location.origin + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  '/orchestra-student/#/payCenter?pay_channel=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  val.pay_channel + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  '&wxAppId=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  config.wxAppId + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  '&body=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  config.body + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  '&price=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  config.price + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  '&orderNo=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  config.merOrderNo + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  '&userId=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  config.userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                console.log(state.qrCodeUrl, 'qrCodeUrl') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                state.showQrcode = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                state.paymentStatus = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onConfirm={(val: any) => onConfirm(val)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </Popup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |