2 lines
5.5 KiB
JavaScript
2 lines
5.5 KiB
JavaScript
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[309],{309:function(s,a,t){t.r(a),t.d(a,{default:function(){return U}});var i=t(6768),n=t(4232),c=t(5130);const e={class:"subscribe-page"},o={class:"container"},d={class:"content-section"},r={class:"subscribe-card"},l={class:"card-footer"},h=["disabled"],u={class:"payment-modal"},p={class:"modal-header"},v={class:"modal-body"},k={class:"qr-container"},f=["src"],b={key:1,class:"loading-qr"},L={class:"notification-area"},g={class:"modal-footer"},y=["disabled"];function m(s,a,t,m,w,C){const P=(0,i.g2)("Navbar");return(0,i.uX)(),(0,i.CE)("div",e,[(0,i.bF)(P),(0,i.Lk)("div",o,[a[5]||(a[5]=(0,i.Lk)("div",{class:"header-section"},[(0,i.Lk)("h1",{class:"page-title"},"支持我们"),(0,i.Lk)("div",{class:"control-card"},[(0,i.Lk)("p",{class:"description"},"所有赞助收入都将用于网站服务的维护")])],-1)),(0,i.Lk)("div",d,[(0,i.Lk)("div",r,[a[4]||(a[4]=(0,i.Fv)('<div class="card-header" data-v-52389d56><h2 data-v-52389d56>赞助服务</h2><div class="price" data-v-52389d56><span class="currency" data-v-52389d56>¥</span><span class="integer" data-v-52389d56>9</span><span class="decimal" data-v-52389d56>.90</span></div></div><div class="card-body" data-v-52389d56><ul class="privileges-list" data-v-52389d56><li data-v-52389d56><span class="icon" data-v-52389d56>🚀</span><span class="text" data-v-52389d56>高速下载通道</span></li><li data-v-52389d56><span class="icon" data-v-52389d56>💰</span><span class="text" data-v-52389d56>5000东币</span></li><li data-v-52389d56><span class="icon" data-v-52389d56>💬</span><span class="text" data-v-52389d56>100次课程评分追问机会</span></li><li data-v-52389d56><span class="icon" data-v-52389d56>✨</span><span class="text" data-v-52389d56>炫彩昵称</span></li></ul></div>',2)),(0,i.Lk)("div",l,[(0,i.Lk)("button",{class:"purchase-btn",disabled:!C.canPurchase,onClick:a[0]||(a[0]=(...s)=>C.handlePurchase&&C.handlePurchase(...s))},(0,n.v_)(C.buttonText),9,h)])])])]),w.showPaymentModal?((0,i.uX)(),(0,i.CE)("div",{key:0,class:"modal-overlay",onClick:a[3]||(a[3]=(0,c.D$)(((...s)=>C.closeModal&&C.closeModal(...s)),["self"]))},[(0,i.Lk)("div",u,[(0,i.Lk)("div",p,[a[6]||(a[6]=(0,i.Lk)("h3",null,"扫码支付",-1)),(0,i.Lk)("button",{class:"close-btn",onClick:a[1]||(a[1]=(...s)=>C.closeModal&&C.closeModal(...s))},"×")]),(0,i.Lk)("div",v,[a[7]||(a[7]=(0,i.Lk)("p",{class:"instruction"},"请使用微信扫一扫支付",-1)),a[8]||(a[8]=(0,i.Lk)("p",{class:"sub-instruction"},"暂不支持保存图片到扫一扫打开",-1)),(0,i.Lk)("div",k,[w.qrUrl?((0,i.uX)(),(0,i.CE)("img",{key:0,src:w.qrUrl,alt:"支付二维码",class:"qr-code"},null,8,f)):((0,i.uX)(),(0,i.CE)("div",b,"二维码加载中..."))]),(0,i.Lk)("div",L,[(0,i.Lk)("p",{class:(0,n.C4)(["notification",w.notificationType])},(0,n.v_)(w.notification||"请在支付完成后点击下方按钮"),3)]),a[9]||(a[9]=(0,i.Lk)("div",{class:"support-area"},[(0,i.Lk)("p",{class:"support-text"},[(0,i.eW)("如果支付遇到问题,请务必"),(0,i.Lk)("a",{href:"/about",target:"_blank",class:"support-link"},"联系我们")])],-1))]),(0,i.Lk)("div",g,[(0,i.Lk)("button",{class:"complete-btn",disabled:w.isCheckingStatus,onClick:a[2]||(a[2]=(...s)=>C.checkPaymentStatus&&C.checkPaymentStatus(...s))},(0,n.v_)(w.isCheckingStatus?"查询中...":"支付完成"),9,y)])])])):(0,i.Q3)("",!0)])}var w=t(5302),C=t(8704),P=t(4373),A=t(4993),x={name:"Subscribe",components:{Navbar:w.A},data(){return{isLogin:!1,isVip:!1,loading:!0,showPaymentModal:!1,qrUrl:"",orderUuid:"",notification:"",notificationType:"info",isCheckingStatus:!1}},computed:{canPurchase(){return this.isLogin&&!this.isVip},buttonText(){return this.isLogin?this.isVip?"您已拥有":"立即购买":"请先登录"}},mounted(){this.checkLoginStatus(),document.title="支持我们 - NEU小站"},methods:{async checkLoginStatus(){const s=C.A.get("token");if(!s)return this.isLogin=!1,void(this.loading=!1);this.isLogin=!0,await this.checkVipStatus(),this.loading=!1},async checkVipStatus(){try{const s=C.A.get("token"),a=await P.A.get("https://newfront.xn--xhq44jb2fzpc.com/subscribe/vip",{headers:{Authorization:s}});this.isVip=a.data.is_vip}catch(s){console.error("获取VIP状态失败:",s)}},async handlePurchase(){if(this.canPurchase)try{const s=C.A.get("token"),a=await P.A.get("https://newfront.xn--xhq44jb2fzpc.com/subscribe/order",{headers:{Authorization:s}});this.qrUrl=a.data.qr_url,this.orderUuid=a.data.uuid,this.showPaymentModal=!0,this.notification=""}catch(s){s.response&&403===s.response.status?(this.isVip=!0,A.A.alert(s.response.data.error||"您已经是VIP会员","提示")):(console.error("创建订单失败:",s),A.A.alert("创建订单失败,请稍后重试","错误"))}},async checkPaymentStatus(){if(this.orderUuid){this.isCheckingStatus=!0,this.notification="";try{const s=C.A.get("token"),a=await P.A.post("https://newfront.xn--xhq44jb2fzpc.com/subscribe/status",{uuid:this.orderUuid},{headers:{Authorization:s}});a.data.is_paid?(this.notification="支付成功,请稍后...",this.notificationType="success",this.isVip=!0,setTimeout((()=>{window.location.reload()}),3e3)):(this.notification="尚未检测到支付完成,请稍后重试",this.notificationType="info")}catch(s){console.error("查询支付状态失败:",s),this.notification="查询失败,请重试",this.notificationType="error"}finally{this.isCheckingStatus=!1}}},closeModal(){this.showPaymentModal=!1,this.qrUrl="",this.orderUuid="",this.notification=""}}},S=t(1241);const q=(0,S.A)(x,[["render",m],["__scopeId","data-v-52389d56"]]);var U=q}}]);
|
||
//# sourceMappingURL=309.3e4d9726.js.map
|