1
0
mirror of https://github.com/zclzone/vue-naive-admin.git synced 2025-05-03 07:39:00 +08:00
2022-07-25 18:36:22 +08:00

34 lines
747 B
JavaScript

import { lStorage } from './cache'
import api from '@/api'
const TOKEN_CODE = 'access_token'
const DURATION = 6 * 60 * 60
export function getToken() {
return lStorage.get(TOKEN_CODE)
}
export function setToken(token) {
lStorage.set(TOKEN_CODE, token, DURATION)
}
export function removeToken() {
lStorage.remove(TOKEN_CODE)
}
export async function refreshAccessToken() {
const tokenItem = lStorage.getItem(TOKEN_CODE)
if (!tokenItem) {
return
}
const { time } = tokenItem
// token生成或者刷新后30分钟内不执行刷新
if (new Date().getTime() - time <= 1000 * 60 * 30) return
try {
const res = await api.refreshToken()
if (res.code === 0) {
setToken(res.data.token)
}
} catch (error) {}
}