响应拦截器对err处理

This commit is contained in:
jqtmviyu@gmail.com 2021-01-15 15:00:19 +08:00
parent f0ffd89af2
commit 67073c5e86
3 changed files with 19 additions and 4 deletions

View File

@ -127,7 +127,7 @@ const actions = {
async login({ commit }, data) { async login({ commit }, data) {
const res = await login(data) const res = await login(data)
console.log('将登录页的逻辑移动到 vuex 里面') console.log('将登录页的逻辑移动到 vuex 里面')
commit('setToken', res.data.data) commit('setToken', res)
} }
} }

View File

@ -1,4 +1,5 @@
import axios from 'axios' import axios from 'axios'
import { Message } from 'element-ui'
// import { MessageBox, Message } from 'element-ui' // import { MessageBox, Message } from 'element-ui'
// import store from '@/store' // import store from '@/store'
// import { getToken } from '@/utils/auth' // import { getToken } from '@/utils/auth'
@ -84,7 +85,20 @@ service.interceptors.request.use(
// 响应拦截器 // 响应拦截器
service.interceptors.response.use(res => { service.interceptors.response.use(res => {
return res const { message, data, success } = res.data
if (success) {
// 已经对res的成功与否进行处理, 直接返回data
return data
} else {
Message.error(message || '系统错误') // 饿了么弹窗组件
return Promise.reject(message) // 这里的reject是为了可以继续链式调用, 比如跳到login/index handleLogin catch
}
}, err => {
console.dir(err)
// 提示错误
Message.error(err.message)
// reject
return Promise.reject(err)
}) })
export default service export default service

View File

@ -126,9 +126,10 @@ export default {
}, },
async handleLogin() { async handleLogin() {
try { try {
await this.$refs.loginForm.validate() await this.$refs.loginForm.validate() //
this.$store.dispatch('user/login', this.loginForm) await this.$store.dispatch('user/login', this.loginForm) // await
} catch (error) { } catch (error) {
console.log('捕获错误')
console.log(error) console.log(error)
} }
} }