This commit is contained in:
DengDai
2025-11-24 10:10:00 +08:00
commit aa516a8d71
37 changed files with 2426 additions and 0 deletions

98
app/templates/index.html Normal file
View File

@@ -0,0 +1,98 @@
{% extends "base.html" %}
{% block title %}首页 - 黑名单查询{% endblock %}
{% block content %}
<div class="text-center">
<h1 class="display-5">PT 圈黑名单查询系统</h1>
<p class="lead text-muted">请输入邮箱地址或用户名进行查询。本系统旨在帮助 PTer 发放邀请前识别有不良记录的用户。</p>
</div>
{% if current_user.is_authenticated %}
{# 如果用户已登录,显示查询表单和结果区域 #}
<div class="row justify-content-center mt-4">
<div class="col-lg-8">
<div class="card shadow-sm">
<div class="card-body">
<form method="POST" action="{{ url_for('main.index') }}" novalidate>
{{ form.hidden_tag() }}
<div class="input-group mb-2">
{{ form.search_term(class="form-control form-control-lg", placeholder="例如: user@example.com 或 BadUser123") }}
{{ form.submit(class="btn btn-primary btn-lg") }}
</div>
{% for error in form.search_term.errors %}
<div class="text-danger small">{{ error }}</div>
{% endfor %}
</form>
</div>
</div>
</div>
</div>
{% if searched %}
<hr class="my-4">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="card shadow-sm">
<div class="card-header">
<h5 class="mb-0">查询结果</h5>
</div>
<div class="card-body">
{% if search_result %}
<div class="alert alert-danger">
<strong>状态: </strong> 发现相关不良记录
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item"><strong>违规站点:</strong> {{ search_result.pt_site }}</li>
{% if search_result.report %}
<li class="list-group-item"><strong>违规原因:</strong> {{ search_result.report.reason_category }}</li>
{% endif %}
<li class="list-group-item"><strong>记录时间:</strong> {{ search_result.created_at.strftime('%Y-%m-%d') }}</li>
</ul>
<p class="text-muted small mt-3">为保护隐私,仅展示必要的脱敏信息。具体违规描述不对外公开。</p>
{% if current_user.is_authenticated and (current_user.uid == search_result.uid or current_user.email == search_result.email) %}
<hr>
<h6>申诉通道</h6>
{% set active_appeal = search_result.appeals.filter(Appeal.status.in_(['awaiting_admin_reply', 'awaiting_user_reply'])).first() %}
{% if active_appeal %}
<p>您已对该记录发起了申诉,请点击下方按钮查看进展。</p>
<a href="{{ url_for('main.appeal_detail', appeal_id=active_appeal.id) }}" class="btn btn-warning">查看进行中的申诉</a>
{% else %}
<p>如果您认为该记录有误,可以发起申诉,管理员将会与您沟通。</p>
<a href="{{ url_for('main.create_appeal', blacklist_id=search_result.id) }}" class="btn btn-primary">对该记录发起申诉</a>
{% endif %}
{% endif %}
{% else %}
<div class="alert alert-success">
<strong>状态: </strong> 未查询到相关不良记录
</div>
<p class="text-muted">请注意,未查询到记录不代表用户完全清白,也可能是其违规行为尚未被举报。</p>
{% endif %}
</div>
</div>
</div>
</div>
{% endif %}
{% else %}
{# 如果用户未登录,显示一个提示框 #}
<div class="row justify-content-center mt-5">
<div class="col-lg-8">
<div class="alert alert-warning text-center" role="alert">
<h4 class="alert-heading">功能受限</h4>
<p>查询功能仅对注册并登录的用户开放。请登录以使用本系统的全部功能。</p>
<hr>
<p class="mb-0">
<a href="{{ url_for('auth.login') }}" class="btn btn-primary">前往登录</a>
<a href="{{ url_for('auth.register') }}" class="btn btn-outline-secondary ms-2">立即注册</a>
</p>
</div>
</div>
</div>
{% endif %}
{% endblock %}