新增教师资料更新功能,包括个人信息修改和密码更新 添加操作日志记录系统,记录用户关键操作 实现系统设置模块,支持动态配置系统参数 重构数据库模型,新增教师表和系统设置表 优化成绩录入逻辑,支持平时分、期中和期末成绩计算 添加数据导出功能,支持学生、教师和成绩数据导出 完善管理员后台,增加统计图表和操作日志查看
44 lines
2.5 KiB
JavaScript
44 lines
2.5 KiB
JavaScript
const express = require('express');
|
|
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; |