// app.js const { userApi } = require("./utils/api"); const AuthUtil = require("./utils/auth"); App({ globalData: { userInfo: null, isLoggedIn: false, }, onLaunch() { // 检查小程序版本更新 this.checkForUpdate(); // 检查并验证token this.checkToken(); }, // 检查小程序版本更新 checkForUpdate() { const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 console.log(res.hasUpdate) }) updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已经准备好,是否重启应用?', success(res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate() } } }) }) updateManager.onUpdateFailed(function () { // 新版本下载失败 }) }, /** * 检查token并获取最新用户数据 */ async checkToken() { if (!AuthUtil.hasToken()) { return; } try { const isValid = await AuthUtil.validateUser(); if (isValid) { const userInfo = AuthUtil.getUserInfo(); // 启动token自动刷新 AuthUtil.startTokenRefresh(); // 检查用户状态 if (userInfo.user_status < 1) { wx.showToast({ title: "您的账户需要等待管理员审核", icon: "none", duration: 2000, }); // 清除登录状态但不跳转,让用户自己选择 AuthUtil.clearAuth(); } } else { // 用户验证失败,已清除登录状态 } } catch (err) { // Token验证异常 } }, });