// pages/my-account/index.js import { getProductHot } from '../../api/store.js'; import { coinTransfer } from '../../api/mine.js' import { openRechargeSubscribe } from '../../utils/SubscribeMessage.js'; import { getUserInfo, userActivity } from '../../api/user.js'; import d from '../../utils/d.js'; const app = getApp(); Page({ /** * 页面的初始数据 */ data: { parameter: { 'navbar': '1', 'return': '1', 'title': '钱包', 'color': false, }, showPopup: false, transferAmount: 0, // int 转出数量 transferSymbol: '', // 转的种类 isHidden: false, userInfo: {}, host_product: [], isClose: false, recharge_switch: 0, activity: { is_pink: false, is_seckill: false, is_bargin: false } }, /** * 登录回调 */ onLoadFun: function () { this.getUserInfo(); this.get_host_product(); // this.get_activity(); }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if (app.globalData.token) this.setData({ isHidden: true }); }, openSubscribe: function (e) { let page = e.currentTarget.dataset.url; wx.showLoading({ title: '正在加载', }) openRechargeSubscribe().then(res => { wx.hideLoading(); wx.navigateTo({ url: page, }); }).catch(() => { wx.hideLoading(); }); }, // 点击币 onTapCoinItem: function (ev) { // get amount let amount = 0; for (let i = 0; i < this.data.userInfo.coins.length; i++) { if (this.data.userInfo.coins[i].symbol === ev.currentTarget.dataset.id) { amount = this.data.userInfo.coins[i].total; } } // check total to be transfered if (amount < 1) { wx.showToast({ title: '金额不足以转入', }) return } this.setData({ transferAmount: Math.floor(amount), transferSymbol: ev.currentTarget.dataset.id, showPopup: true, }) }, onConfirmTransfer: function () { this.onCancelTransfer() // check if input value valid const regex = new RegExp('^[0-9]+$') if (!regex.test(this.data.transferAmount)) { wx.showToast({ title: '您的输入有误', }) return } // check if value great than total let total = 0 for (let i = 0; i < this.data.userInfo.coins.length; i++) { if (this.data.userInfo.coins[i].symbol === this.data.transferSymbol) { total = this.data.userInfo.coins[i].total; } } if (total < 1 || this.data.transferAmount > total) { wx.showToast({ title: '输入错误', }) return } // call API let that = this coinTransfer(this.data.transferAmount, this.data.transferSymbol).then(res => { wx.showToast({ title: '转出成功', }) that.getUserInfo(); }).catch(err => { wx.showToast({ title: err, }) }) }, onCancelTransfer: function () { this.setData({ showPopup: false, }) }, /** * 获取用户详情 */ getUserInfo: function () { let that = this; getUserInfo().then(res => { that.setData({ userInfo: res.data, recharge_switch: res.data.recharge_switch }); // app.globalData.unread = res.data.notice app.setUnread(res.data.notice) }); }, /** * 获取活动可参与否 */ get_activity: function () { var that = this; userActivity().then(res => { that.setData({ activity: res.data }); }) }, /** * 获取我的推荐 */ get_host_product: function () { var that = this; getProductHot().then(res => { that.setData({ host_product: res.data }); }) }, /** * 生命周期函数--监听页面显示 */ onShow: function () { if (app.globalData.isLog && this.data.isClose) { this.getUserInfo(); this.get_host_product(); // this.get_activity(); this.setData({ isHidden: true }); } }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { this.setData({ isClose: true }); }, })