feat(学生): 添加成绩分析功能及密码修改功能

- 新增成绩分析页面,包含GPA趋势图、成绩分布图和学分进度
- 实现学生密码修改功能,包括前端表单和后端验证逻辑
- 添加课程类别分析功能,展示不同类别课程的GPA表现
- 优化学生仪表板和课程页面导航链接
- 增加数据加载状态提示和错误处理
This commit is contained in:
祀梦
2025-12-22 21:07:21 +08:00
parent ac6029dac8
commit 16802c85e5
13 changed files with 819 additions and 14 deletions

View File

@@ -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;