管理后台 server 使用蓝图模式,降低维护成本,降低修改功能时对其他模块的影响
This commit is contained in:
@@ -21,7 +21,7 @@ def login():
|
|||||||
username = request.form['username']
|
username = request.form['username']
|
||||||
password = request.form['password']
|
password = request.form['password']
|
||||||
|
|
||||||
# 从应用上下文获取服务器实例
|
# 从应用上下文获取服务器实例,而不是从蓝图对象
|
||||||
server = current_app.dashboard_server
|
server = current_app.dashboard_server
|
||||||
|
|
||||||
if username == server.username and password == server.password:
|
if username == server.username and password == server.password:
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ def api_contacts_all():
|
|||||||
def api_contacts_statistics():
|
def api_contacts_statistics():
|
||||||
"""获取联系人统计信息API"""
|
"""获取联系人统计信息API"""
|
||||||
try:
|
try:
|
||||||
server = contacts_bp.server
|
server = current_app.dashboard_server
|
||||||
# 使用新的联系人分类方法获取统计信息
|
# 使用新的联系人分类方法获取统计信息
|
||||||
total, groups, personal, public, official = server.contact_manager.get_contact_statistics()
|
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
|
from .auth import login_required
|
||||||
import logging
|
import logging
|
||||||
import xml.etree.ElementTree as ET
|
import xml.etree.ElementTree as ET
|
||||||
@@ -22,7 +22,7 @@ def message_list_page():
|
|||||||
def get_messages():
|
def get_messages():
|
||||||
"""获取消息列表API"""
|
"""获取消息列表API"""
|
||||||
try:
|
try:
|
||||||
server = messages_bp.server
|
server = current_app.dashboard_server
|
||||||
# 获取查询参数
|
# 获取查询参数
|
||||||
group_id = request.args.get('group_id')
|
group_id = request.args.get('group_id')
|
||||||
start_date = request.args.get('start_date', datetime.now().strftime('%Y-%m-%d'))
|
start_date = request.args.get('start_date', datetime.now().strftime('%Y-%m-%d'))
|
||||||
@@ -75,7 +75,7 @@ def get_messages():
|
|||||||
def get_groups():
|
def get_groups():
|
||||||
"""获取群组列表API"""
|
"""获取群组列表API"""
|
||||||
try:
|
try:
|
||||||
server = messages_bp.server
|
server = current_app.dashboard_server
|
||||||
# 获取机器人管理的群组列表
|
# 获取机器人管理的群组列表
|
||||||
groups = []
|
groups = []
|
||||||
for group_id in server.contact_manager.get_contacts():
|
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
|
from .auth import login_required
|
||||||
import logging
|
import logging
|
||||||
from robot_cmd.robot_command import GroupBotManager, Feature, PermissionStatus
|
from robot_cmd.robot_command import GroupBotManager, Feature, PermissionStatus
|
||||||
@@ -19,7 +19,7 @@ def robot_management():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_robot_groups():
|
def api_robot_groups():
|
||||||
try:
|
try:
|
||||||
server = robot_bp.server
|
server = current_app.dashboard_server
|
||||||
# 获取所有群组列表
|
# 获取所有群组列表
|
||||||
groups = GroupBotManager.get_group_list()
|
groups = GroupBotManager.get_group_list()
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ def api_robot_group_permissions(group_id):
|
|||||||
@login_required
|
@login_required
|
||||||
def api_update_robot_permissions(group_id):
|
def api_update_robot_permissions(group_id):
|
||||||
# 更新群组功能权限
|
# 更新群组功能权限
|
||||||
server = robot_bp.server
|
server = current_app.dashboard_server
|
||||||
data = request.json
|
data = request.json
|
||||||
feature_id = data.get('feature_id')
|
feature_id = data.get('feature_id')
|
||||||
status = data.get('status')
|
status = data.get('status')
|
||||||
@@ -142,7 +142,7 @@ def api_robot_batch_operation():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_add_group():
|
def api_add_group():
|
||||||
try:
|
try:
|
||||||
server = robot_bp.server
|
server = current_app.dashboard_server
|
||||||
data = request.json
|
data = request.json
|
||||||
group_id = data.get('group_id')
|
group_id = data.get('group_id')
|
||||||
|
|
||||||
@@ -183,7 +183,7 @@ def api_add_group():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_group_message_trend(group_id):
|
def api_group_message_trend(group_id):
|
||||||
try:
|
try:
|
||||||
server = robot_bp.server
|
server = current_app.dashboard_server
|
||||||
days = request.args.get('days', 7, type=int)
|
days = request.args.get('days', 7, type=int)
|
||||||
trend_data = server.message_storage.get_message_trend(group_id, days)
|
trend_data = server.message_storage.get_message_trend(group_id, days)
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ def errors():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_user_stats():
|
def api_user_stats():
|
||||||
try:
|
try:
|
||||||
server = stats_bp.server
|
server = current_app.dashboard_server
|
||||||
days = request.args.get('days', 7, type=int)
|
days = request.args.get('days', 7, type=int)
|
||||||
limit = request.args.get('limit', 10, type=int)
|
limit = request.args.get('limit', 10, type=int)
|
||||||
stats = server.stats_db.get_user_stats(days, limit)
|
stats = server.stats_db.get_user_stats(days, limit)
|
||||||
@@ -54,7 +54,7 @@ def api_user_stats():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_group_stats():
|
def api_group_stats():
|
||||||
try:
|
try:
|
||||||
server = stats_bp.server
|
server = current_app.dashboard_server
|
||||||
days = request.args.get('days', 7, type=int)
|
days = request.args.get('days', 7, type=int)
|
||||||
limit = request.args.get('limit', 10, type=int)
|
limit = request.args.get('limit', 10, type=int)
|
||||||
stats = server.stats_db.get_group_stats(days, limit)
|
stats = server.stats_db.get_group_stats(days, limit)
|
||||||
@@ -74,7 +74,7 @@ def api_group_stats():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_plugin_stats():
|
def api_plugin_stats():
|
||||||
try:
|
try:
|
||||||
server = stats_bp.server
|
server = current_app.dashboard_server
|
||||||
days = request.args.get('days', 7, type=int)
|
days = request.args.get('days', 7, type=int)
|
||||||
stats = server.stats_db.get_plugin_stats(days)
|
stats = server.stats_db.get_plugin_stats(days)
|
||||||
return jsonify({"success": True, "data": stats})
|
return jsonify({"success": True, "data": stats})
|
||||||
@@ -86,7 +86,7 @@ def api_plugin_stats():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_error_logs():
|
def api_error_logs():
|
||||||
try:
|
try:
|
||||||
server = stats_bp.server
|
server = current_app.dashboard_server
|
||||||
days = request.args.get('days', 7, type=int)
|
days = request.args.get('days', 7, type=int)
|
||||||
limit = request.args.get('limit', 100, type=int)
|
limit = request.args.get('limit', 100, type=int)
|
||||||
logs = server.stats_db.get_error_logs(days, limit)
|
logs = server.stats_db.get_error_logs(days, limit)
|
||||||
@@ -123,7 +123,7 @@ def api_dashboard_summary():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_plugin_trend():
|
def api_plugin_trend():
|
||||||
try:
|
try:
|
||||||
server = stats_bp.server
|
server = current_app.dashboard_server
|
||||||
days = request.args.get('days', 7, type=int)
|
days = request.args.get('days', 7, type=int)
|
||||||
plugin_name = request.args.get('plugin_name', '')
|
plugin_name = request.args.get('plugin_name', '')
|
||||||
trend = server.stats_db.get_plugin_trend(plugin_name, days)
|
trend = server.stats_db.get_plugin_trend(plugin_name, days)
|
||||||
@@ -136,7 +136,7 @@ def api_plugin_trend():
|
|||||||
@login_required
|
@login_required
|
||||||
def api_error_detail(error_id):
|
def api_error_detail(error_id):
|
||||||
try:
|
try:
|
||||||
server = stats_bp.server
|
server = current_app.dashboard_server
|
||||||
detail = server.stats_db.get_error_detail(error_id)
|
detail = server.stats_db.get_error_detail(error_id)
|
||||||
return jsonify({"success": True, "data": detail})
|
return jsonify({"success": True, "data": detail})
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user