Revert "新增后台命令索引页面与群命令视图"

This reverts commit 9a52eb33bf.
This commit is contained in:
Liu
2026-05-01 12:45:36 +08:00
parent 22c871105a
commit 593502740d
5 changed files with 5 additions and 562 deletions

View File

@@ -7,42 +7,11 @@ from flask import Blueprint, request, jsonify, render_template, current_app
from admin.dashboard.blueprints.auth import login_required
from utils.robot_cmd.robot_command import GroupBotManager, PermissionStatus
from plugins.robot_menu.menu_render_tool import RobotMenuRenderTool
# 创建蓝图
plugin_routes = Blueprint('plugin_routes', __name__)
LOG = logger
# 后台命令索引页只复用“命令目录生成”能力,不需要图片渲染,
# 因此这里固定使用轻量 text 配置创建一个工具实例即可。
_command_catalog_tool = RobotMenuRenderTool(
output_mode="text",
image_fallback_to_text=True,
image_render_timeout_seconds=30,
image_render_retries=1,
image_template_path="plugins/robot_menu/templates/menu_cards.html",
log=LOG,
)
def _build_group_options(server) -> list:
"""构建后台命令索引页的群组选项列表。"""
group_ids = sorted(set(GroupBotManager.get_group_list() or []))
options = []
for group_id in group_ids:
group_name = ""
try:
group_name = server.contact_manager.get_nickname(group_id) or ""
except Exception:
group_name = ""
options.append(
{
"group_id": group_id,
"group_name": str(group_name or group_id),
}
)
return options
# 机器人管理页面
@plugin_routes.route('/plugins_manage')
@@ -51,13 +20,6 @@ def robot_management():
return render_template('plugins_manage.html')
@plugin_routes.route('/command_catalog')
@login_required
def command_catalog_page():
"""后台命令索引页面。"""
return render_template('command_catalog.html')
@plugin_routes.route('/api/plugins', methods=['GET'])
@login_required
def get_plugins():
@@ -75,37 +37,6 @@ def get_plugins():
return jsonify({"success": False, "message": f"获取插件列表失败: {str(e)}"})
@plugin_routes.route('/api/plugins/command_catalog', methods=['GET'])
@login_required
def get_command_catalog():
"""获取后台命令索引数据。"""
try:
server = current_app.dashboard_server
group_id = str(request.args.get('group_id') or '').strip()
# 后台命令索引默认站在“管理员”视角,
# 这样既能看到当前可用命令,也能看到未启用能力和管理指令。
catalog = _command_catalog_tool.build_command_catalog_data(
group_id=group_id,
requester_id="dashboard_admin",
force_admin=True,
)
data = {
**catalog,
"group_options": _build_group_options(server),
"summary": {
"available_manual_count": len(catalog.get("available_manual", []) or []),
"available_auto_count": len(catalog.get("available_auto", []) or []),
"unavailable_manual_count": len(catalog.get("unavailable_manual", []) or []),
"admin_command_count": len(catalog.get("admin_commands", []) or []),
},
}
return jsonify({"success": True, "data": data})
except Exception as e:
LOG.error(f"获取命令索引失败: {str(e)}", exc_info=True)
return jsonify({"success": False, "message": f"获取命令索引失败: {str(e)}"})
@plugin_routes.route('/api/plugins/group_status', methods=['GET'])
@login_required
def get_plugin_group_status():