登录 token校验

yanzili 3 years ago
parent 52e040bd47
commit bec50fadaa

@ -17,13 +17,10 @@ service.interceptors.request.use(
config => { config => {
// 在发送请求之前做些什么 // 在发送请求之前做些什么
var token = getItem('token'); var token = getItem('token');
// config = signUtil.sign(token, deepClone(config));
console.log(config, 'config')
return config return config
}, },
error => { error => {
// Do something with request error // Do something with request error
console.log(error) // for debug
Promise.reject(error) Promise.reject(error)
} }
) )
@ -35,6 +32,7 @@ service.interceptors.response.use(
if (res.code == 200) { if (res.code == 200) {
return res return res
} }
else if (res.code == '50014') { else if (res.code == '50014') {
//登录超时或被登出,弹确认框,用户确认后,跳转到登录页面 //登录超时或被登出,弹确认框,用户确认后,跳转到登录页面
MessageBox({ MessageBox({
@ -45,7 +43,6 @@ service.interceptors.response.use(
sessionStorage.clear(); sessionStorage.clear();
localStorage.clear(); localStorage.clear();
delItem('token') delItem('token')
// location.reload();
window.location.href = "/"; window.location.href = "/";
}).catch(err => { }).catch(err => {
}) })

@ -98,7 +98,7 @@ export const constantRouterMap = [
// ] // ]
// }, // },
{ path: '/404', component: () => import('@/views/404'), hidden: true }, { path: '/404', component: () => import('@/views/404'), hidden: true },
{ path: '*', redirect: '/index', hidden: true }, { path: '*', redirect: '/login', hidden: true },
] ]
export default new Router({ export default new Router({

@ -2,7 +2,6 @@ import axios from 'axios'
import { Message, MessageBox } from 'element-ui' import { Message, MessageBox } from 'element-ui'
import store from '../store' import store from '../store'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
baseURL: process.env.BASE_API, // api 的 base_url baseURL: process.env.BASE_API, // api 的 base_url
@ -17,7 +16,6 @@ service.interceptors.request.use(
}, },
error => { error => {
// Do something with request error // Do something with request error
console.log(error) // for debug
Promise.reject(error) Promise.reject(error)
} }
) )
@ -29,36 +27,37 @@ service.interceptors.response.use(
* code为非20000是抛错 可结合自己业务进行修改 * code为非20000是抛错 可结合自己业务进行修改
*/ */
const res = response.data const res = response.data
if (res.code !== '200') { // 50008:非法的token; 50012:其他客户端登录了; 50014:Token 过期了;
if (res.code == '50008' || res.code == '50012' || res.code == '50014') {
MessageBox.confirm(
'你已被登出,可以取消继续留在该页面,或者重新登录',
'重新登录',
{
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}
).then(() => {
// store.dispatch('FedLogOut').then(() => {
// // location.reload() // 为了重新实例化vue-router对象 避免bug
// window.location.href = "/";
// })
location.reload();
window.location.href = "/";
})
}
else if (res.code !== '200') {
Message({ Message({
message: res.message, message: res.message,
type: 'error', type: 'error',
duration: 5 * 1000 duration: 5 * 1000
}) })
// 50008:非法的token; 50012:其他客户端登录了; 50014:Token 过期了;
if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
MessageBox.confirm(
'你已被登出,可以取消继续留在该页面,或者重新登录',
'确定登出',
{
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}
).then(() => {
store.dispatch('FedLogOut').then(() => {
location.reload() // 为了重新实例化vue-router对象 避免bug
})
})
}
return Promise.reject('error') return Promise.reject('error')
} else { } else {
return response.data return response.data
} }
}, },
error => { error => {
console.log('err' + error) // for debug
Message({ Message({
message: error.message, message: error.message,
type: 'error', type: 'error',

Loading…
Cancel
Save