管理后台 server 使用蓝图模式,降低维护成本,降低修改功能时对其他模块的影响
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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():
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user