From 6e659c2d02297edfd1731a33cb1dd6099355d7f2 Mon Sep 17 00:00:00 2001 From: K2cr2O1 <2221577113@qq.com> Date: Fri, 9 Jan 2026 04:44:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=B8=85=E7=90=86=E6=9C=AA?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=9A=84=E5=AF=BC=E5=85=A5=E5=92=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=96=87=E6=A1=A3=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docs: 添加config_models.py到项目结构文档 docs: 调整数据目录位置到core/data下 docs: 更新权限管理器文档描述 --- README.md | 6 +++--- core/managers/__init__.py | 1 - core/managers/permission_manager.py | 2 +- docs/core-concepts/singleton-managers.md | 2 +- docs/project-structure.md | 1 + plugins/admin.py | 1 - tests/test_plugin_reload_meta.py | 2 -- 7 files changed, 6 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 55b9d6b..5e14e47 100644 --- a/README.md +++ b/README.md @@ -74,12 +74,12 @@ │ └── thpic.py ├── core/ # NEO 框架核心代码,通常无需修改 │ ├── api/ +│ ├── data/ # 数据存储目录 (管理员列表, 权限配置) +│ │ ├── admin.json +│ │ └── permissions.json │ ├── bot.py │ ├── ... │ └── ws.py -├── data/ # 数据存储目录 (管理员列表, 权限配置) -│ ├── admin.json -│ └── permissions.json ├── html/ # 静态网页文件 ├── plugins/ # 插件目录,所有机器人的功能模块都在这里 │ ├── admin.py diff --git a/core/managers/__init__.py b/core/managers/__init__.py index 5be6af9..843b996 100644 --- a/core/managers/__init__.py +++ b/core/managers/__init__.py @@ -4,7 +4,6 @@ 这个包集中了机器人核心的单例管理器。 通过从这里导入,可以确保在整个应用中访问到的都是同一个实例。 """ -from ..config_loader import global_config from .admin_manager import AdminManager from .command_manager import matcher as command_manager from .permission_manager import PermissionManager diff --git a/core/managers/permission_manager.py b/core/managers/permission_manager.py index b7904c3..0e83055 100644 --- a/core/managers/permission_manager.py +++ b/core/managers/permission_manager.py @@ -13,7 +13,7 @@ """ import json import os -from typing import Dict, Optional +from typing import Dict from ..utils.logger import logger from ..utils.singleton import Singleton diff --git a/docs/core-concepts/singleton-managers.md b/docs/core-concepts/singleton-managers.md index 41d64b5..5d9541f 100644 --- a/docs/core-concepts/singleton-managers.md +++ b/docs/core-concepts/singleton-managers.md @@ -36,7 +36,7 @@ * **核心职责**: * **权限定义与检查**: 定义了 `ADMIN`, `OP`, `USER` 等权限等级,并提供了 `check_permission` 方法来验证用户权限。 * **数据持久化**: 负责从 `core/data/permissions.json` 文件中加载和保存用户权限设置。 - * **与 `AdminManager` 联动**: 在检查权限时,会自动将机器人管理员(来自 `AdminManager`)识别为最高权限 `ADMIN`。 + * **与 `AdminManager` 联动**: 在检查权限和获取所有用户权限时,会自动合并机器人管理员(来自 `AdminManager`)的数据,将其识别为最高权限 `ADMIN`。 ### 3. `AdminManager` (全局实例: `admin_manager`) diff --git a/docs/project-structure.md b/docs/project-structure.md index 4690b15..037360d 100644 --- a/docs/project-structure.md +++ b/docs/project-structure.md @@ -40,6 +40,7 @@ * `utils/`: 提供被广泛使用的工具类,如 `logger` (日志)、`singleton` (单例模式基类)。 * `bot.py`: 定义了 `Bot` 类,这是插件开发者最常与之交互的对象,用于调用所有 OneBot API。 * `config_loader.py`: 负责解析 `config.toml` 文件,并提供一个全局的 `global_config` 对象。 +* `config_models.py`: 使用 Pydantic 定义了配置文件的结构和类型验证。 * `ws.py`: 实现了与 OneBot v11 实现端的 WebSocket 连接、心跳、重连和消息收发。 ### `docs/` diff --git a/plugins/admin.py b/plugins/admin.py index 6dd0c18..e518bb3 100644 --- a/plugins/admin.py +++ b/plugins/admin.py @@ -1,4 +1,3 @@ -from core.handlers.event_handler import MessageHandler from core.managers import command_manager, permission_manager from core.permission import Permission from models.events.message import MessageEvent diff --git a/tests/test_plugin_reload_meta.py b/tests/test_plugin_reload_meta.py index 92a9e93..8eb0f81 100644 --- a/tests/test_plugin_reload_meta.py +++ b/tests/test_plugin_reload_meta.py @@ -1,6 +1,4 @@ -import pytest -from unittest.mock import MagicMock from core.managers.command_manager import CommandManager class TestPluginReloadMeta: