]> acesimba.cloud Git - StationAIDemo.git/commitdiff
fix: 任务关闭时返回「页面丢失」页面而非 403
authorCodeBuddy <codebuddy@acesimba.cloud>
Tue, 25 Aug 2026 08:42:10 +0000 (16:42 +0800)
committerCodeBuddy <codebuddy@acesimba.cloud>
Tue, 25 Aug 2026 08:42:10 +0000 (16:42 +0800)
backend/main.py

index 4fe312293383a783705e3828a1eaf34576b9b36c..8b59e4437f22d7daadbec891eb26a726f90fe89b 100644 (file)
@@ -67,6 +67,15 @@ def check_admin_key(request: Request) -> bool:
     return request.headers.get("X-Task-Admin-Key", "") == TASK_ADMIN_KEY
 
 
+# 与 nginx 根路径「页面丢失」占位页保持一致
+PAGE_LOST_HTML = (
+    '<!doctype html><html lang="zh-CN"><head><meta charset="UTF-8">'
+    "<title>页面丢失</title></head>"
+    '<body style="display:flex;align-items:center;justify-content:center;'
+    'height:100vh;margin:0;font-family:sans-serif;color:#404449;">页面丢失</body></html>'
+)
+
+
 # ---- CodeBuddy(AI 脑)配置 ----
 CODEBUDDY_API_BASE = os.getenv("CODEBUDDY_API_BASE", "")
 CODEBUDDY_API_KEY = os.getenv("CODEBUDDY_API_KEY", "")
@@ -1057,7 +1066,7 @@ async def task_gate(task_id: str):
     if task is None:
         return JSONResponse(status_code=404, content={"ok": False, "message": "任务不存在"})
     if not task.get("open"):
-        return JSONResponse(status_code=403, content={"ok": False, "message": "该任务已关闭,访问被拒绝"})
+        return HTMLResponse(content=PAGE_LOST_HTML)
     if not os.path.exists(TASK_INDEX_HTML):
         return JSONResponse(status_code=404, content={"ok": False, "message": "前端构建产物缺失,请先构建 dist"})
     with open(TASK_INDEX_HTML, "r", encoding="utf-8") as f: