table_game/frontend/routes/messages.py
2025-03-10 08:35:19 +08:00

48 lines
1.7 KiB
Python

from flask import Blueprint, render_template, session, redirect, url_for, jsonify
import json
from frontend.config import Config
import requests
messages_bp = Blueprint('messages', __name__)
@messages_bp.route('/admin/messages')
def list_messages():
if not session.get('token'):
return redirect(url_for('auth.login'))
try:
response = requests.post(
f"{Config.BASE_API_URL}/admin/messages",
headers={"Authorization": f"Bearer {session['token']}"},
json={ # 添加分页参数
"page": 1,
"page_size": 10,
"token": session['token']
}
)
if response.status_code == 200:
return render_template('messages/list.html',
messages=response.json().get('data', []),
total=response.json().get('total', 0))
return render_template('messages/list.html', messages=[], total=0)
except requests.exceptions.ConnectionError:
return render_template('messages/list.html', messages=[], total=0)
@messages_bp.route('/admin/messages/<int:message_id>', methods=['DELETE'])
def delete_message(message_id):
if not session.get('token'):
return jsonify({"detail": "未认证"}), 401
try:
# 中转到FastAPI
response = requests.delete(
f"{Config.BASE_API_URL}/admin/messages/{message_id}",
headers={"Authorization": f"Bearer {session['token']}"},
json={"token": session['token']}
)
return jsonify(response.json()), response.status_code
except requests.exceptions.ConnectionError:
return jsonify({"detail": "后端服务不可用"}), 500