hku-class/miniprogram/app.js
2026-05-12 23:10:05 +08:00

32 lines
842 B
JavaScript

const { getStoredUser, refreshMe } = require("./utils/auth");
App({
globalData: {
user: null,
activeClassId: null,
enabledModules: null
},
onLaunch() {
const user = getStoredUser();
if (user) {
this.setUser(user);
refreshMe().catch(() => {});
}
},
setUser(user) {
const savedClass = wx.getStorageSync("active_class") || null;
const savedClassValid = savedClass?.id && user.memberships?.some(
(membership) => membership.class_id === savedClass.id
);
this.globalData.user = user;
this.globalData.activeClassId = savedClassValid
? savedClass.id
: user.active_membership?.class_id || user.memberships?.[0]?.class_id || null;
this.globalData.enabledModules = savedClassValid
? savedClass.enabled_modules
: user.enabled_modules || null;
}
});