const auth = require('../../utils/auth'); function normalizeAuthStatus(v) { if (v == null || v === '') return 0; const n = Number(v); return Number.isNaN(n) ? 0 : n; } /** 0 未认证 | 1 审核中 | 2 审核通过 | 3 审核失败 | 4 已取消 */ function authStatusText(status) { const map = { 0: '未认证', 1: '审核中', 2: '审核通过', 3: '审核失败', 4: '已取消' }; return map[normalizeAuthStatus(status)] || '未认证'; } function maskPhone(phone) { if (!phone || phone.length < 7) return phone || ''; return phone.substring(0, 3) + '****' + phone.substring(7); } Page({ data: { loggedIn: false, profile: {}, maskedPhone: '', authStatus: 0, authStatusText: '未认证' }, onShow() { const accessToken = wx.getStorageSync('accessToken') || ''; if (!accessToken) { this.setData({ loggedIn: false, profile: {}, maskedPhone: '', authStatus: 0, authStatusText: '未认证' }); return; } this.setData({ loggedIn: true }); this.loadProfile(); }, onPullDownRefresh() { this.loadProfile().finally(() => wx.stopPullDownRefresh()); }, loadProfile() { return auth .fetchMyProfile() .then((profile) => { const p = profile || {}; const st = normalizeAuthStatus(p.authStatus != null ? p.authStatus : p.AuthStatus); const phone = p.mobile || p.phone || ''; this.setData({ profile: p, maskedPhone: maskPhone(phone), authStatusText: authStatusText(st), authStatus: st }); }) .catch(() => {}); }, goToLogin() { wx.navigateTo({ url: '/subpackages/mine/login/login' }); }, goToPoints() { wx.navigateTo({ url: '/subpackages/mine/points/points' }); }, goToCert() { wx.navigateTo({ url: '/subpackages/mine/cert/cert' }); }, goToRecords() { wx.navigateTo({ url: '/subpackages/mine/records/records' }); }, goToAuth() { wx.navigateTo({ url: '/subpackages/mine/auth/auth' }); }, goToOrders() { wx.navigateTo({ url: '/subpackages/mine/order/order' }); }, goToTeam() { wx.navigateTo({ url: '/subpackages/mine/team/team' }); }, onChooseAvatar() { wx.chooseMedia({ count: 1, mediaType: ['image'], sourceType: ['album', 'camera'], success: (res) => { const tempFilePath = res.tempFiles[0].tempFilePath; this.setData({ 'profile.avatar': tempFilePath }); // TODO: 上传头像到服务器 } }); }, onFetchOpenId() { wx.login({ success: (res) => { console.log('res', res); } }); } });