提交 75a30ce6 authored 作者: lidongxu's avatar lidongxu

feat(login): 新增:登录状态过期自动续签

上级 337dcd0c
......@@ -71,3 +71,11 @@ export function logout() {
})
}
// 刷新 token 有效期
export function refreshToken() {
return request({
url: '/auth/refresh',
method: 'post'
})
}
......@@ -10,12 +10,12 @@ export default defineStore(
// 获取版本信息
getVersion() {
return new Promise((resolve, reject) => {
// getVersionAPI().then(res => {
// this.version = res.data
// resolve(res)
// }).catch(error => {
// reject(error)
// })
getVersionAPI().then(res => {
this.version = res.data
resolve(res)
}).catch(error => {
reject(error)
})
resolve()
})
}
......
......@@ -6,7 +6,7 @@ import { tansParams, blobValidate } from '@/utils/ruoyi'
import cache from '@/plugins/cache'
import { saveAs } from 'file-saver'
import useUserStore from '@/store/modules/user'
import { fsClientAuth } from '@/api'
import { fsClientAuth, refreshToken } from '@/api'
let downloadLoadingInstance;
// 是否显示重新登录
......@@ -81,6 +81,8 @@ service.interceptors.request.use(config => {
// 响应拦截器
service.interceptors.response.use(async res => {
console.log('响应', res)
// 未设置状态码则默认成功状态
const code = res.data.code || 200;
// 获取错误信息
......@@ -100,6 +102,10 @@ service.interceptors.response.use(async res => {
// 重新发送本次失败的请求
return service(res.config)
}
// PC/移动端刷新 token 有效期
await refreshToken()
return service(res.config)
if (!isRelogin.show) {
isRelogin.show = true;
ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论