diff --git a/admin/dashboard/blueprints/auth.py b/admin/dashboard/blueprints/auth.py index e6a5e96..5e6b330 100644 --- a/admin/dashboard/blueprints/auth.py +++ b/admin/dashboard/blueprints/auth.py @@ -21,7 +21,7 @@ def login(): username = request.form['username'] password = request.form['password'] - # 从应用上下文获取服务器实例 + # 从应用上下文获取服务器实例,而不是从蓝图对象 server = current_app.dashboard_server if username == server.username and password == server.password: diff --git a/admin/dashboard/blueprints/contacts.py b/admin/dashboard/blueprints/contacts.py index fb4e97f..9f02b58 100644 --- a/admin/dashboard/blueprints/contacts.py +++ b/admin/dashboard/blueprints/contacts.py @@ -36,7 +36,7 @@ def api_contacts_all(): def api_contacts_statistics(): """获取联系人统计信息API""" try: - server = contacts_bp.server + server = current_app.dashboard_server # 使用新的联系人分类方法获取统计信息 total, groups, personal, public, official = server.contact_manager.get_contact_statistics() diff --git a/admin/dashboard/blueprints/messages.py b/admin/dashboard/blueprints/messages.py index 38c7175..6cd9562 100644 --- a/admin/dashboard/blueprints/messages.py +++ b/admin/dashboard/blueprints/messages.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template, jsonify, request +from flask import Blueprint, render_template, jsonify, request, current_app from .auth import login_required import logging import xml.etree.ElementTree as ET @@ -22,7 +22,7 @@ def message_list_page(): def get_messages(): """获取消息列表API""" try: - server = messages_bp.server + server = current_app.dashboard_server # 获取查询参数 group_id = request.args.get('group_id') start_date = request.args.get('start_date', datetime.now().strftime('%Y-%m-%d')) @@ -75,7 +75,7 @@ def get_messages(): def get_groups(): """获取群组列表API""" try: - server = messages_bp.server + server = current_app.dashboard_server # 获取机器人管理的群组列表 groups = [] for group_id in server.contact_manager.get_contacts(): diff --git a/admin/dashboard/blueprints/robot.py b/admin/dashboard/blueprints/robot.py index f6c6dfd..dc42f01 100644 --- a/admin/dashboard/blueprints/robot.py +++ b/admin/dashboard/blueprints/robot.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template, jsonify, request +from flask import Blueprint, render_template, jsonify, request, current_app from .auth import login_required import logging from robot_cmd.robot_command import GroupBotManager, Feature, PermissionStatus @@ -19,7 +19,7 @@ def robot_management(): @login_required def api_robot_groups(): try: - server = robot_bp.server + server = current_app.dashboard_server # 获取所有群组列表 groups = GroupBotManager.get_group_list() @@ -90,7 +90,7 @@ def api_robot_group_permissions(group_id): @login_required def api_update_robot_permissions(group_id): # 更新群组功能权限 - server = robot_bp.server + server = current_app.dashboard_server data = request.json feature_id = data.get('feature_id') status = data.get('status') @@ -142,7 +142,7 @@ def api_robot_batch_operation(): @login_required def api_add_group(): try: - server = robot_bp.server + server = current_app.dashboard_server data = request.json group_id = data.get('group_id') @@ -183,7 +183,7 @@ def api_add_group(): @login_required def api_group_message_trend(group_id): try: - server = robot_bp.server + server = current_app.dashboard_server days = request.args.get('days', 7, type=int) trend_data = server.message_storage.get_message_trend(group_id, days) diff --git a/admin/dashboard/blueprints/stats.py b/admin/dashboard/blueprints/stats.py index f6700ac..ed6be8a 100644 --- a/admin/dashboard/blueprints/stats.py +++ b/admin/dashboard/blueprints/stats.py @@ -34,7 +34,7 @@ def errors(): @login_required def api_user_stats(): try: - server = stats_bp.server + server = current_app.dashboard_server days = request.args.get('days', 7, type=int) limit = request.args.get('limit', 10, type=int) stats = server.stats_db.get_user_stats(days, limit) @@ -54,7 +54,7 @@ def api_user_stats(): @login_required def api_group_stats(): try: - server = stats_bp.server + server = current_app.dashboard_server days = request.args.get('days', 7, type=int) limit = request.args.get('limit', 10, type=int) stats = server.stats_db.get_group_stats(days, limit) @@ -74,7 +74,7 @@ def api_group_stats(): @login_required def api_plugin_stats(): try: - server = stats_bp.server + server = current_app.dashboard_server days = request.args.get('days', 7, type=int) stats = server.stats_db.get_plugin_stats(days) return jsonify({"success": True, "data": stats}) @@ -86,7 +86,7 @@ def api_plugin_stats(): @login_required def api_error_logs(): try: - server = stats_bp.server + server = current_app.dashboard_server days = request.args.get('days', 7, type=int) limit = request.args.get('limit', 100, type=int) logs = server.stats_db.get_error_logs(days, limit) @@ -123,7 +123,7 @@ def api_dashboard_summary(): @login_required def api_plugin_trend(): try: - server = stats_bp.server + server = current_app.dashboard_server days = request.args.get('days', 7, type=int) plugin_name = request.args.get('plugin_name', '') trend = server.stats_db.get_plugin_trend(plugin_name, days) @@ -136,7 +136,7 @@ def api_plugin_trend(): @login_required def api_error_detail(error_id): try: - server = stats_bp.server + server = current_app.dashboard_server detail = server.stats_db.get_error_detail(error_id) return jsonify({"success": True, "data": detail}) except Exception as e: