feat(permission_api): 增强权限API文档,添加详细注释和示例

fix(system_management): 修复系统命令执行时缺失用户信息的错误处理
This commit is contained in:
minecraft1024a
2025-11-29 20:20:59 +08:00
parent feb4e7155e
commit ad0f495911
3 changed files with 347 additions and 26 deletions

View File

@@ -31,6 +31,7 @@ from src.plugin_system.base.component_types import (
from src.plugin_system.base.config_types import ConfigField
from src.plugin_system.base.plus_command import PlusCommand
from src.plugin_system.utils.permission_decorators import require_permission
from src.plugin_system.apis.permission_api import permission_api
logger = get_logger("SystemManagement")
@@ -48,9 +49,15 @@ class SystemCommand(PlusCommand):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@require_permission("access", deny_message="❌ 你没有权限使用此命令")
async def execute(self, args: CommandArgs) -> tuple[bool, str | None, bool]:
"""执行系统管理命令"""
if not self.chat_stream.user_info:
logger.error("chat_stream缺失用户信息,请报告开发者")
return False, "chat_stream缺失用户信息,请报告开发者", True
has_permission = await permission_api.check_permission(platform=self.chat_stream.platform,user_id=self.chat_stream.user_info.user_id,permission_node="access")
if has_permission:
logger.warning("没有权限使用此命令")
return False, "没有权限使用此命令", True
if args.is_empty:
await self._show_help("all")
return True, "显示帮助信息", True