2 lines
5.3 KiB
JavaScript
2 lines
5.3 KiB
JavaScript
"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[700],{9700:function(s,a,t){t.r(a),t.d(a,{default:function(){return A}});var i=t(6768),e=t(4232),c=t(5130);const n={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(s,a,t,m,w,C){const P=(0,i.g2)("Navbar");return(0,i.uX)(),(0,i.CE)("div",n,[(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",r,[(0,i.Lk)("div",d,[a[4]||(a[4]=(0,i.Fv)('<div class="card-header" data-v-7fec23e8><h2 data-v-7fec23e8>赞助服务</h2><div class="price" data-v-7fec23e8><span class="currency" data-v-7fec23e8>¥</span><span class="integer" data-v-7fec23e8>9</span><span class="decimal" data-v-7fec23e8>.90</span></div></div><div class="card-body" data-v-7fec23e8><ul class="privileges-list" data-v-7fec23e8><li data-v-7fec23e8><span class="icon" data-v-7fec23e8>🚀</span><span class="text" data-v-7fec23e8>高速下载通道</span></li><li data-v-7fec23e8><span class="icon" data-v-7fec23e8>💰</span><span class="text" data-v-7fec23e8>5000东币</span></li><li data-v-7fec23e8><span class="icon" data-v-7fec23e8>💬</span><span class="text" data-v-7fec23e8>100次课程评分追问机会</span></li><li data-v-7fec23e8><span class="icon" data-v-7fec23e8>✨</span><span class="text" data-v-7fec23e8>炫彩昵称</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,e.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",f,[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",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:a[2]||(a[2]=(...s)=>C.checkPaymentStatus&&C.checkPaymentStatus(...s))},(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 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,alert(s.response.data.error||"您已经是VIP会员")):(console.error("创建订单失败:",s),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=""}}},q=t(1241);const x=(0,q.A)(S,[["render",m],["__scopeId","data-v-7fec23e8"]]);var A=x}}]);
|
||
//# sourceMappingURL=700.773842f1.js.map
|