Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

2.4 KiB
Raw Blame History

执行记录 · 2026-06-11 · GHCS v0.2 登录入口闭环验收(本地)

HLDP://ghcs/v0.2/exec-log/2026-06-11 · 2026-06-11T00:48+08:00
├── scope: GHCS v0.2 · API Keys 登录入口产品化 + 本地验收闭环不部署服务器
├── env: Mac 本地开发frontend:3000 + backend:5002
├── policy: 未完全开发完不部署服务器本次严格遵守
└── result:  本地闭环通过

本次完成清单(按验收口径)

1) 登录入口(可点可用)

  • 页面:/console/keys 顶部登录条显示
  • 登录接口:POST /api/login → 返回 access_tokenbearer
  • 本地持久化:localStorage.ghcs_access_token 有值(刷新不丢)

2) 写操作鉴权闭环(不再 401

  • 启停开关:触发 PUT /api/keys/{id} → 200
  • Network 验收:请求头包含 Authorization: Bearer <token>
  • 实际效果key 的启用/停用状态可切换并生效

🧱 本次遇到的问题(根因)

  1. 前端编译错误TSX 的 style 写法错
  • 典型错误:style= color: ... / style= backgroundColor: ...
  • 结果Next 直接 build errorExpected '</', got 'ident'
  1. 富文本/渲染吞双花括号
  • 在聊天/Notion 中书写 style= ... 容易被吞成“少一层花括号”,导致反复改错
  • 结论:对话与文档中统一使用 style={ { ... } } 展示代码(永不丢花括号)
  1. token 失效导致 401令牌过期或无效
  • 现象localStorage 有 token但写请求 401
  • 处理:清空旧 token → 重新登录签发 → 再验收 PUT 200

🧠 认知沉淀(以后怎么避免绕圈)

  • 硬规则 1TSX 里看到 style= 就立即检查是否是对象形式
    • 禁用:style= color: / style= backgroundColor:
    • 允许:style= ...style={ { ... } }
  • 硬规则 2代码只在 VS Code 改;对话只传证据链
    • 证据链最小集localStorage token 有值 + Network PUT 200 + Bearer header 存在
  • 硬规则 3401 先走 SOP不猜
    • token 是否存在 → header 是否带 Bearer → response detail → 再决定清 token 还是修代码

📌 当前状态

  • GHCS v0.2 · API Keys 登录入口 + 写操作鉴权:本地验收
  • 下一步(仍保持本地优先):全局 fetch 封装(自动带 Bearer + 统一 401 提示)