32 lines
842 B
JavaScript
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;
|
|
}
|
|
});
|