backend: 拆分API路由至router目录并重构存储模块,优化数据库交互与历史消息查询功能
This commit is contained in:
41
router/api.js
Normal file
41
router/api.js
Normal file
@@ -0,0 +1,41 @@
|
||||
import express from 'express';
|
||||
import { loadHistory, getDatabaseState } from "../utils/storage.js";
|
||||
import { onlineList } from '../data.js';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.get("/online", (req, res) => {
|
||||
res.status(200).send({
|
||||
online: onlineList.length,
|
||||
user: onlineList
|
||||
})
|
||||
})
|
||||
|
||||
router.get("/history", (req, res) => {
|
||||
if (!getDatabaseState()) {
|
||||
res.status(500).send({
|
||||
status: 500,
|
||||
msg: "database is not ready",
|
||||
data: null
|
||||
})
|
||||
}
|
||||
if (!req.query.limit || isNaN(req.query.limit) || req.query.limit <= 0 || req.query.limit > 100) {
|
||||
req.query.limit = 10;
|
||||
}
|
||||
loadHistory(req.query.limit).then((data) => {
|
||||
res.status(200).send({
|
||||
status: 200,
|
||||
msg: "success",
|
||||
data: data
|
||||
})
|
||||
}).catch((err) => {
|
||||
logger.error(`database error: ${err}`)
|
||||
res.status(500).send({
|
||||
status: 500,
|
||||
msg: "database error",
|
||||
data: null
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
export default router;
|
||||
Reference in New Issue
Block a user