feat(学生): 添加成绩分析功能及密码修改功能
- 新增成绩分析页面,包含GPA趋势图、成绩分布图和学分进度 - 实现学生密码修改功能,包括前端表单和后端验证逻辑 - 添加课程类别分析功能,展示不同类别课程的GPA表现 - 优化学生仪表板和课程页面导航链接 - 增加数据加载状态提示和错误处理
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
const User = require('../models/User');
|
||||
const Student = require('../models/Student');
|
||||
const db = require('../config/database');
|
||||
|
||||
class AuthService {
|
||||
static async login(id, password, role) {
|
||||
@@ -55,7 +56,20 @@ class AuthService {
|
||||
|
||||
return newUser;
|
||||
}
|
||||
|
||||
static async updatePassword(userId, oldPassword, newPassword) {
|
||||
const user = await User.findById(userId);
|
||||
if (!user) {
|
||||
throw new Error('用户不存在');
|
||||
}
|
||||
|
||||
const isValid = await User.verifyPassword(oldPassword, user.password);
|
||||
if (!isValid) {
|
||||
throw new Error('原密码错误');
|
||||
}
|
||||
|
||||
return await User.updatePassword(userId, newPassword);
|
||||
}
|
||||
}
|
||||
|
||||
const db = require('../config/database'); // 补充引用
|
||||
module.exports = AuthService;
|
||||
module.exports = AuthService;
|
||||
|
||||
Reference in New Issue
Block a user