// pages/no-permission/no-permission.ts // 无权限页面 — 账号已禁用或无访问权限时展示 // onShow 时查询最新状态,状态变化时自动跳转 import { request } from "../../utils/request" Page({ data: { statusBarHeight: 0, }, onLoad() { const { statusBarHeight = 0 } = wx.getSystemInfoSync() this.setData({ statusBarHeight }) }, onShow() { this._checkStatus() }, /** 查询最新用户状态,非 disabled 时自动跳转 */ async _checkStatus() { const token = wx.getStorageSync("token") if (!token) { wx.reLaunch({ url: "/pages/login/login" }) return } try { const data = await request({ url: "/api/xcx/me", method: "GET", needAuth: true, }) const app = getApp() app.globalData.authUser = { userId: data.user_id, status: data.status, nickname: data.nickname, } wx.setStorageSync("userId", data.user_id) wx.setStorageSync("userStatus", data.status) switch (data.status) { case "disabled": case "rejected": break // 留在当前页 case "approved": wx.reLaunch({ url: "/pages/mvp/mvp" }) break case "pending": wx.reLaunch({ url: "/pages/reviewing/reviewing" }) break case "new": wx.reLaunch({ url: "/pages/apply/apply" }) break } } catch { // 网络错误不阻塞 } }, /** 更换登录账号:清除凭证后跳转登录页 */ onSwitchAccount() { const app = getApp() app.globalData.token = undefined app.globalData.refreshToken = undefined app.globalData.authUser = undefined wx.removeStorageSync("token") wx.removeStorageSync("refreshToken") wx.removeStorageSync("userId") wx.removeStorageSync("userStatus") wx.reLaunch({ url: "/pages/login/login" }) }, })