import { timerTask } from '@/utils/timer' import { tokenCheck } from '@/services/api/account' import eventBus from '@/services/bus' /** * 令牌校验 */ export async function checkToken() { try { return await tokenCheck() } catch (err) { // 临时解决方案,有可能出现网络问题导致超时后账号被登出 if (err !== '业务超时') { eventBus.$emit('LogoutNotify', '登录失效,请重新登录') } return Promise.reject(err) } } /** * 轮询校验令牌 */ export function checkTokenLoop() { const delay = 1 * 60 * 1000 // 每1分钟校验一次令牌 timerTask.setTimeout(() => { checkToken().then(() => checkTokenLoop()) }, delay, 'checkToken') } /** * 停止令牌校验 */ export function stopCheckToken() { timerTask.clearTimeout('checkToken') }