refactor(core): 优化权限管理和事件模型

- 重构 AdminManager 和 PermissionManager 以 Redis 为主要数据源
- 为所有事件模型添加 slots=True 提升性能
- 更新文档说明 Mypyc 编译注意事项
- 清理测试和调试文件
- 移动静态资源到 web_static 目录
This commit is contained in:
2026-01-13 08:35:54 +08:00
parent 7f331970dd
commit 3cbf5328bb
25 changed files with 434 additions and 409 deletions

View File

@@ -4,7 +4,7 @@
定义了消息相关的事件类,包括 MessageEvent, PrivateMessageEvent, GroupMessageEvent。
"""
from dataclasses import dataclass, field
from typing import List, Optional, Union
from typing import List, Optional, Union, ClassVar
from core.permission import Permission
from models.message import MessageSegment
@@ -27,16 +27,16 @@ class Anonymous:
"""匿名用户 flag"""
@dataclass
@dataclass(slots=True)
class MessageEvent(OneBotEvent):
"""
消息事件基类
"""
# 权限级别常量,用于装饰器参数
ADMIN = Permission.ADMIN
OP = Permission.OP
USER = Permission.USER
ADMIN: ClassVar[Permission] = Permission.ADMIN
OP: ClassVar[Permission] = Permission.OP
USER: ClassVar[Permission] = Permission.USER
message_type: str
"""消息类型: private (私聊), group (群聊)"""
@@ -80,7 +80,7 @@ class MessageEvent(OneBotEvent):
raise NotImplementedError("reply method must be implemented by subclasses")
@dataclass
@dataclass(slots=True)
class PrivateMessageEvent(MessageEvent):
"""
私聊消息事件
@@ -98,7 +98,7 @@ class PrivateMessageEvent(MessageEvent):
)
@dataclass
@dataclass(slots=True)
class GroupMessageEvent(MessageEvent):
"""
群聊消息事件