Skip to content

v0.7.0

Choose a tag to compare

@lbjxr lbjxr released this 20 Sep 15:44
· 279 commits to main since this release

v0.7.0 — 2026-09-20

小版本:新增管理员密码恢复端点与后台管理界面审计整改(P0 + P1/P2)。

新增管理员密码恢复端点 /api/recover(REQ-14)

  • 免登录 POST /api/recover:部署者凭 SETUP_TOKEN(请求头 X-Setup-Token)+ 同源校验 + IP 独立限流,重置管理员密码而无需重新部署。
  • 只重置密码、不改用户名;轮换 JWT secret 使全部旧会话失效,成功后直接返回登录态。
  • 新增 /recover 页面(登录弹窗「忘记密码?」入口);部署密钥非 ASCII 字符前端校验与友好提示;令牌不落库,忘令牌可在 Cloudflare 控制台轮换后重新部署。

密码重置操作说明:打开站点 /recover → 输入部署密钥 SETUP_TOKEN → 输入新密码(8–12 位,须含大小写/数字/符号中的两类)→ 提交即回到登录态。错误语义:未安装 1002 / 令牌错 401 / 跨域 403 / 限流 200+code。兜底链路:后台改密 → /recover → 以新 INIT_ADMIN_*/RESET_ADMIN_CREDENTIALS 重新部署。

后台管理界面审计整改

  • P0(对比度/焦点环/主题基建):WCAG AA 对比度修复(四对 <4.5 → ≥4.67)、主按钮 token 化(新增 --admin-accent-ink,暗色 1.67→10.71)、color-scheme 明暗、theme-color 动态、11 处 :focus→:focus-visible。
  • P1:站点设置布局:二级菜单 6→7 拆出「高级与视觉」(外观分区内滚约 1149px→0);去三层嵌套滚动(面板去锁高、预览列 sticky 跟随);布局导航小栅格修复;样式/脚本 textarea 语言徽标。
  • P1/P2 其余:暗色卡片表面不透明分层、hover 抬升收敛、skip-link 直达主内容、搜索框 aria-label、--focus-ring 焦点环 token 化。

验证:L0 type-check 316/0、test 948、build 通过;L1 smoke 83/83;L2 真实浏览器(本地 + 生产 develop 站点)实测;独立 reviewer 复检 PASS。完整记录见仓库 CHANGELOG.md。