Files
abot/ui/message_ui.py
2025-02-27 16:15:28 +08:00

61 lines
1.9 KiB
Python

from flask import Flask, render_template, request, jsonify
import os
from group_auto.group_auto_invite import add_mapping, del_mapping, get_first_group_id, get_group_ids
from ui.messages_list import get_total_messages, get_messages
# 设置 Flask 实例化时指定模板文件夹路径
app = Flask(__name__, template_folder=os.path.join(os.path.dirname(__file__), '..', 'templates'))
# 主菜单页面
@app.route('/')
def index():
return render_template('index.html')
# Redis 操作页面
@app.route('/redis_operations', methods=['GET', 'POST'])
def redis_operations():
if request.method == 'POST':
key = request.form.get('key')
group_id = request.form.get('group_id')
action = request.form.get('action')
result = ''
if action == 'add':
result = add_mapping(key, group_id)
elif action == 'del':
result = del_mapping(key, group_id)
elif action == 'get':
result = get_group_ids(key)
elif action == 'get_first':
result = get_first_group_id(key)
return render_template('group_auto_invite_ui.html', result=result)
return render_template('group_auto_invite_ui.html', result='')
# 显示消息列表(分页)
@app.route('/messages', methods=['GET'])
def messages():
page = int(request.args.get('page', 1)) # 获取当前页,默认为第一页
per_page = 10 # 每页显示10条数据
messages = get_messages(page, per_page) # 获取指定页的数据
total = get_total_messages() # 获取总的消息数量
total_pages = (total // per_page) + (1 if total % per_page > 0 else 0) # 总页数
# 分页控制,确保当前页数在有效范围内
if page > total_pages:
page = total_pages
if page < 1:
page = 1
return render_template('message_list.html', messages=messages, page=page, total_pages=total_pages)
if __name__ == '__main__':
app.run(debug=True)