frontend-app-integration.md 2.4 KB

用户 App:注销与七天翻悔期接入

仅普通用户账号(userType=0)适用;商家、骑手不接入此流程。本期未修改 App。

申请注销

沿用 GET /infouser/user/deleuser,请求头 token 必填,无请求体。账号必须有有效 Redis 会话,仍沿用现有未完成订单拦截。

成功响应:

{
  "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,到期仅关闭恢复资格,因此无需定时任务再次设置删除状态。平台直接删除会清空翻悔期;平台停用的账号不允许通过登录恢复。