You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.9 KiB
52 lines
1.9 KiB
const express = require('express');
|
|
const router = express.Router();
|
|
const multer = require('multer');
|
|
const randomSelect = require('./services/randomSelect');
|
|
const ranking = require('./services/ranking');
|
|
const classManager = require('./services/classManager');
|
|
const scoreManager = require('./services/scoreManager');
|
|
const TableManager = require('./services/delete-table');
|
|
const pool = require('./db');
|
|
// 文件上传配置
|
|
const upload = multer({ dest: 'uploads/' });
|
|
|
|
// 路由 - 添加班级
|
|
router.post('/upload', upload.single('file'), classManager.addClass);
|
|
|
|
// 路由 - 随机点名
|
|
router.get('/random-call', randomSelect.selectStudent);
|
|
|
|
// 路由 - 获取排名
|
|
router.get('/ascend_ranking', ranking.get_ascend_Ranking);
|
|
router.get('/descend_ranking', ranking.get_descend_Ranking);
|
|
|
|
// 路由 - 更新分数
|
|
router.post('/update-score', scoreManager.updateScore);
|
|
|
|
//路由 - 获取某个id的分数
|
|
router.post('/get-score', scoreManager.getStudentScore);
|
|
|
|
//路由 - 删除班级
|
|
router.post('/delete-table', TableManager.deleteTable);
|
|
|
|
//路由 - 导出成绩
|
|
router.get('/export-scores', scoreManager.exportScores);
|
|
// 获取全部学生名单
|
|
router.get('/get-students', async (req, res) => {
|
|
let connection; // 声明连接变量
|
|
try {
|
|
connection = await pool.getConnection(); // 从连接池获取连接
|
|
const [students] = await connection.query('SELECT student_name FROM students'); // 执行查询
|
|
const studentNames = students.map(student => ({ student_name: student.student_name })); // 只保留 student_name 字段
|
|
res.json(studentNames); // 返回只包含 student_name 的结果
|
|
} catch (error) {
|
|
console.error('Error fetching students:', error); // 记录错误信息
|
|
res.status(500).send({ error: 'Failed to fetch students' }); // 返回500错误响应
|
|
} finally {
|
|
if (connection) connection.release(); // 确保连接被释放
|
|
}
|
|
});
|
|
|
|
|
|
module.exports = router;
|