This commit is contained in:
Your Name
2026-04-07 18:13:03 +08:00
parent a780356908
commit fdf714f833
397 changed files with 15086 additions and 1043 deletions
+20
View File
@@ -10,6 +10,10 @@ import { clearAuthInfo, getToken } from '../auth'
import feedback from '../feedback'
import { Axios } from './axios'
import type { AxiosHooks } from './type'
import { isBrowserOnWecomBindOAuthLanding } from '../wecomBindGuard'
const BIND_WORK_WECHAT_PATH = '/bind-work-wechat'
let lastWorkWechatBindRedirectAt = 0
// 处理axios的钩子函数
const axiosHooks: AxiosHooks = {
@@ -65,6 +69,22 @@ const axiosHooks: AxiosHooks = {
clearAuthInfo()
router.push(PageEnum.LOGIN)
return Promise.reject()
case RequestCodeEnum.NEED_BIND_WORK_WECHAT:
// 回跳瞬间 currentRoute 可能还是 /,误判后 replace 无 query,地址栏 code 被清 → 绑定永远不请求
if (
router.currentRoute.value.path === BIND_WORK_WECHAT_PATH ||
isBrowserOnWecomBindOAuthLanding()
) {
return Promise.reject(data)
}
{
const now = Date.now()
if (now - lastWorkWechatBindRedirectAt > 400) {
lastWorkWechatBindRedirectAt = now
void router.replace(BIND_WORK_WECHAT_PATH).catch(() => {})
}
}
return Promise.reject(data)
case RequestCodeEnum.OPEN_NEW_PAGE:
window.location.href = data.url
return data