2 lines
5.3 KiB
JavaScript
2 lines
5.3 KiB
JavaScript
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[531],{1531:function(a,s,t){t.r(s),t.d(s,{default:function(){return A}});var i=t(6768),e=t(4232),n=t(5130);const c={class:"subscribe-page"},o={class:"container"},r={class:"content-section"},d={class:"subscribe-card"},l={class:"card-footer"},h=["disabled"],u={class:"payment-modal"},p={class:"modal-header"},f={class:"modal-body"},v={class:"qr-container"},k=["src"],b={key:1,class:"loading-qr"},y={class:"notification-area"},g={class:"modal-footer"},L=["disabled"];function m(a,s,t,m,w,C){const P=(0,i.g2)("Navbar");return(0,i.uX)(),(0,i.CE)("div",c,[(0,i.bF)(P),(0,i.Lk)("div",o,[s[5]||(s[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",r,[(0,i.Lk)("div",d,[s[4]||(s[4]=(0,i.Fv)('<div class="card-header" data-v-23a495fe><h2 data-v-23a495fe>赞助服务</h2><div class="price" data-v-23a495fe><span class="currency" data-v-23a495fe>¥</span><span class="integer" data-v-23a495fe>9</span><span class="decimal" data-v-23a495fe>.90</span></div></div><div class="card-body" data-v-23a495fe><ul class="privileges-list" data-v-23a495fe><li data-v-23a495fe><span class="icon" data-v-23a495fe>🚀</span><span class="text" data-v-23a495fe>高速下载通道</span></li><li data-v-23a495fe><span class="icon" data-v-23a495fe>💰</span><span class="text" data-v-23a495fe>5000东币</span></li><li data-v-23a495fe><span class="icon" data-v-23a495fe>💬</span><span class="text" data-v-23a495fe>100次课程评分追问机会</span></li><li data-v-23a495fe><span class="icon" data-v-23a495fe>✨</span><span class="text" data-v-23a495fe>炫彩昵称</span></li></ul></div>',2)),(0,i.Lk)("div",l,[(0,i.Lk)("button",{class:"purchase-btn",disabled:!C.canPurchase,onClick:s[0]||(s[0]=(...a)=>C.handlePurchase&&C.handlePurchase(...a))},(0,e.v_)(C.buttonText),9,h)])])])]),w.showPaymentModal?((0,i.uX)(),(0,i.CE)("div",{key:0,class:"modal-overlay",onClick:s[3]||(s[3]=(0,n.D$)(((...a)=>C.closeModal&&C.closeModal(...a)),["self"]))},[(0,i.Lk)("div",u,[(0,i.Lk)("div",p,[s[6]||(s[6]=(0,i.Lk)("h3",null,"扫码支付",-1)),(0,i.Lk)("button",{class:"close-btn",onClick:s[1]||(s[1]=(...a)=>C.closeModal&&C.closeModal(...a))},"×")]),(0,i.Lk)("div",f,[s[7]||(s[7]=(0,i.Lk)("p",{class:"instruction"},"请使用微信扫一扫支付",-1)),s[8]||(s[8]=(0,i.Lk)("p",{class:"sub-instruction"},"支持保存图片到扫一扫打开",-1)),(0,i.Lk)("div",v,[w.qrUrl?((0,i.uX)(),(0,i.CE)("img",{key:0,src:w.qrUrl,alt:"支付二维码",class:"qr-code"},null,8,k)):((0,i.uX)(),(0,i.CE)("div",b,"二维码加载中..."))]),(0,i.Lk)("div",y,[w.notification?((0,i.uX)(),(0,i.CE)("p",{key:0,class:(0,e.C4)(["notification",w.notificationType])},(0,e.v_)(w.notification),3)):(0,i.Q3)("",!0)])]),(0,i.Lk)("div",g,[(0,i.Lk)("button",{class:"complete-btn",disabled:w.isCheckingStatus,onClick:s[2]||(s[2]=(...a)=>C.checkPaymentStatus&&C.checkPaymentStatus(...a))},(0,e.v_)(w.isCheckingStatus?"查询中...":"支付完成"),9,L)])])])):(0,i.Q3)("",!0)])}var w=t(5302),C=t(8704),P=t(4373),S={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 a=C.A.get("token");if(!a)return this.isLogin=!1,void(this.loading=!1);this.isLogin=!0,await this.checkVipStatus(),this.loading=!1},async checkVipStatus(){try{const a=C.A.get("token"),s=await P.A.get("https://newfront.xn--xhq44jb2fzpc.com/subscribe/vip",{headers:{Authorization:a}});this.isVip=s.data.is_vip}catch(a){console.error("获取VIP状态失败:",a)}},async handlePurchase(){if(this.canPurchase)try{const a=C.A.get("token"),s=await P.A.get("https://newfront.xn--xhq44jb2fzpc.com/subscribe/order",{headers:{Authorization:a}});this.qrUrl=s.data.qr_url,this.orderUuid=s.data.uuid,this.showPaymentModal=!0,this.notification=""}catch(a){a.response&&403===a.response.status?(this.isVip=!0,alert(a.response.data.error||"您已经是VIP会员")):(console.error("创建订单失败:",a),alert("创建订单失败,请稍后重试"))}},async checkPaymentStatus(){if(this.orderUuid){this.isCheckingStatus=!0,this.notification="";try{const a=C.A.get("token"),s=await P.A.post("https://newfront.xn--xhq44jb2fzpc.com/subscribe/status",{uuid:this.orderUuid},{headers:{Authorization:a}});s.data.is_paid?(this.notification="支付成功,请稍后...",this.notificationType="success",this.isVip=!0,setTimeout((()=>{window.location.reload()}),3e3)):(this.notification="尚未检测到支付完成,请稍后重试",this.notificationType="info")}catch(a){console.error("查询支付状态失败:",a),this.notification="查询失败,请重试",this.notificationType="error"}finally{this.isCheckingStatus=!1}}},closeModal(){this.showPaymentModal=!1,this.qrUrl="",this.orderUuid="",this.notification=""}}},q=t(1241);const x=(0,q.A)(S,[["render",m],["__scopeId","data-v-23a495fe"]]);var A=x}}]);
|
||
//# sourceMappingURL=531.ea3532db.js.map
|