diff --git a/admin/dashboard/blueprints/contacts.py b/admin/dashboard/blueprints/contacts.py index 18c280b..d55580d 100644 --- a/admin/dashboard/blueprints/contacts.py +++ b/admin/dashboard/blueprints/contacts.py @@ -32,7 +32,6 @@ def api_contacts_all(): return jsonify({"success": False, "error": str(e)}), 500 @contacts_bp.route('/api/statistics', methods=['GET']) -@login_required def api_contacts_statistics(): """获取联系人统计信息API""" try: diff --git a/admin/dashboard/blueprints/robot.py b/admin/dashboard/blueprints/robot.py index db09108..dc42f01 100644 --- a/admin/dashboard/blueprints/robot.py +++ b/admin/dashboard/blueprints/robot.py @@ -5,11 +5,11 @@ from robot_cmd.robot_command import GroupBotManager, Feature, PermissionStatus from datetime import datetime # 创建机器人管理蓝图 -robot_bp = Blueprint('robot', __name__) +robot_bp = Blueprint('robot', __name__, url_prefix='/robot') logger = logging.getLogger("RobotBlueprint") # 机器人管理页面 -@robot_bp.route('/robot_management') +@robot_bp.route('/') @login_required def robot_management(): return render_template('robot_management.html') diff --git a/admin/dashboard/templates/contacts_management.html b/admin/dashboard/templates/contacts_management.html index 7b7cd95..515acd3 100644 --- a/admin/dashboard/templates/contacts_management.html +++ b/admin/dashboard/templates/contacts_management.html @@ -342,8 +342,10 @@ }, methods: { loadContactsData() { + // 修改API请求路径,从 /api/contacts/ 改为 /contacts/api/ + // 加载统计数据 - axios.get('/api/contacts/statistics') + axios.get('/contacts/api/statistics') .then(response => { if (response.data.success) { this.statistics = response.data.data; @@ -355,7 +357,7 @@ }); // 加载群组数据 - axios.get('/api/contacts/groups') + axios.get('/contacts/api/groups') .then(response => { if (response.data.success) { const groups = response.data.data.groups; @@ -371,7 +373,7 @@ }); // 加载个人联系人数据 - axios.get('/api/contacts/personal') + axios.get('/contacts/api/personal') .then(response => { if (response.data.success) { const personal = response.data.data.personal; @@ -387,7 +389,7 @@ }); // 加载公众号数据 - axios.get('/api/contacts/official') + axios.get('/contacts/api/official') .then(response => { if (response.data.success) { const official = response.data.data.official; @@ -403,7 +405,7 @@ }); // 加载公共好友数据 - axios.get('/api/contacts/public') + axios.get('/contacts/api/public') .then(response => { if (response.data.success) { const publicFriends = response.data.data.public; diff --git a/admin/dashboard/templates/robot_management.html b/admin/dashboard/templates/robot_management.html index 984a6c4..22d7395 100644 --- a/admin/dashboard/templates/robot_management.html +++ b/admin/dashboard/templates/robot_management.html @@ -199,7 +199,7 @@ }, methods: { loadGroups() { - axios.get('/api/robot/groups') + axios.get('/robot/api/groups') .then(response => { if (response.data.success) { this.groups = response.data.data || []; @@ -219,7 +219,7 @@ this.currentGroupId = group.group_id; this.currentGroupName = group.group_name || group.group_id; - axios.get(`/api/robot/group/${group.group_id}/permissions`) + axios.get(`/robot/api/group/${group.group_id}/permissions`) .then(response => { if (response.data.success) { // 添加布尔值属性用于switch组件 @@ -241,7 +241,7 @@ togglePermission(permission) { const newStatus = permission.statusBool ? 'enabled' : 'disabled'; - axios.post(`/api/robot/group/${this.currentGroupId}/permissions`, { + axios.post(`/robot/api/group/${this.currentGroupId}/permissions`, { feature_id: permission.feature_id, status: newStatus }) @@ -269,7 +269,7 @@ this.updateAllPermissions('disabled'); }, updateAllPermissions(status) { - axios.post(`/api/robot/group/${this.currentGroupId}/permissions`, { + axios.post(`/robot/api/group/${this.currentGroupId}/permissions`, { status: status }) .then(response => { @@ -292,7 +292,7 @@ toggleRobotStatus(group) { const newStatus = group.robot_status === 'enabled' ? 'disabled' : 'enabled'; - axios.post(`/api/robot/group/${group.group_id}/status`, { + axios.post(`/robot/api/group/${group.group_id}/status`, { status: newStatus }) .then(response => { @@ -315,7 +315,7 @@ submitAddGroup() { this.$refs.addGroupForm.validate(valid => { if (valid) { - axios.post('/api/robot/group', { + axios.post('/robot/api/group', { group_id: this.addGroupForm.groupId }) .then(response => { @@ -347,7 +347,7 @@ return; } - axios.post('/api/robot/batch_operation', { + axios.post('/robot/api/batch_operation', { operation: 'update_status', group_ids: this.selectedGroups, status: status @@ -381,7 +381,7 @@ cancelButtonText: '取消', type: 'danger' }).then(() => { - axios.post('/api/robot/batch_operation', { + axios.post('/robot/api/batch_operation', { operation: 'remove_groups', group_ids: this.selectedGroups }) @@ -408,7 +408,7 @@ // 获取消息趋势数据 const days = parseInt(this.timeRange || 7); - axios.get(`/api/robot/group/${group.group_id}/message_trend?days=${days}`) + axios.get(`/robot/api/group/${group.group_id}/message_trend?days=${days}`) .then(response => { if (response.data.success) { this.messageTrendData = response.data.data || { dates: [], counts: [] };