feat: 实现教师资料更新、操作日志和系统设置功能
新增教师资料更新功能,包括个人信息修改和密码更新 添加操作日志记录系统,记录用户关键操作 实现系统设置模块,支持动态配置系统参数 重构数据库模型,新增教师表和系统设置表 优化成绩录入逻辑,支持平时分、期中和期末成绩计算 添加数据导出功能,支持学生、教师和成绩数据导出 完善管理员后台,增加统计图表和操作日志查看
This commit is contained in:
@@ -3,7 +3,42 @@ const router = express.Router();
|
||||
const AdminController = require('../controllers/adminController');
|
||||
const { requireAuth, requireRole } = require('../middleware/auth');
|
||||
|
||||
router.get('/stats', requireAuth, requireRole(['admin']), AdminController.getStats);
|
||||
router.get('/users', requireAuth, requireRole(['admin']), AdminController.getUsers);
|
||||
router.post('/users', requireAuth, requireRole(['admin']), AdminController.createUser);
|
||||
router.put('/users/:id', requireAuth, requireRole(['admin']), AdminController.updateUser);
|
||||
router.delete('/users/:id', requireAuth, requireRole(['admin']), AdminController.deleteUser);
|
||||
|
||||
// Student Management
|
||||
router.get('/students', requireAuth, requireRole(['admin']), AdminController.getStudents);
|
||||
router.post('/students', requireAuth, requireRole(['admin']), AdminController.createStudent);
|
||||
router.put('/students/:id', requireAuth, requireRole(['admin']), AdminController.updateStudent);
|
||||
router.delete('/students/:id', requireAuth, requireRole(['admin']), AdminController.deleteStudent);
|
||||
|
||||
// Teacher Management
|
||||
router.get('/teachers', requireAuth, requireRole(['admin']), AdminController.getTeachers);
|
||||
router.post('/teachers', requireAuth, requireRole(['admin']), AdminController.createTeacher);
|
||||
router.put('/teachers/:id', requireAuth, requireRole(['admin']), AdminController.updateTeacher);
|
||||
router.delete('/teachers/:id', requireAuth, requireRole(['admin']), AdminController.deleteTeacher);
|
||||
|
||||
// Grade Statistics
|
||||
router.get('/grade-stats', requireAuth, requireRole(['admin']), AdminController.getGradeStats);
|
||||
|
||||
// System Settings
|
||||
router.get('/settings', requireAuth, requireRole(['admin']), AdminController.getSettings);
|
||||
router.post('/settings', requireAuth, requireRole(['admin']), AdminController.saveSettings);
|
||||
|
||||
// Data Maintenance
|
||||
router.post('/maintenance/backup', requireAuth, requireRole(['admin']), AdminController.backupDatabase);
|
||||
router.post('/maintenance/clear-cache', requireAuth, requireRole(['admin']), AdminController.clearCache);
|
||||
router.post('/maintenance/reset-passwords', requireAuth, requireRole(['admin']), AdminController.resetStudentPasswords);
|
||||
|
||||
// Data Export
|
||||
router.get('/export/students', requireAuth, requireRole(['admin']), AdminController.exportStudents);
|
||||
router.get('/export/teachers', requireAuth, requireRole(['admin']), AdminController.exportTeachers);
|
||||
router.get('/export/grades', requireAuth, requireRole(['admin']), AdminController.exportGrades);
|
||||
|
||||
// Operation Logs
|
||||
router.get('/logs', requireAuth, requireRole(['admin']), AdminController.getOperationLogs);
|
||||
|
||||
module.exports = router;
|
||||
@@ -8,5 +8,6 @@ router.post('/register', AuthController.register);
|
||||
router.post('/logout', AuthController.logout);
|
||||
router.get('/me', AuthController.getCurrentUser);
|
||||
router.put('/update-password', requireAuth, AuthController.updatePassword);
|
||||
router.put('/update-profile', requireAuth, AuthController.updateProfile);
|
||||
|
||||
module.exports = router;
|
||||
@@ -4,6 +4,11 @@ const TeacherController = require('../controllers/teacherController');
|
||||
const { requireAuth, requireRole } = require('../middleware/auth');
|
||||
|
||||
router.get('/courses', requireAuth, requireRole(['teacher']), TeacherController.getCourses);
|
||||
router.get('/classes', requireAuth, requireRole(['teacher']), TeacherController.getClasses);
|
||||
router.get('/my-classes', requireAuth, requireRole(['teacher']), TeacherController.getMyClasses);
|
||||
router.post('/courses', requireAuth, requireRole(['teacher']), TeacherController.createCourse);
|
||||
router.put('/courses/:id', requireAuth, requireRole(['teacher']), TeacherController.updateCourse);
|
||||
router.get('/grades', requireAuth, requireRole(['teacher']), TeacherController.getGrades);
|
||||
router.post('/grades', requireAuth, requireRole(['teacher']), TeacherController.addScore);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user