188 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			188 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var e = getApp();
 | ||
| 
 | ||
| Page({
 | ||
|     data: {
 | ||
|         isVip: false,
 | ||
|         startTime: "--",
 | ||
|         endTime: "--",
 | ||
|         selectedType: null,
 | ||
|         cards: [],
 | ||
|         isQuota: false,
 | ||
|         show: false,
 | ||
|         isIOS: false, // 是否为 iOS 系统
 | ||
|     },
 | ||
|     onLoad: function (e) {
 | ||
|       const that = this;
 | ||
|       getApp().check_status()
 | ||
|           .then(function(res) {
 | ||
|               that.setData({
 | ||
|                   show: res.data.data.show
 | ||
|               });
 | ||
|               if (!that.data.show) {
 | ||
|                 wx.showModal({
 | ||
|                     title: "提示",
 | ||
|                     content: "iOS 暂时无法使用此功能,请稍后再试。",
 | ||
|                     showCancel: false,
 | ||
|                     confirmText: "知道了",
 | ||
|                     success: () => {
 | ||
|                         // 可选:用户确认后返回上一级页面
 | ||
|                         wx.reLaunch({
 | ||
|                           url: "/pages/index/index",
 | ||
|                         })
 | ||
|                     }
 | ||
|                 });
 | ||
|                 return; // 停止执行后续逻辑
 | ||
|             }
 | ||
|           })
 | ||
|           .catch(function(err) {
 | ||
|               console.error("获取文章信息失败:", err);
 | ||
|           })
 | ||
|           .finally(function() {
 | ||
|               console.log("check_status调用完成");
 | ||
|           });
 | ||
|         // 使用 wx.getDeviceInfo() 检测系统是否为 iOS
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         // 非 iOS 系统,继续加载页面逻辑
 | ||
|         var t = wx.getStorageSync("cards").filter(function (t) {
 | ||
|             return t.is_quota === JSON.parse(e.isQuota || "false");
 | ||
|         });
 | ||
| 
 | ||
|         console.log("renderCards", t);
 | ||
|         this.setData({
 | ||
|             cards: t,
 | ||
|             isQuota: JSON.parse(e.isQuota || "false"),
 | ||
|         });
 | ||
|     },
 | ||
| 
 | ||
| 
 | ||
|     onRecharge: function (e) {
 | ||
|         this.setData({
 | ||
|             selectedType: e.currentTarget.dataset.type,
 | ||
|         });
 | ||
|     },
 | ||
|     // open_button: function (e) {
 | ||
|     //     // 如果是 iOS,弹出提示框(备用逻辑)
 | ||
|     //     if (this.data.isIOS) {
 | ||
|     //         wx.showModal({
 | ||
|     //             title: "提示",
 | ||
|     //             content: "iOS 暂时无法使用此功能,请稍后再试。",
 | ||
|     //             showCancel: false,
 | ||
|     //             confirmText: "知道了",
 | ||
|     //         });
 | ||
|     //         return;
 | ||
|     //     }
 | ||
| 
 | ||
|     //     // 非 iOS 正常跳转到支付小程序
 | ||
|     //     var t = e.currentTarget.dataset.type,
 | ||
|     //         n = e.currentTarget.dataset.price;
 | ||
|     //     this.setData({
 | ||
|     //         selectedType: t,
 | ||
|     //     }),
 | ||
|     //         console.log(t, n),
 | ||
|     //         wx.navigateToMiniProgram({
 | ||
|     //             appId: "wxbe54dfa3311e0443",
 | ||
|     //             path: "pages/payment/payment?type="
 | ||
|     //                 .concat(t, "&externalOpenid=")
 | ||
|     //                 .concat(wx.getStorageSync("openid"), "&total_fee=")
 | ||
|     //                 .concat(n, "&transaction_type=member&isDebug=false"),
 | ||
|     //             envVersion: "release",
 | ||
|     //             success: function (e) {
 | ||
|     //                 console.log("跳转到支付小程序成功", e);
 | ||
|     //             },
 | ||
|     //             fail: function (e) {
 | ||
|     //                 console.error("跳转到支付小程序失败", e);
 | ||
|     //             },
 | ||
|     //         });
 | ||
|     // },
 | ||
|     open_button: function(t) {
 | ||
|       var n = t.currentTarget.dataset.type, o = t.currentTarget.dataset.price;
 | ||
|       this.setData({
 | ||
|           selectedType: n
 | ||
|       }), console.log(t), e.apiRequest({
 | ||
|           url: "/myapp/wx_pay/",
 | ||
|           method: "POST",
 | ||
|           data: {
 | ||
|               type: n,
 | ||
|               openid: wx.getStorageSync("openid"),
 | ||
|               total_fee: o,
 | ||
|               transaction_type: "member"
 | ||
|           },
 | ||
|           success: function(t) {
 | ||
|               console.log(t), t.data && t.data.paySign ? wx.requestPayment({
 | ||
|                   timeStamp: t.data.timeStamp,
 | ||
|                   nonceStr: t.data.nonceStr,
 | ||
|                   package: t.data.package,
 | ||
|                   signType: "RSA",
 | ||
|                   paySign: t.data.paySign,
 | ||
|                   success: function(t) {
 | ||
|                       e.getinfo().then(function() {
 | ||
|                           console.log(wx.getStorageSync("cards")), wx.navigateBack({
 | ||
|                               delta: 1,
 | ||
|                               success: function(e) {
 | ||
|                                   console.log("返回上一页成功");
 | ||
|                               }
 | ||
|                           });
 | ||
|                       }).catch(function(e) {
 | ||
|                           console.error("An error occurred:", e);
 | ||
|                       }), console.log(t), wx.showToast({
 | ||
|                           title: "支付成功",
 | ||
|                           icon: "success"
 | ||
|                       });
 | ||
|                   },
 | ||
|                   fail: function(e) {
 | ||
|                       wx.showToast({
 | ||
|                           title: "支付失败",
 | ||
|                           icon: "error"
 | ||
|                       });
 | ||
|                   }
 | ||
|               }) : wx.showToast({
 | ||
|                   title: "创建订单失败",
 | ||
|                   icon: "error"
 | ||
|               });
 | ||
|           }
 | ||
|       });
 | ||
|   },
 | ||
|     onReady: function () {},
 | ||
|     onShow: function () {
 | ||
|         var t = this;
 | ||
|         e.getUserInfo()
 | ||
|             .then(function () {
 | ||
|                 t.setData({
 | ||
|                     isVip: wx.getStorageSync("isMember"),
 | ||
|                     startTime: t.formatEndTime(wx.getStorageSync("startTime")),
 | ||
|                     endTime: t.formatEndTime(wx.getStorageSync("endTime")),
 | ||
|                 });
 | ||
|             })
 | ||
|             .catch(function (e) {
 | ||
|                 console.error("获取用户信息失败:", e);
 | ||
|             })
 | ||
|             .finally(function () {
 | ||
|                 console.log("getUserInfo调用完成");
 | ||
|             });
 | ||
| 
 | ||
|             //
 | ||
| 
 | ||
|     },
 | ||
|     formatEndTime: function(e) {
 | ||
|         // 将秒时间戳转换为毫秒时间戳
 | ||
|         var date = new Date(e * 1000);
 | ||
| 
 | ||
|         // 格式化为“YYYY年MM月DD日”
 | ||
|         var year = date.getFullYear();
 | ||
|         var month = String(date.getMonth() + 1).padStart(2, "0"); // 月份从 0 开始,需要 +1
 | ||
|         var day = String(date.getDate()).padStart(2, "0");
 | ||
| 
 | ||
|         var formattedDate = `${year}-${month}-${day}`;
 | ||
| 
 | ||
|        return formattedDate
 | ||
| 
 | ||
|   },
 | ||
|     onHide: function () {},
 | ||
|     onUnload: function () {},
 | ||
|     onPullDownRefresh: function () {},
 | ||
|     onReachBottom: function () {},
 | ||
|     onShareAppMessage: function () {},
 | ||
| });
 | 
