index-a3ae4cbe.js 4.1 KB

1
  1. import{d as S,q as N,P as q,x as I,y as b,a as n,F as P,X as A,L as B,I as C,aa as J,V as u,b$ as _,c7 as R,N as T,D as O,Z as t,c1 as W}from"./index-ec1086fa.js";import{C as E}from"./index-8a049083.js";import{C as w}from"./index-e7aa4079.js";const L="_paywxresult_12vsw_1",Y="_container_12vsw_23",l={paywxresult:L,"van-cell":"_van-cell_12vsw_5","van-cell__title":"_van-cell__title_12vsw_8","van-cell__value":"_van-cell__value_12vsw_9","van-button":"_van-button_12vsw_14","van-loading__spinner":"_van-loading__spinner_12vsw_19",container:Y,"order-loading":"_order-loading_12vsw_31","error-text":"_error-text_12vsw_41","error-icon":"_error-icon_12vsw_48"},D=S({name:"pay-result",setup(){const m=N(),a=q(),r=I({errorText:"",browserStatus:!1,code:null,pay_channel:a.query.pay_channel,wxAppId:a.query.wxAppId,paymentType:a.query.paymentType,alipayAppId:a.query.alipayAppId,body:a.query.body,price:a.query.price,orderNo:a.query.orderNo,userId:a.query.userId,payInfo:{},isYeePay:!1}),f=()=>{const e=a.query,o=r.paymentType.indexOf("yeepay")!==-1;if(!e.orderNo||!e.pay_channel)J({message:"支付订单信息错误请重新支付",showCancelButton:!1}).then(()=>{m.back()});else if(u().weixin)r.browserStatus=!0,h();else if(u().alipay)if(o){let s=_("auth_code");s?(r.code=s,r.browserStatus=!0,p()):R(r.alipayAppId)}else r.browserStatus=!0,p();else r.errorText="请在微信或支付宝客户端打开",document.title="ERROR"},p=async()=>{var e;try{if(parseFloat(r.price)<=0){T("支付金额异常");return}const o={merOrderNo:r.orderNo,paymentChannel:r.pay_channel,userId:r.userId,code:r.code},{data:s}=await O.post("/edu-app/open/userOrder/executePayment",{data:{...o}});r.isYeePay=((e=s.paymentVender)==null?void 0:e.indexOf("yeepay"))!==-1,console.log(s,"data"),x(s.reqParams)}catch(o){console.log(o),window.location.replace(t()+"/classroom-app/#/payment-result?orderNo="+r.orderNo)}},g=e=>{window.AlipayJSBridge?e&&e():document.addEventListener("AlipayJSBridgeReady",e,!1)},v=e=>{g(function(){window.AlipayJSBridge.call("tradePay",{tradeNO:e},function(o){o.resultCode=="9000"?window.location.replace(t()+"/classroom-app/#/payment-result?orderNo="+r.orderNo):window.location.replace(t()+"/classroom-app/#/payment-result?orderNo="+r.orderNo),window.AlipayJSBridge.call("closeWebview")})})},x=e=>{var o,s,d,y;if(r.pay_channel=="alipay_qr")if(r.isYeePay)v(e.tradeNO);else{const c=e.prod_mode==="false"?((o=e==null?void 0:e.expend)==null?void 0:o.qrcode_url)+"?payment_id="+e.id+"&pay_channel="+e.pay_channel:(s=e==null?void 0:e.expend)==null?void 0:s.qrcode_url;window.location.href=c}else if(r.pay_channel=="alipay_wap")window.location.href=(d=e==null?void 0:e.expend)==null?void 0:d.pay_info;else if(r.pay_channel=="wx_pub"){const c=r.isYeePay?JSON.parse(e.prePayTn):e!=null&&e.expend?JSON.parse((y=e==null?void 0:e.expend)==null?void 0:y.pay_info):e;r.payInfo=c,typeof window.WeixinJSBridge>"u"?document.addEventListener?document.addEventListener("WeixinJSBridgeReady",i,!1):document.attachEvent&&document.attachEvent("WeixinJSBridgeReady",i)(document).attachEvent("onWeixinJSBridgeReady",i):i()}},i=()=>{const e=r.payInfo;window.WeixinJSBridge.invoke("getBrandWCPayRequest",{appId:e.appId,timeStamp:e.timeStamp,nonceStr:e.nonceStr,package:e.package||e.packageValue,signType:e.signType,paySign:e.paySign},o=>{o.err_msg=="get_brand_wcpay_request:cancel"||o.err_msg=="get_brand_wcpay_request:fail"?window.location.replace(t()+"/classroom-app/#/payment-result?orderNo="+r.orderNo):window.location.replace(t()+"/classroom-app/#/payment-result?orderNo="+r.orderNo)})},h=()=>{const e=_();e?(r.code=e,p()):W(r.wxAppId)};return b(()=>{f()}),()=>n("div",{class:l.paywxresult},[r.browserStatus&&n(P,null,[n("div",{class:l.container},[n(E,{border:!1},{default:()=>[n(w,{title:"订单金额",value:"¥ "+A(r.price)},null),n(w,{title:"订单信息",value:r.body},null)]})]),n("div",{class:l["order-loading"]},[n("p",null,[r.pay_channel=="wx_pub"?"微信支付":"支付宝支付"]),n(B,{type:"spinner",color:"#01C1B5"},null)])]),!r.browserStatus&&n("div",{class:l["error-text"]},[r.errorText&&n(C,{class:l["error-icon"],name:"warning-o"},null),r.errorText])])}});export{D as default};