| 1234567891011121314151617181920212223242526272829303132333435 |
- 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')
- }
|