feat(database): 迁移用户关联字段并优化打卡系统
- 修改数据库配置将MYSQL_DB从mys_info_v3改为mys_info_test - 新增auth_users表wechat_openid字段并建立唯一索引 - 为plan_checkins表添加计划性能索引(idx_plan_period_student) - 将checkin_records_old表关联方式从student_id改为user_id - 将plan_checkins表关联方式从student_id改为user_id并更新附件路径 - 移除routes/auth.py中的uuid导入使用安全token生成函数 - 重构routes/checkin.py打卡逻辑去除course_type字段并优化返回结构 - 添加打卡时间限制验证功能防止过期打卡操作 - 实现小组统计功能支持老师查看各组打卡情况 - 更新主页index.html界面适配新的打卡和计划功能 - 调整计划提交时间规则为周五至周四周期 - 添加月度和年度计划提交状态验证机制
This commit is contained in:
36
app.js
36
app.js
@@ -1,11 +1,43 @@
|
||||
const auth = require('./utils/auth');
|
||||
const api = require('./utils/api');
|
||||
|
||||
App({
|
||||
onLaunch() {
|
||||
auth.ensureLogin().catch(() => {});
|
||||
// 尝试登录并缓存用户信息
|
||||
auth.ensureLogin()
|
||||
.then((token) => {
|
||||
if (token) {
|
||||
// 登录成功后预取 profile 缓存到 globalData
|
||||
api.request({ url: '/api/v1/profile' })
|
||||
.then((res) => {
|
||||
this.globalData.user = res;
|
||||
})
|
||||
.catch(() => {
|
||||
// 预取失败不影响主流程
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
globalData: {
|
||||
token: '',
|
||||
user: null
|
||||
}
|
||||
},
|
||||
// 全局获取用户信息(带缓存)
|
||||
getUserInfo(force) {
|
||||
if (this.globalData.user && !force) {
|
||||
return Promise.resolve(this.globalData.user);
|
||||
}
|
||||
return auth.ensureLogin()
|
||||
.then((token) => {
|
||||
if (!token) return null;
|
||||
return api.request({ url: '/api/v1/profile' });
|
||||
})
|
||||
.then((user) => {
|
||||
if (user) {
|
||||
this.globalData.user = user;
|
||||
}
|
||||
return user;
|
||||
});
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user