Files
WebWork/backend/controllers/studentController.js
祀梦 59501e514f feat(学生): 添加学生课程管理功能
- 新增我的课程页面及路由
- 实现课程列表和详情查看功能
- 更新导航链接指向新页面
- 添加成绩详情模态框
- 完善相关后端接口和服务
2025-12-22 19:48:38 +08:00

63 lines
2.1 KiB
JavaScript

const StudentService = require('../services/studentService');
const { success, error } = require('../utils/response');
class StudentController {
static async getCourses(req, res) {
try {
const userId = req.session.user.id;
const data = await StudentService.getStudentCourses(userId);
success(res, data);
} catch (err) {
if (err.message === '学生信息不存在') {
return error(res, err.message, 404);
}
console.error('Get Courses Error:', err);
error(res, '服务器错误');
}
}
static async getCourseDetails(req, res) {
try {
const courseId = req.params.id;
const data = await StudentService.getCourseDetails(courseId);
success(res, data);
} catch (err) {
if (err.message === '课程不存在') {
return error(res, err.message, 404);
}
console.error('Get Course Details Error:', err);
error(res, '服务器错误');
}
}
static async getGrades(req, res) {
try {
const userId = req.session.user.id;
const data = await StudentService.getStudentGrades(userId);
success(res, data);
} catch (err) {
if (err.message === '学生信息不存在') {
return error(res, err.message, 404);
}
console.error('Get Grades Error:', err);
error(res, '服务器错误');
}
}
static async getGradeDetails(req, res) {
try {
const scoreId = req.params.id;
const userId = req.session.user.id;
const grade = await StudentService.getGradeDetails(scoreId, userId);
success(res, { grade });
} catch (err) {
if (err.message === '成绩不存在') {
return error(res, err.message, 404);
}
console.error('Get Grade Details Error:', err);
error(res, '服务器错误');
}
}
}
module.exports = StudentController;