mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
@@ -1,6 +1,7 @@
|
||||
import type { RequestHandler } from 'express';
|
||||
import { sendError, sendSuccess } from '../utils/response';
|
||||
import { WebUiConfigWrapper } from '../helper/config';
|
||||
import { logSubscription } from '@/common/log';
|
||||
|
||||
// 日志记录
|
||||
export const LogHandler: RequestHandler = async (req, res) => {
|
||||
@@ -17,3 +18,17 @@ export const LogListHandler: RequestHandler = async (_, res) => {
|
||||
const logList = WebUiConfigWrapper.GetLogsList();
|
||||
return sendSuccess(res, logList);
|
||||
};
|
||||
// 实时日志(SSE)
|
||||
export const LogRealTimeHandler: RequestHandler = async (req, res) => {
|
||||
const listener = (log: string) => {
|
||||
try {
|
||||
res.write(log + '\n');
|
||||
} catch (error) {
|
||||
// ignore
|
||||
}
|
||||
};
|
||||
logSubscription.subscribe(listener);
|
||||
req.on('close', () => {
|
||||
logSubscription.unsubscribe(listener);
|
||||
});
|
||||
};
|
||||
|
@@ -1,9 +1,13 @@
|
||||
import { Router } from 'express';
|
||||
import { LogHandler, LogListHandler } from '../api/Log';
|
||||
import { LogHandler, LogListHandler, LogRealTimeHandler } from '../api/Log';
|
||||
|
||||
const router = Router();
|
||||
// router:读取日志内容
|
||||
router.get('/GetLog', LogHandler);
|
||||
// router:读取日志列表
|
||||
router.get('/GetLogList', LogListHandler);
|
||||
|
||||
// router:实时日志
|
||||
router.get('/GetLogRealTime', LogRealTimeHandler);
|
||||
|
||||
export { router as LogRouter };
|
||||
|
Reference in New Issue
Block a user