feat(account): self-service deletion with a 7-day cooling-off period
Request signs out everywhere and freezes paid routes (423 + DB triggers); signing in within 7 days shows the pending gate with 撤销注销. A periodic idempotent worker purges personal content afterwards and keeps finance rows against a tombstoned identity. Read-only admin list. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3c8123d912
commit
96adbce3a9
@@ -1226,3 +1226,10 @@ D40 / D45 / D60 的表格上方,出生时间不是「已校正」时多一句
|
||||
- **结束后没有提示:** 过场正常结束或被点掉后直接露出下一步,不弹任何提示(2026-09-29 产品去掉原来的「这片天空在星盘页可以保存。」)。
|
||||
- **平时的首页加载动画不改。** 这是用户操作之后的一次性结果展示,不是首页加载等待,不违反 §9「首页只揭幕一次」;轨道环揭幕逻辑不动。
|
||||
- 代码:时序与插值是 `lib/birth-sky/converge.ts` 的纯函数;过场组件 `components/birth-sky/birth-sky-converge.tsx`(懒加载 chunk,含 `draw.ts` 与样式);状态在 `hooks/use-birth-sky-reveal.ts`,`page.tsx` 接线未变(`Home()` 的 `useState` / `useRef` 数不变)。星盘页的「那一刻的天空」弹窗删掉了只给揭幕用的 `is-reveal` 样式与「继续」按钮。
|
||||
|
||||
## 18. 注销账号(2026-09-30,自助注销 + 7 天冷静期)
|
||||
|
||||
- **入口:** 设置弹窗 → 通用设置,主题偏好之下,一条 hairline 分隔后的「注销账号」区(`.account-deletion-section`)。头像菜单不加入口。触发按钮是描边危险色、透明底、44px 高(`.account-deletion-open`)。
|
||||
- **确认块:** 原地展开,不再叠一层弹窗。浅危险色底(`--color-danger-muted`)、危险色 35% 描边;说明、删除清单、保留说明、联系邮箱(次级墨色)、「输入「注销」确认」输入框,底部「取消」+ 实心危险「确认注销」(`.danger-primary`)。没输对字之前确认按钮禁用。
|
||||
- **冷静期门:** 登录后若有待执行的注销,`(app)` 布局渲染全屏 `role="alertdialog"`(`.account-deletion-gate`,z-index 90,`--color-canvas-soft` 底),中间 440px 卡片:宋体标题「账号注销中」、日期句、「退出登录」「撤销注销」两个按钮居中。不做入场动画,不出现 spinner;撤销后整页刷新。
|
||||
- 代码:`components/account-deletion-section.tsx`、`components/account-deletion-gate.tsx`;`page.tsx` 只在 `renderGeneral()` 里多挂一个组件,`Home()` 的 `useState` / `useRef` 数不变。
|
||||
|
||||
Reference in New Issue
Block a user