1
0
mirror of https://github.com/zclzone/vue-naive-admin.git synced 2026-04-26 04:04:08 +08:00
Files
vue-naive-admin/src/utils/auth/token.js
2023-08-31 17:03:07 +08:00

34 lines
731 B
JavaScript

import { lStorage } from '@/utils'
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 (Date.now() - time <= 1000 * 60 * 30) return
try {
const res = await api.refreshToken()
setToken(res.data.token)
} catch (error) {
console.error(error)
}
}