48 lines
1.7 KiB
Python
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
|
|
|
|
|