From e656487d6d5cc0084b7f1d39db138a66f8ad96a5 Mon Sep 17 00:00:00 2001
From: DengDai <29502593+zzhhxx@users.noreply.github.com>
Date: Mon, 24 Nov 2025 15:26:23 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=AD=E6=96=87=E7=8A=B6=E6=80=81?=
=?UTF-8?q?=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/__init__.py | 6 +++++-
app/filters.py | 27 ++++++++++++++++++++++++++
app/templates/admin/appeal_list.html | 4 ++--
app/templates/admin/manage_users.html | 2 +-
app/templates/admin/report_detail.html | 2 +-
app/templates/admin/report_list.html | 2 +-
app/templates/appeal_detail.html | 2 +-
app/templates/my_appeals.html | 2 +-
app/templates/my_reports.html | 2 +-
9 files changed, 40 insertions(+), 9 deletions(-)
create mode 100644 app/filters.py
diff --git a/app/__init__.py b/app/__init__.py
index 0e62a59..56140b2 100644
--- a/app/__init__.py
+++ b/app/__init__.py
@@ -32,7 +32,11 @@ def create_app(config_name='default'):
login_manager.init_app(app)
sess.init_app(app)
bootstrap.init_app(app)
-
+
+ # 注册自定义过滤器
+ from .filters import translate_status
+ app.jinja_env.filters['translate_status'] = translate_status
+
# 3. 注册蓝图 (Blueprint)
# 后面我们会在这里添加蓝图
from .routes import main as main_blueprint
diff --git a/app/filters.py b/app/filters.py
new file mode 100644
index 0000000..97188ad
--- /dev/null
+++ b/app/filters.py
@@ -0,0 +1,27 @@
+# app/filters.py
+# 状态翻译过滤器
+
+STATUS_TRANSLATIONS = {
+ # 举报状态
+ 'pending': '待审核',
+ 'in_review': '审核中',
+ 'approved': '已批准',
+ 'rejected': '已驳回',
+ 'revoked': '已撤销',
+ 'overturned': '已推翻',
+
+ # 申诉状态
+ 'awaiting_admin_reply': '等待管理员回复',
+ 'awaiting_user_reply': '等待用户回复',
+
+ # 用户状态
+ 'active': '正常',
+ 'disabled': '已禁用',
+
+ # 黑名单状态
+ 'expired': '已过期'
+}
+
+def translate_status(status):
+ """将英文状态翻译为中文"""
+ return STATUS_TRANSLATIONS.get(status, status)
diff --git a/app/templates/admin/appeal_list.html b/app/templates/admin/appeal_list.html
index 7e28354..3799f8c 100644
--- a/app/templates/admin/appeal_list.html
+++ b/app/templates/admin/appeal_list.html
@@ -27,11 +27,11 @@
{{ appeal.appealer.username if appeal.appealer else '未知用户' }} |
{{ appeal.blacklist_entry.uid }} |
-
- {{ appeal.status }}
+ {{ appeal.status | translate_status }}
|
{{ appeal.updated_at.strftime('%Y-%m-%d %H:%M') }} |
diff --git a/app/templates/admin/manage_users.html b/app/templates/admin/manage_users.html
index f06db53..1410a51 100644
--- a/app/templates/admin/manage_users.html
+++ b/app/templates/admin/manage_users.html
@@ -34,7 +34,7 @@
{% if user.id == 1 %}
角色: {{ user.role }}
- 状态: {{ user.status }}
+ 状态: {{ user.status | translate_status }}
|
diff --git a/app/templates/admin/report_detail.html b/app/templates/admin/report_detail.html
index 51883ea..3598f9f 100644
--- a/app/templates/admin/report_detail.html
+++ b/app/templates/admin/report_detail.html
@@ -15,7 +15,7 @@
所属站点: {{ report.reported_pt_site }}
举报理由: {{ report.reason_category }}
举报人: {{ report.reporter.username }}
- 状态: {{ report.status }}
+ 状态: {{ report.status | translate_status }}
详细描述: {{ report.description }}
diff --git a/app/templates/admin/report_list.html b/app/templates/admin/report_list.html
index 9fc79a5..a661e93 100644
--- a/app/templates/admin/report_list.html
+++ b/app/templates/admin/report_list.html
@@ -29,7 +29,7 @@
{{ report.reported_pt_site }}
|
{{ report.reporter.username }} |
- {{ report.status }} |
+ {{ report.status | translate_status }} |
{{ report.created_at.strftime('%Y-%m-%d %H:%M') }} |
查看详情 |
diff --git a/app/templates/appeal_detail.html b/app/templates/appeal_detail.html
index d0c9b6a..a60b8c0 100644
--- a/app/templates/appeal_detail.html
+++ b/app/templates/appeal_detail.html
@@ -16,7 +16,7 @@
{% if appeal.status in ['approved', 'rejected'] %} bg-secondary
{% elif 'user' in appeal.status %} bg-warning text-dark
{% else %} bg-info text-dark {% endif %}">
- {{ appeal.status }}
+ {{ appeal.status | translate_status }}
diff --git a/app/templates/my_appeals.html b/app/templates/my_appeals.html
index d1ff804..e87821c 100644
--- a/app/templates/my_appeals.html
+++ b/app/templates/my_appeals.html
@@ -28,7 +28,7 @@
{% if appeal.status in ['approved', 'rejected'] %} bg-secondary
{% elif 'user' in appeal.status %} bg-warning text-dark
{% else %} bg-info text-dark {% endif %}">
- {{ appeal.status }}
+ {{ appeal.status | translate_status }}
{{ appeal.created_at.strftime('%Y-%m-%d %H:%M') }} |
diff --git a/app/templates/my_reports.html b/app/templates/my_reports.html
index bebd208..5feb428 100644
--- a/app/templates/my_reports.html
+++ b/app/templates/my_reports.html
@@ -33,7 +33,7 @@
{% elif report.status == 'revoked' %} bg-warning text-dark
{% elif report.status == 'overturned' %} bg-secondary
{% else %} bg-info {% endif %}">
- {{ report.status }}
+ {{ report.status | translate_status }}
{{ report.created_at.strftime('%Y-%m-%d %H:%M') }} |