SYN/public/mobile/assets/packages-pages-recharge-rec...

2 lines
15 KiB
JavaScript

var e=Object.defineProperty;import{d as t,c as a,b2 as s,o as l,b as r,w as i,e as o,j as n,n as u,E as d,l as c,t as p,x as h,p as m,a4 as f,r as y,a as _,aj as w,b3 as b,b4 as g,a7 as x,z as S,aU as v,Z as C,A as D,g as k,F as I,h as z,b5 as P,aa as A,b6 as N,b7 as $,b8 as j,aM as E,X as L,a9 as U,G as V,I as F,$ as O,aG as R,i as B}from"./index-616cf5a9.js";import{_ as W}from"./page-meta.5f39d1f3.js";import{_ as T}from"./u-button.d95a65ed.js";import{_ as G}from"./u-empty.77726ae7.js";import{_ as q}from"./_plugin-vue_export-helper.1b428a4d.js";import{_ as H}from"./u-icon.9ed44c42.js";import{E as M}from"./emitter.1571a5d9.js";import{_ as X,g as Y,a as J,p as K}from"./pay.bec7f2c6.js";import{_ as Q}from"./u-popup.80eba078.js";import{u as Z}from"./useLockFn.8474af8a.js";import{r as ee,a as te}from"./recharge.811a062b.js";import"./u-loading.5f3e061b.js";const ae=q(t({__name:"price",props:{content:{default:""},prec:{default:2},autoPrec:{type:Boolean,default:!0},color:{default:"#FA8919"},mainSize:{default:"36rpx"},minorSize:{default:"28rpx"},lineThrough:{type:Boolean,default:!1},fontWeight:{default:"normal"},prefix:{default:"¥"},suffix:{default:""}},setup(e){const t=e,y=a((()=>s({price:t.content,take:"int"}))),_=a((()=>{let e=s({price:t.content,take:"dec",prec:t.prec});return e=e%10==0?e.substr(0,e.length-1):e,t.autoPrec?1*e?"."+e:"":t.prec?"."+e:""}));return(t,a)=>{const s=m,w=f;return l(),r(s,{class:"price-container"},{default:i((()=>[o(s,{class:n(["price-wrap",{"price-wrap--disabled":e.lineThrough}]),style:u({color:e.color})},{default:i((()=>[o(s,{class:"fix-pre",style:u({fontSize:e.minorSize})},{default:i((()=>[d(t.$slots,"prefix",{},(()=>[c(p(e.prefix),1)]),!0)])),_:3},8,["style"]),o(s,{style:u({"font-weight":e.fontWeight})},{default:i((()=>[o(w,{style:u({fontSize:e.mainSize})},{default:i((()=>[c(p(h(y)),1)])),_:1},8,["style"]),o(w,{style:u({fontSize:e.minorSize})},{default:i((()=>[c(p(h(_)),1)])),_:1},8,["style"])])),_:1},8,["style"]),o(s,{class:"fix-suf",style:u({fontSize:e.minorSize})},{default:i((()=>[d(t.$slots,"suffix",{},(()=>[c(p(e.suffix),1)]),!0)])),_:3},8,["style"])])),_:3},8,["class","style"])])),_:3})}}}),[["__scopeId","data-v-a74822ce"]]);const se=q({name:"u-radio",emits:["change"],props:{name:{type:[String,Number],default:""},size:{type:[String,Number],default:34},shape:{type:String,default:""},disabled:{type:[String,Boolean],default:""},labelDisabled:{type:[String,Boolean],default:""},activeColor:{type:String,default:""},iconSize:{type:[String,Number],default:""},labelSize:{type:[String,Number],default:""}},data:()=>({parentData:{iconSize:null,labelDisabled:null,disabled:null,shape:null,activeColor:null,size:null,width:null,height:null,value:null,wrap:null}}),created(){this.parent=!1,this.updateParentData(),this.parent.children.push(this)},computed:{elDisabled(){return""!==this.disabled?this.disabled:null!==this.parentData.disabled&&this.parentData.disabled},elLabelDisabled(){return""!==this.labelDisabled?this.labelDisabled:null!==this.parentData.labelDisabled&&this.parentData.labelDisabled},elSize(){return this.size?this.size:this.parentData.size?this.parentData.size:34},elIconSize(){return this.iconSize?this.iconSize:this.parentData.iconSize?this.parentData.iconSize:20},elActiveColor(){return this.activeColor?this.activeColor:this.parentData.activeColor?this.parentData.activeColor:"primary"},elShape(){return this.shape?this.shape:this.parentData.shape?this.parentData.shape:"circle"},iconStyle(){let e={};return this.elActiveColor&&this.parentData.value===this.name&&!this.elDisabled&&(e.borderColor=this.elActiveColor,e.backgroundColor=this.elActiveColor),e.width=this.$u.addUnit(this.elSize),e.height=this.$u.addUnit(this.elSize),e},iconColor(){return this.name===this.parentData.value?"#ffffff":"transparent"},iconClass(){let e=[];return e.push("u-radio__icon-wrap--"+this.elShape),this.name===this.parentData.value&&e.push("u-radio__icon-wrap--checked"),this.elDisabled&&e.push("u-radio__icon-wrap--disabled"),this.name===this.parentData.value&&this.elDisabled&&e.push("u-radio__icon-wrap--disabled--checked"),e.join(" ")},radioStyle(){let e={};return this.parentData.width&&(e.width=this.$u.addUnit(this.parentData.width),e.flex=`0 0 ${this.$u.addUnit(this.parentData.width)}`),this.parentData.wrap&&(e.width="100%",e.flex="0 0 100%"),e}},methods:{updateParentData(){this.getParentData("u-radio-group")},onClickLabel(){this.elLabelDisabled||this.elDisabled||this.setRadioCheckedStatus()},toggle(){this.elDisabled||this.setRadioCheckedStatus()},emitEvent(){this.parentData.value!=this.name&&this.$emit("change",this.name)},setRadioCheckedStatus(){this.emitEvent(),this.parent&&(this.parent.setValue(this.name),this.parentData.value=this.name)}}},[["render",function(e,t,a,s,c,p){const h=y(_("u-icon"),H),f=m;return l(),r(f,{class:"u-radio",style:u([p.radioStyle])},{default:i((()=>[o(f,{class:n(["u-radio__icon-wrap",[p.iconClass]]),onClick:p.toggle,style:u([p.iconStyle])},{default:i((()=>[o(h,{class:"u-radio__icon-wrap__icon",name:"checkbox-mark",size:p.elIconSize,color:p.iconColor},null,8,["size","color"])])),_:1},8,["onClick","class","style"]),o(f,{class:"u-radio__label",onClick:p.onClickLabel,style:u({fontSize:e.$u.addUnit(a.labelSize)})},{default:i((()=>[d(e.$slots,"default",{},void 0,!0)])),_:3},8,["onClick","style"])])),_:3},8,["style"])}],["__scopeId","data-v-65c0e1b1"]]),le={name:"u-radio-group",emits:["update:modelValue","input","change"],mixins:[M],props:{value:{type:[String,Number],default:""},modelValue:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1},activeColor:{type:String,default:"#2979ff"},size:{type:[String,Number],default:34},labelDisabled:{type:Boolean,default:!1},shape:{type:String,default:"circle"},iconSize:{type:[String,Number],default:20},width:{type:[String,Number],default:"auto"},wrap:{type:Boolean,default:!1}},data:()=>({uFromData:{inputAlign:"left"}}),created(){this.children=[]},mounted(){let e=this.$u.$parent.call(this,"u-form");e&&Object.keys(this.uFromData).map((t=>{this.uFromData[t]=e[t]}))},watch:{parentData(){this.children.length&&this.children.map((e=>{"function"==typeof e.updateParentData&&e.updateParentData()}))}},computed:{valueCom(){return this.modelValue},parentData(){return[this.valueCom,this.disabled,this.activeColor,this.size,this.labelDisabled,this.shape,this.iconSize,this.width,this.wrap]}},methods:{setValue(e){this.children.map((t=>{t.parentData.value!=e&&(t.parentData.value="")})),this.$emit("input",e),this.$emit("update:modelValue",e),this.$emit("change",e),setTimeout((()=>{this.dispatch("u-form-item","onFieldChange",e)}),60)}}};const re=q(le,[["render",function(e,t,a,s,o,u){const c=m;return l(),r(c,{class:n(["u-radio-group u-clearfix","right"==o.uFromData.inputAlign?"flex-end":""])},{default:i((()=>[d(e.$slots,"default",{},void 0,!0)])),_:3},8,["class"])}],["__scopeId","data-v-5c6ccee1"]]),ie=class{static inject(e,t){this.modules.set(e,t)}constructor(){for(const[e,t]of ie.modules.entries())t.init(e,this)}async payment(e,t){try{const a=this[ue[e]];if(!a)throw new Error(`can not find pay way ${e}`);return await a.run(t)}catch(a){return Promise.reject(a)}}};let oe=ie;var ne;((t,a,s)=>{a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s})(oe,"symbol"!=typeof(ne="modules")?ne+"":ne,new Map);var ue=(e=>(e[e.BALANCE=1]="BALANCE",e[e.WECHAT=2]="WECHAT",e[e.ALIPAY=3]="ALIPAY",e))(ue||{});const de=new class{init(e,t){t[e]=this}async run(e){try{return await b({MP_WEIXIN:()=>new Promise((t=>{uni.requestPayment({provider:"wxpay",...e,success(){t(g.SUCCESS)},fail(){t(g.FAIL)}})})),OA_WEIXIN:()=>new Promise((t=>{x.pay(e).then((()=>{t(g.SUCCESS)})).catch((()=>{t(g.FAIL)}))})),H5:()=>new Promise((t=>{window.open(e,"_self"),t(g.PENDING)}))})}catch(t){return Promise.reject(t)}}};oe.inject(ue[2],de);const ce=new class{init(e,t){t[e]=this}openNewPage(e){w();const t=window.open("","_self");t.document.body.innerHTML=e,t.document.forms[0].submit()}async run(e){try{return await b({H5:()=>new Promise((t=>{this.openNewPage(e),t(g.PENDING)})),OA_WEIXIN:()=>new Promise((t=>{this.openNewPage(e),t(g.PENDING)})),ANDROID:()=>new Promise(((t,a)=>{uni.requestPayment({provider:"alipay",orderInfo:e,success(){t(g.SUCCESS)},fail(){t(g.FAIL)}})})),IOS:()=>new Promise(((t,a)=>{uni.requestPayment({provider:"alipay",orderInfo:e,success(){t(g.SUCCESS)},fail(){t(g.FAIL)}})}))})}catch(t){return Promise.reject(t)}}};oe.inject(ue[3],ce);const pe=new oe,he=t({__name:"payment",props:{show:{type:Boolean,required:!0},showCheck:{type:Boolean},orderId:{type:Number,required:!0},from:{type:String,required:!0},redirect:{type:String}},emits:["update:showCheck","update:show","close","success","fail"],setup(e,{emit:t}){const s=e,n=S(),u=S(v.LOADING),d=S({order_amount:"",lists:[]}),f=a({get:()=>s.showCheck,set(e){t("update:showCheck",e)}}),w=a({get:()=>s.show,set(e){t("update:show",e)}}),b=()=>{w.value=!1,t("close")},x=C(),V=N((async()=>{if(0==x.userInfo.is_auth&&[$.OA_WEIXIN,$.MP_WEIXIN].includes(j)&&n.value==ue.WECHAT)return(await E({title:"温馨提示",content:"当前账号未绑定微信,无法完成支付",confirmText:"去绑定"})).confirm&&L({url:"/pages/user_set/user_set"}),Promise.reject()}),(async()=>(U({title:"正在支付中"}),await K({order_id:s.orderId,from:s.from,pay_way:n.value,redirect:s.redirect}))),(async e=>{try{return await pe.payment(e.pay_way,e.config)}catch(t){return Promise.reject(t)}})),{isLock:F,lockFn:O}=Z((async()=>{try{const e=await V();R(e),A()}catch(e){A(),console.log(e)}})),R=e=>{switch(e){case g.SUCCESS:t("success");break;case g.FAIL:t("fail")}},B=async(e=!0)=>{0===(await Y({order_id:s.orderId,from:s.from})).pay_status?(1==e&&uni.$u.toast("您的订单还未支付,请重新支付"),w.value=!0,R(g.FAIL)):(0==e&&uni.$u.toast("您的订单已经支付,请勿重新支付"),R(g.SUCCESS)),f.value=!1};return D((()=>s.show),(e=>{if(e){if(!s.orderId)return void(u.value=v.ERROR);(async()=>{u.value=v.LOADING;try{d.value=await J({order_id:s.orderId,from:s.from}),u.value=v.NORMAL;const e=d.value.lists.find((e=>e.is_default))||d.value.lists[0];n.value=null==e?void 0:e.pay_way}catch(e){u.value=v.ERROR}})()}}),{immediate:!0}),(e,t)=>{const a=y(_("u-empty"),G),s=y(_("price"),ae),g=m,x=y(_("u-icon"),H),S=y(_("u-radio"),se),v=y(_("u-radio-group"),re),C=y(_("u-button"),T),D=y(_("page-status"),X),A=y(_("u-popup"),Q);return l(),k(I,null,[o(A,{modelValue:h(w),"onUpdate:modelValue":t[1]||(t[1]=e=>P(w)?w.value=e:null),mode:"bottom","safe-area-inset-bottom":"","mask-close-able":!1,"border-radius":"14",closeable:"",onClose:b},{default:i((()=>[o(g,{class:"h-[900rpx]"},{default:i((()=>[o(D,{status:u.value,fixed:!1},{error:i((()=>[o(a,{text:"订单信息错误,无法查询到订单信息",mode:"order"})])),default:i((()=>[o(g,{class:"payment h-full w-full flex flex-col"},{default:i((()=>[o(g,{class:"header py-[50rpx] flex flex-col items-center"},{default:i((()=>[o(s,{content:d.value.order_amount,mainSize:"44rpx",minorSize:"40rpx",fontWeight:"500",color:"#333"},null,8,["content"])])),_:1}),o(g,{class:"main flex-1 mx-[20rpx]"},{default:i((()=>[o(g,null,{default:i((()=>[o(g,{class:"payway-lists"},{default:i((()=>[o(v,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=e=>n.value=e),class:"w-full"},{default:i((()=>[(l(!0),k(I,null,z(d.value.lists,((e,t)=>(l(),r(g,{class:"p-[20rpx] flex items-center w-full payway-item",key:t,onClick:t=>{return a=e.pay_way,void(n.value=a);var a}},{default:i((()=>[o(x,{class:"flex-none",size:48,name:e.icon},null,8,["name"]),o(g,{class:"mx-[16rpx] flex-1"},{default:i((()=>[o(g,{class:"payway-item--name flex-1"},{default:i((()=>[c(p(e.name),1)])),_:2},1024),o(g,{class:"text-muted text-xs"},{default:i((()=>[c(p(e.extra),1)])),_:2},1024)])),_:2},1024),o(S,{activeColor:"var(--color-primary)",class:"mr-[-20rpx]",name:e.pay_way},null,8,["name"])])),_:2},1032,["onClick"])))),128))])),_:1},8,["modelValue"])])),_:1})])),_:1})])),_:1}),o(g,{class:"submit-btn p-[20rpx]"},{default:i((()=>[o(C,{onClick:h(O),shape:"circle",type:"primary",loading:h(F)},{default:i((()=>[c(" 立即支付 ")])),_:1},8,["onClick","loading"])])),_:1})])),_:1})])),_:1},8,["status"])])),_:1})])),_:1},8,["modelValue"]),o(A,{class:"pay-popup",modelValue:h(f),"onUpdate:modelValue":t[4]||(t[4]=e=>P(f)?f.value=e:null),round:"",mode:"center",borderRadius:"10",maskCloseAble:!1},{default:i((()=>[o(g,{class:"content bg-white w-[560rpx] p-[40rpx]"},{default:i((()=>[o(g,{class:"text-2xl font-medium text-center"},{default:i((()=>[c(" 支付确认 ")])),_:1}),o(g,{class:"pt-[30rpx] pb-[40rpx]"},{default:i((()=>[o(g,null,{default:i((()=>[c(" 请在微信内完成支付,如果您已支付成功,请点击`已完成支付`按钮 ")])),_:1})])),_:1}),o(g,{class:"flex"},{default:i((()=>[o(g,{class:"flex-1 mr-[20rpx]"},{default:i((()=>[o(C,{shape:"circle",type:"primary",plain:"",size:"medium","hover-class":"none",customStyle:{width:"100%"},onClick:t[2]||(t[2]=e=>B(!1))},{default:i((()=>[c(" 重新支付 ")])),_:1})])),_:1}),o(g,{class:"flex-1"},{default:i((()=>[o(C,{shape:"circle",type:"primary",size:"medium","hover-class":"none",customStyle:{width:"100%"},onClick:t[3]||(t[3]=e=>B())},{default:i((()=>[c(" 已完成支付 ")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}}}),me=q(he,[["__scopeId","data-v-909d81d9"]]),fe=t({__name:"recharge",setup(e){const t=S(""),a=V({orderId:"",from:"",showPay:!1,showCheck:!1,redirect:"/packages/pages/recharge/recharge"}),s=V({user_money:"",min_amount:0}),{isLock:r,lockFn:n}=Z((async()=>{const e=s.min_amount;if(!t.value)return uni.$u.toast("请输入充值金额");if(0==e&&Number(t.value)==e)return uni.$u.toast("充值金额必须大于0");if(Number(t.value)<e)return uni.$u.toast(`最低充值金额${e}`);const l=await te({money:t.value});a.orderId=l.order_id,a.from=l.from,a.showPay=!0})),u=async()=>{a.showPay=!1,a.showCheck=!1,L({url:`/pages/payment_result/payment_result?id=${a.orderId}&from=${a.from}`})},d=async()=>{uni.$u.toast("支付失败")};return F((e=>{(null==e?void 0:e.checkPay)&&(a.orderId=e.id,a.from=e.from,a.showCheck=!0)})),O((()=>{(async()=>{const e=await ee();Object.assign(s,e)})()})),(e,w)=>{const b=y(_("page-meta"),W),g=m,x=R,S=f,v=y(_("u-button"),T),C=B,D=y(_("payment"),me);return l(),k(I,null,[o(b,{"page-style":e.$theme.pageStyle},null,8,["page-style"]),o(g,{class:"recharge p-[20rpx]"},{default:i((()=>[o(g,{class:"bg-white rounded-[14rpx] p-[40rpx]"},{default:i((()=>[o(g,{class:"text-content"},{default:i((()=>[c("充值金额")])),_:1}),o(g,{class:"border-0 border-b border-solid border-light"},{default:i((()=>[o(x,{modelValue:t.value,"onUpdate:modelValue":w[0]||(w[0]=e=>t.value=e),class:"text-[60rpx] h-[60rpx] py-[24rpx]",placeholder:"0.00",type:"digit"},null,8,["modelValue"])])),_:1}),o(g,{class:"mt-[20rpx] text-xs text-muted"},{default:i((()=>[c(" 当前可用余额 "),o(S,{class:"text-primary"},{default:i((()=>[c(p(s.user_money),1)])),_:1})])),_:1})])),_:1}),o(g,{class:"mt-[40rpx]"},{default:i((()=>[o(v,{loading:h(r),type:"primary",shape:"circle",onClick:h(n)},{default:i((()=>[c(" 立即充值 ")])),_:1},8,["loading","onClick"])])),_:1}),o(g,{class:"flex justify-center m-[60rpx]"},{default:i((()=>[o(C,{url:"/packages/pages/recharge_record/recharge_record","hover-class":"none"},{default:i((()=>[o(S,{class:"text-content text-sm"},{default:i((()=>[c("充值记录")])),_:1})])),_:1})])),_:1}),o(D,{show:a.showPay,"onUpdate:show":w[1]||(w[1]=e=>a.showPay=e),"show-check":a.showCheck,"onUpdate:showCheck":w[2]||(w[2]=e=>a.showCheck=e),"order-id":a.orderId,from:a.from,redirect:a.redirect,onSuccess:u,onFail:d},null,8,["show","show-check","order-id","from","redirect"])])),_:1})],64)}}});export{fe as default};