mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-01 17:49:58 +08:00
重构webui主页与好友/群组api
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import asyncio
|
||||
import re
|
||||
from typing import Awaitable, Callable, ClassVar, Dict, Generic, List, Set, TypeVar
|
||||
from typing import Awaitable, Callable, Dict, Generic, List, Set, TypeVar
|
||||
from urllib.parse import urlparse
|
||||
|
||||
PATTERN = r"\x1b(\[.*?[@-~]|\].*?(\x07|\x1b\\))"
|
||||
@@ -10,6 +10,11 @@ LogListener = Callable[[_T], Awaitable[None]]
|
||||
|
||||
|
||||
class LogStorage(Generic[_T]):
|
||||
|
||||
"""
|
||||
日志存储
|
||||
"""
|
||||
|
||||
def __init__(self, rotation: float = 5 * 60):
|
||||
self.count, self.rotation = 0, rotation
|
||||
self.logs: Dict[int, str] = {}
|
||||
@@ -42,4 +47,4 @@ class LogStorage(Generic[_T]):
|
||||
return
|
||||
|
||||
|
||||
LOG_STORAGE = LogStorage[str]()
|
||||
LOG_STORAGE: LogStorage[str] = LogStorage[str]()
|
||||
|
||||
@@ -2,7 +2,7 @@ from typing import List
|
||||
|
||||
from fastapi import APIRouter, WebSocket
|
||||
from loguru import logger
|
||||
from nonebot.utils import escape_tag, run_sync
|
||||
from nonebot.utils import escape_tag
|
||||
from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState
|
||||
|
||||
from .log_manager import LOG_STORAGE
|
||||
@@ -12,7 +12,12 @@ router = APIRouter()
|
||||
|
||||
@router.get("/logs", response_model=List[str])
|
||||
async def system_logs_history(reverse: bool = False):
|
||||
return LOG_STORAGE.list(reverse=reverse)
|
||||
"""历史日志
|
||||
|
||||
参数:
|
||||
reverse: 反转顺序.
|
||||
"""
|
||||
return LOG_STORAGE.list(reverse=reverse) # type: ignore
|
||||
|
||||
|
||||
@router.websocket("/logs")
|
||||
|
||||
Reference in New Issue
Block a user