his-weapp/app.js
2026-01-15 15:05:29 +08:00

81 lines
1.9 KiB
JavaScript

// 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验证异常
}
},
});