2 lines
7.9 KiB
JavaScript
2 lines
7.9 KiB
JavaScript
var ee=Object.defineProperty;var T=Object.getOwnPropertySymbols;var te=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable;var V=(m,o,s)=>o in m?ee(m,o,{enumerable:!0,configurable:!0,writable:!0,value:s}):m[o]=s,N=(m,o)=>{for(var s in o||(o={}))te.call(o,s)&&V(m,s,o[s]);if(T)for(var s of T(o))ae.call(o,s)&&V(m,s,o[s]);return m};var B=(m,o,s)=>new Promise((E,x)=>{var k=d=>{try{c(s.next(d))}catch(w){x(w)}},A=d=>{try{c(s.throw(d))}catch(w){x(w)}},c=d=>d.done?E(d.value):Promise.resolve(d.value).then(k,A);c((s=s.apply(m,o)).next())});import{ae as se,V as re,au as O,bt as oe,ay as le,a9 as v}from"./bootstrap-DmcuvVZS.js";import{g as X,s as ie}from"./index-7nVP6kBS.js";import{i as ne,j as ue,k as ce,l as de,m as ve,n as me,o as pe,p as fe,q as be,r as _e,s as ye,t as xe}from"./index-BIsdnxtu.js";import{D as C}from"./index-DSZRaVKB.js";import{_ as ke}from"./page.vue_vue_type_script_setup_true_lang-D_L6nEGY.js";import{a as U,P as f,b as L}from"./biz-pay-enum-CifM5i0M.js";import{m as Ae,b9 as S,v as Ie,aW as Ce,ab as P,b2 as n,bJ as i,j as u,u as a,ai as b,bp as _,d1 as Se,cB as Y,ae as y,ad as g,I as $,bb as j,bf as q,ac as M}from"../jse/index-index-B6J4axeY.js";import{u as ge}from"./use-tabs-CZrG3V7X.js";import{u as Pe}from"./use-modal-BrjqCt0f.js";import{Q as we}from"./index-xGBjB7qM.js";import"./index-qd6A6KXT.js";import"./tabbar-CI_7VyzV.js";import"./x-CGHUyQuD.js";const he=[{name:"支付宝 PC 网站支付",icon:ne,code:"alipay_pc"},{name:"支付宝 Wap 网站支付",icon:ue,code:"alipay_wap"},{name:"支付宝 App 网站支付",icon:ce,code:"alipay_app"},{name:"支付宝扫码支付",icon:de,code:"alipay_qr"},{name:"支付宝条码支付",icon:ve,code:"alipay_bar"}],We=[{name:"微信公众号支付",icon:me,code:"wx_pub"},{name:"微信小程序支付",icon:pe,code:"wx_lite"},{name:"微信 App 支付",icon:fe,code:"wx_app"},{name:"微信扫码支付",icon:be,code:"wx_native"},{name:"微信条码支付",icon:_e,code:"wx_bar"}],Be=[{name:"钱包支付",icon:ye,code:"wallet"},{name:"模拟支付",icon:xe,code:"mock"}],Ue={class:"flex"},Ee=["onClick"],Re={class:"flex items-center justify-center"},Oe={class:"mt-2 pt-1 text-center"},De={class:"flex"},Le=["onClick"],$e={class:"flex items-center justify-center"},je={class:"mt-2 pt-1 text-center"},qe={class:"flex"},Me=["onClick"],Qe={class:"flex items-center justify-center"},Te={class:"mt-2 pt-1 text-center"},Ve={key:2,class:"text-right"},rt=Ae({name:"PayCashier",__name:"index",setup(m){const o=se(),{push:s}=re(),{closeCurrentTab:E}=ge(),x=S(),k=S("支付订单"),A=S(),c=S(),d=S(void 0),[w,Q]=Pe({showConfirmButton:!1,destroyOnClose:!0}),R=S({url:"",visible:!1}),p=S({channelCode:"",value:"",visible:!1});function F(){return B(this,null,function*(){if(x.value=o.query.id,o.query.returnUrl&&(A.value=decodeURIComponent(o.query.returnUrl)),!x.value){v.error("未传递支付单号,无法查看对应的支付信息"),I("cancel");return}const e=yield X(x.value);if(!e){v.error("支付订单不存在,请检查!"),I("cancel");return}if(e.status===U.SUCCESS.status){v.success("支付成功"),I("success");return}else if(e.status===U.CLOSED.status){v.error("无法支付,原因:订单已关闭"),I("close");return}c.value=e})}function D(e){switch(e){case f.ALIPAY_BAR.code:{k.value="“支付宝”条码支付",p.value={channelCode:e,value:"",visible:!0},Q.open();break}case f.WX_BAR.code:{k.value="“微信”条码支付",p.value={channelCode:e,value:"",visible:!0},Q.open();break}case f.WX_LITE.code:{v.error("微信小程序:不支持 PC 网站");break}case f.WX_PUB.code:{v.error("微信公众号支付:不支持 PC 网站");break}default:{J(e);break}}}function J(e){return B(this,null,function*(){try{const l=N({id:x.value,channelCode:e,returnUrl:location.href},z(e)),t=yield ie(l);if(t.status===U.SUCCESS.status){h(),v.success("支付成功!"),I("success");return}switch(t.displayMode){case L.APP.mode:{K(e);break}case L.QR_CODE.mode:{H(e,t);break}case L.URL.mode:{G(t);break}}Z()}finally{}})}function z(e){return e===f.ALIPAY_BAR.code?{channelExtras:{auth_code:p.value.value}}:e===f.WX_BAR.code?{channelExtras:{authCode:p.value.value}}:{}}function G(e){location.href=e.displayContent}function H(e,l){k.value="请使用手机浏览器“扫一扫”",e===f.ALIPAY_WAP.code||(e.indexOf("alipay_")===0?k.value="请使用支付宝“扫一扫”扫码支付":e.indexOf("wx_")===0&&(k.value="请使用微信“扫一扫”扫码支付")),R.value={url:l.displayContent,visible:!0}}function K(e){e===f.ALIPAY_APP.code&&v.error("支付宝 App 支付:无法在网页支付!"),e===f.WX_APP.code&&v.error("微信 App 支付:无法在网页支付!")}function Z(){d.value||(d.value=setInterval(()=>B(null,null,function*(){const e=yield X(x.value);e.status===U.SUCCESS.status&&(h(),v.success("支付成功!"),I("success")),e.status===U.CLOSED.status&&(h(),v.error("支付已关闭!"),I("close"))}),1e3*2))}function h(){R.value={url:"",visible:!1},p.value={channelCode:"",value:"",visible:!1},clearInterval(d.value),d.value=void 0}function I(e){if(h(),!A.value){E();return}const l=A.value.includes("?")?`${A.value}&payResult=${e}`:`${A.value}?payResult=${e}`;A.value.indexOf("http")===0?location.href=l:(E(),s({path:l}))}return Ie(()=>B(null,null,function*(){yield F()})),Ce(()=>{h()}),(e,l)=>(n(),P(a(ke),{"auto-content-height":""},{default:i(()=>[u(a(O),{class:"mt-4"},{default:i(()=>{var t,W;return[u(a(C),{column:3,title:(W=(t=c.value)==null?void 0:t.subject)!=null?W:"商品详情"},{default:i(()=>[u(a(C).Item,{label:"支付单号"},{default:i(()=>{var r;return[b(_((r=c.value)==null?void 0:r.id),1)]}),_:1}),u(a(C).Item,{label:"商品标题"},{default:i(()=>{var r;return[b(_((r=c.value)==null?void 0:r.subject),1)]}),_:1}),u(a(C).Item,{label:"商品内容"},{default:i(()=>{var r;return[b(_((r=c.value)==null?void 0:r.body),1)]}),_:1}),u(a(C).Item,{label:"支付金额"},{default:i(()=>{var r;return[b(_(`¥${a(Se)(((r=c.value)==null?void 0:r.price)||0)}`),1)]}),_:1}),u(a(C).Item,{label:"创建时间"},{default:i(()=>{var r;return[b(_(a(Y)((r=c.value)==null?void 0:r.createTime)),1)]}),_:1}),u(a(C).Item,{label:"过期时间"},{default:i(()=>{var r;return[b(_(a(Y)((r=c.value)==null?void 0:r.expireTime)),1)]}),_:1})]),_:1},8,["title"])]}),_:1}),u(a(O),{title:"选择支付宝支付",class:"mt-4"},{default:i(()=>[y("div",Ue,[(n(!0),g($,null,j(a(he),t=>(n(),g("div",{class:"mr-4 w-40 cursor-pointer items-center border-2 border-gray-200 pb-1 pt-4 text-center hover:border-blue-500",key:t.code,onClick:W=>D(t.code)},[y("div",Re,[(n(),P(q(t.icon),{class:"h-10 w-10"}))]),y("div",Oe,_(t.name),1)],8,Ee))),128))])]),_:1}),u(a(O),{title:"选择微信支付",class:"mt-4"},{default:i(()=>[y("div",De,[(n(!0),g($,null,j(a(We),t=>(n(),g("div",{class:"mr-4 w-40 cursor-pointer items-center border-2 border-gray-200 pb-1 pt-4 text-center hover:border-blue-500",key:t.code,onClick:W=>D(t.code)},[y("div",$e,[(n(),P(q(t.icon),{class:"h-10 w-10"}))]),y("div",je,_(t.name),1)],8,Le))),128))])]),_:1}),u(a(O),{title:"选择其它支付",class:"mt-4"},{default:i(()=>[y("div",qe,[(n(!0),g($,null,j(a(Be),t=>(n(),g("div",{class:"mr-4 w-40 cursor-pointer items-center border-2 border-gray-200 pb-1 pt-4 text-center hover:border-blue-500",key:t.code,onClick:W=>D(t.code)},[y("div",Qe,[(n(),P(q(t.icon),{class:"h-10 w-10"}))]),y("div",Te,_(t.name),1)],8,Me))),128))])]),_:1}),u(a(w),{class:"w-2/5",title:k.value},{default:i(()=>[R.value.visible?(n(),P(a(we),{key:0,value:R.value.url},null,8,["value"])):M("",!0),p.value.visible?(n(),P(a(oe),{key:1,value:p.value.value,"onUpdate:value":l[0]||(l[0]=t=>p.value.value=t),placeholder:"请输入条形码",required:""},null,8,["value"])):M("",!0),p.value.visible?(n(),g("div",Ve,[l[2]||(l[2]=b(" 或使用 ",-1)),u(a(le),{type:"link",danger:"",target:"_blank",href:"https://baike.baidu.com/item/条码支付/10711903"},{default:i(()=>[...l[1]||(l[1]=[b(" (扫码枪/扫码盒) ",-1)])]),_:1}),l[3]||(l[3]=b(" 扫码 ",-1))])):M("",!0)]),_:1},8,["title"])]),_:1}))}});export{rt as default};
|