# 用户 App:注销与七天翻悔期接入 仅普通用户账号(`userType=0`)适用;商家、骑手不接入此流程。本期未修改 App。 ## 申请注销 沿用 `GET /infouser/user/deleuser`,请求头 `token` 必填,无请求体。账号必须有有效 Redis 会话,仍沿用现有未完成订单拦截。 成功响应: ```json { "code": 200, "msg": "操作成功", "data": { "cancellationDeadlineAt": "2026-11-06 12:00:00", "graceDays": 7 } } ``` `cancellationDeadlineAt` 为服务端计算的北京时间(UTC+8),示例日期仅为演示。`graceDays` 默认 7,页面以接口返回值展示,不在客户端另算截止日期。 注销成功后立即清除本地登录态,退出账号。文案说明:在截止时间前重新登录,会撤销注销并恢复原账号;到期后无法恢复原账号。不能把注销成功展示成资料已物理删除。 ## 翻悔与登录 无需新增恢复接口或传恢复字段。正常调用原有手机号登录、Apple/Google/LINE 登录、绑定手机号或设备确认接口,身份校验成功后服务端自动恢复,返回原 `userId` 和新 token。App 按原登录成功流程处理即可。 - 必须严格早于截止时间,且账号未被平台停用;到达截止时间即不能恢复。 - 登录失败、打开页面、刷新 token 和使用原 token 均不会恢复。 - 注销时原用户会话被撤销,之后使用返回 HTTP 401,业务 `code=401`。恢复后原 token 仍然无效。 - 历史删除账号没有翻悔截止时间,不能按此流程恢复。 - 到期账号保留历史业务资料。手机号重新注册沿用现有规则,可能创建新账号;已绑定第三方身份不自动解绑,不能借此恢复过期账号。 ## 后端部署与配置 先由开发者手动执行 `updatesql/sql.md` 中 2026-10-30 的 040 迁移,再部署代码。本轮未直接执行数据库迁移。 后台字典 `user_cancellation_grace_days` 管理天数,默认7;有效整数范围1~365,字典缺失、停用、非法值或读取异常回退7。后台保存刷新字典缓存后影响后续注销,已有截止时间不变,无须重启。App 请求参数不变,文案使用接口返回的 graceDays,不写死7天。 账号申请注销时已经设置 `del_flag=1`,到期仅关闭恢复资格,因此无需定时任务再次设置删除状态。平台直接删除会清空翻悔期;平台停用的账号不允许通过登录恢复。