feat: 实现教师资料更新、操作日志和系统设置功能

新增教师资料更新功能,包括个人信息修改和密码更新
添加操作日志记录系统,记录用户关键操作
实现系统设置模块,支持动态配置系统参数
重构数据库模型,新增教师表和系统设置表
优化成绩录入逻辑,支持平时分、期中和期末成绩计算
添加数据导出功能,支持学生、教师和成绩数据导出
完善管理员后台,增加统计图表和操作日志查看
This commit is contained in:
祀梦
2025-12-22 23:30:01 +08:00
parent 16802c85e5
commit b1da021185
43 changed files with 7860 additions and 2835 deletions

View File

@@ -18,6 +18,68 @@ class TeacherController {
}
}
static async getClasses(req, res) {
try {
const classes = await TeacherService.getClasses();
success(res, { classes });
} catch (err) {
console.error('Get Classes Error:', err);
error(res, '服务器错误');
}
}
static async getMyClasses(req, res) {
try {
const teacherId = req.session.user.id;
const classes = await TeacherService.getTeacherClasses(teacherId);
success(res, { classes });
} catch (err) {
console.error('Get My Classes Error:', err);
error(res, '服务器错误');
}
}
static async createCourse(req, res) {
try {
const teacherId = req.session.user.id;
const courseId = await TeacherService.createCourse(teacherId, req.body);
success(res, { courseId }, '课程创建成功');
} catch (err) {
console.error('Create Course Error:', err);
error(res, '服务器错误');
}
}
static async updateCourse(req, res) {
try {
const teacherId = req.session.user.id;
const courseId = req.params.id;
await TeacherService.updateCourse(teacherId, courseId, req.body);
success(res, null, '课程更新成功');
} catch (err) {
if (err.message === '无权修改该课程或课程不存在') {
return error(res, err.message, 403);
}
console.error('Update Course Error:', err);
error(res, '服务器错误');
}
}
static async getGrades(req, res) {
try {
const teacherId = req.session.user.id;
const filters = {
courseId: req.query.courseId,
studentName: req.query.studentName
};
const grades = await TeacherService.getGrades(teacherId, filters);
success(res, { grades });
} catch (err) {
console.error('Get Grades Error:', err);
error(res, '服务器错误');
}
}
static async addScore(req, res) {
try {
const teacherId = req.session.user.id;