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", "")
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: