createAuthRecovery
创建 401 恢复流程:清理 token → 恢复会话 → 广播恢复事件 → 重放原请求。
前置依赖
依赖参数
| 参数名 | 类型 | 说明 |
|---|---|---|
deps.clearAuthTokens | () => void | 清理本地 token |
deps.recoverSession | () => Promise<boolean> | 拉起登录等,成功返回 true |
函数签名
typescript
function createAuthRecovery(deps: CreateAuthRecoveryDeps): AuthRecovery参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
deps | CreateAuthRecoveryDeps | 是 | 恢复流程依赖 |
返回值
| 方法 | 说明 |
|---|---|
recoverAuthSession | 串行化恢复会话 |
fetchWithAuthRecovery | 401 时恢复并重试一次 |
onAuthRecovered | 订阅恢复成功事件 |
工作原理
recoverAuthSession串行化,避免并发弹多个登录框。fetchWithAuthRecovery在 401 时调用恢复并重放原请求。onAuthRecovered用于重连 WebSocket 等副作用。