优化登录失效后操作的友好性提示
This commit is contained in:
parent
280d68f2ca
commit
41e42eec13
@ -34,10 +34,9 @@ router.beforeEach(async(to, from, next) => {
|
|||||||
// get user info
|
// get user info
|
||||||
await store.dispatch('user/getInfo')
|
await store.dispatch('user/getInfo')
|
||||||
next()
|
next()
|
||||||
} catch (error) {
|
} catch {
|
||||||
// remove token and go to login page to re-login
|
// remove token and go to login page to re-login
|
||||||
await store.dispatch('user/resetToken')
|
await store.dispatch('user/resetToken')
|
||||||
Message.error(error || 'Has Error')
|
|
||||||
next(`/login?redirect=${to.path}`)
|
next(`/login?redirect=${to.path}`)
|
||||||
NProgress.done()
|
NProgress.done()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,7 +24,7 @@ service.interceptors.request.use(
|
|||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
// do something with request error
|
// do something with request error
|
||||||
console.log(error) // for debug
|
console.log('123',error) // for debug
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -43,38 +43,37 @@ service.interceptors.response.use(
|
|||||||
*/
|
*/
|
||||||
response => {
|
response => {
|
||||||
const res = response.data
|
const res = response.data
|
||||||
|
|
||||||
// if the custom code is not 20000, it is judged as an error.
|
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
if(res.code === -2){
|
if (res.code === -2) {
|
||||||
Message({
|
Message({
|
||||||
message: res.message || '服务器开小差了...',
|
message: res.message || '服务器开小差了...',
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
duration: 2 * 1000
|
duration: 2 * 1000
|
||||||
})
|
})
|
||||||
}else{
|
} else if (res.code === 5) {
|
||||||
|
// to re-login
|
||||||
|
setTimeout(function () {
|
||||||
|
const hasToken = getToken()
|
||||||
|
if(hasToken){
|
||||||
|
MessageBox.confirm('登录已失效,可以取消停留在此页面上,或者再次登录', '确认登出', {
|
||||||
|
confirmButtonText: '重新登录',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
store.dispatch('user/resetToken').then(() => {
|
||||||
|
location.reload()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},200)
|
||||||
|
} else {
|
||||||
Message({
|
Message({
|
||||||
message: res.message || '服务器开小差了...',
|
message: res.message || '服务器开小差了...',
|
||||||
type: 'error',
|
type: 'error',
|
||||||
duration: 3 * 1000
|
duration: 3 * 1000
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
return Promise.reject()
|
||||||
console.log(res.message)
|
|
||||||
|
|
||||||
if (res.code === 5) {
|
|
||||||
// to re-login
|
|
||||||
MessageBox.confirm('您已注销,可以取消停留在此页面上,或者再次登录', '确认登出', {
|
|
||||||
confirmButtonText: '重新登录',
|
|
||||||
cancelButtonText: '取消',
|
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
store.dispatch('user/resetToken').then(() => {
|
|
||||||
location.reload()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return Promise.reject(new Error(res.message || 'Error'))
|
|
||||||
} else {
|
} else {
|
||||||
let message = ''
|
let message = ''
|
||||||
if(res.message){
|
if(res.message){
|
||||||
@ -91,9 +90,8 @@ service.interceptors.response.use(
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.log('err' + error) // for debug
|
|
||||||
Message({
|
Message({
|
||||||
message: error.message,
|
message: '哎呀!服务器出错,请稍后再试!',
|
||||||
type: 'error',
|
type: 'error',
|
||||||
duration: 5 * 1000
|
duration: 5 * 1000
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user