恢复邮箱登录态

验证状态:已源码核验、未联调(无 app 调用图);services 基线:源码归纳 @ 2026-09-14

用途与场景

邮箱族登录(邮箱登录)成功后,App 每次冷启动/重新进入前台时用当前凭据重新换取登录态视图:新的加密 JWT(data.authorization,需替换旧 token)、当前租户、用户资料与 App 侧 MQTT 账号。本端点是邮箱族的登录态恢复通道;用户名族的同名能力见机构手册恢复登录态

App 现役依据

判定证据 内容
旧 app 文档收录记录 旧 app 文档仓在 docs/api/main-service/system-api/user-center/user-email/logind/ 收录本端点,属 App 既有调用面
两代分工语义 /v1/retail 第二代无登录态恢复对应物;邮箱族登录态恢复的现役通道只有本端点
后端持续维护迹象 UserEmailPlusController 2026-08-27 仍有重构提交,邮箱族主链路持续维护

端点

GET /main-service/system-api/user-center/user-email/logind — 邮箱族登录态恢复:用当前凭据重新签发 token 并下发登录态视图。

端点全量事实(参数、请求/响应字段、错误码、权限点)见清单层 user-center · user-email 用户邮箱;登录态恢复的共享语义(全新签发而非续期、token 有效期、防御分支、extraData 的 MQTT 账号与员工视图)见用户中心业务 · user 用户(登录族共享)与用户中心业务 · user-email 用户邮箱

动线与完成判据

status=200data.authorization 非空,表示登录态已重算并拿到新 token;App 必须替换本地存储的旧 token(旧 token 不被服务端吊销,但有效期从新签发时刻起算)。data 各字段为 null 的成功应答表示当前无登录态(防御分支),App 应引导重新登录。本端点不承诺「续期」——每次调用都是全新签发。

错误与边界

纯读取端点,无业务拒绝分支;失败出口只有认证族(HTTP 200 + status=1000,重新登录)与协议/服务器错误族,判定口径见错误响应差异。无写副作用,可安全重复调用;App 冷启动或 token 即将过期时调用即可,无需自创续期节奏。

调用关系与资源清理

无客户端长连接资源需要释放;但 extraData 下发的 MQTT 账号用于 App 侧 MQTT 连接(订阅设备遥测等),换用新 MQTT 账号时旧连接应主动断开重连。旧 token 替换后应丢弃,不应双 token 混用。

已知缺口

未执行真实联调:token 替换后旧 token 的实际失效时序、mqtt-app-accounts 生产配置与兜底账号的切换行为均无 App 实测佐证。loginUser 嵌套字段未逐字段展开(用户模型同机构手册 恢复登录态 的口径)。