feat: 申诉常见理由快捷选择 + 证据截图上传
- 后端: 新增 appeal_reason_type, appeal_evidence_urls 字段 - 后端: 新建 upload_routes.py 图片上传接口 - 前端: history 页面添加快捷理由选择器 + 截图上传 - 前端: admin-review 页面展示证据图片 + 点击预览 - 新增 SQL 更新脚本 update_appeal_fields.sql Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -295,14 +295,20 @@ def submit_appeal(post_id: int):
|
||||
return fail("仅被拦截的信息可申诉", 400)
|
||||
|
||||
payload = request.get_json(silent=True) or {}
|
||||
reason_type = (payload.get("reason_type") or "").strip()
|
||||
reason = (payload.get("reason") or "").strip()
|
||||
if len(reason) < 2:
|
||||
evidence_urls = payload.get("evidence_urls") or []
|
||||
|
||||
# 如果选择了快捷理由,reason 可为空;否则至少 2 字符
|
||||
if not reason_type and len(reason) < 2:
|
||||
return fail("申诉理由至少2个字符", 400)
|
||||
if post.appeal_status == "pending":
|
||||
return fail("该记录已在申诉处理中", 400)
|
||||
|
||||
post.appeal_status = "pending"
|
||||
post.appeal_reason_type = reason_type
|
||||
post.appeal_reason = reason
|
||||
post.appeal_evidence_urls = evidence_urls
|
||||
post.appeal_submitted_at = datetime.utcnow()
|
||||
post.appeal_admin_note = ""
|
||||
post.appeal_processed_at = None
|
||||
|
||||
Reference in New Issue
Block a user