3.8 KiB
3.8 KiB
账号注销后端接口需求(简洁版)
本方案已被替代: 2026-08-28 确认改用旧接口实现当前门店身份注销,不再实施主账号注销。参见 门店身份注销接入说明。下文仅为历史记录。
当前 iOS 已有注销页面和本地 Mock 流程,需要后端提供真实能力。以下路径为建议,可复用已有等价接口。
1. 需要的接口
统一前缀:/api/app/account-deletion
| 接口 | 入参 | 需要返回 |
|---|---|---|
GET /precheck 注销核验 |
无,以 Token 识别主账号 | 钱包、作品与相册、项目、云盘资产;脱敏手机号;注销影响说明;是否可注销及阻断原因;核验标识和有效期 |
POST /send-sms-code 发送验证码 |
无,发送至主账号绑定手机号 | 验证码会话标识、有效秒数、重发间隔;不返回验证码 |
POST /submit 提交申请 |
核验标识、验证码会话及验证码、资产确认项、说明版本、幂等请求 ID | 申请 ID、状态、提交时间、计划注销时间 |
GET /status 查询状态 |
无,以有效身份凭证识别主账号 | 当前状态、申请信息、能否取消、服务端时间 |
POST /cancel 取消申请 |
申请 ID,使用恢复专用凭证 | 取消结果、新登录临时 Token、当前可选景区/门店身份 |
沿用现有 token 请求头和 code/msg/data 响应结构,成功码为 100000。错误需区分:注销条件不满足、核验过期、验证码错误/过期/限流、已有申请、超过取消期限、凭证失效。
2. 现有登录与鉴权需要配合
- 修改
POST /api/app/v9/login:身份验证通过后,正常账号按原流程登录;冷静期账号返回注销信息及短时恢复专用 Token,等待用户确认;已到期或已注销账号禁止登录。 - 恢复专用 Token 只能查询状态和取消绑定申请,不能访问业务接口。用户点击“恢复账号并登录”才调用取消接口,重新登录本身不能自动取消注销。
/api/app/v9/set-user、刷新凭证及统一鉴权必须检查主账号状态,防止旧 Token、旧版本或其他设备绕过限制。取消成功后签发新凭证,不恢复旧 Token。
3. 必须保证的业务规则
- 注销范围: 手机号登录对应的主账号及其关联身份,由后端从凭证识别;不接受客户端指定任意手机号或用户 ID,不删除景区、门店实体或他人的共享资产。
- 提交校验: 后端再次检查验证码、资产确认及未完成业务;重复提交不能生成多个申请或延长冷静期。
- 七天冷静期: 截止时间由后端返回和判断,截止前可取消,恰好到期即不可取消;取消与到期任务必须互斥。
- 会话限制: 提交成功立即禁止该主账号全部设备的业务访问;客户端清理登录态。提交超时不能直接视为失败,应重新验证身份后查询结果。
- 到期处理: 后端自动执行,不依赖 App 在线;冷静期内不做不可逆删除,处理失败可重试,实际处理完成后才标记已注销。
建议状态:none 无申请、pending 冷静期、canceled 已取消、processing 到期处理中、completed 已完成。
4. 请后端与产品确认
- 余额、冻结款、提现中、未完成订单、线下未补缴款和负责人身份是否阻断注销,如何处理。
- 个人资产、共享资产、客户已购内容和交易记录分别删除、保留还是移交;注销后同手机号能否重新注册。
- 最终接口字段和错误码、短信频控、七天是否按 168 小时计算,以及测试账号、到期测试方式和可联调时间。
当前 Mock 的固定验证码和“放弃资产”文案仅用于演示,不能直接作为真实业务规则。