diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 18c608b..cfdf326 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -127,7 +127,7 @@ const actions = { async login({ commit }, data) { const res = await login(data) console.log('将登录页的逻辑移动到 vuex 里面') - commit('setToken', res.data.data) + commit('setToken', res) } } diff --git a/src/utils/request.js b/src/utils/request.js index d6cf609..bdac9cc 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,4 +1,5 @@ import axios from 'axios' +import { Message } from 'element-ui' // import { MessageBox, Message } from 'element-ui' // import store from '@/store' // import { getToken } from '@/utils/auth' @@ -84,7 +85,20 @@ service.interceptors.request.use( // 响应拦截器 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 diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 3cb94be..dd144c3 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -126,9 +126,10 @@ export default { }, async handleLogin() { try { - await this.$refs.loginForm.validate() - this.$store.dispatch('user/login', this.loginForm) + await this.$refs.loginForm.validate() // 数据校验 + await this.$store.dispatch('user/login', this.loginForm) // 必须加await } catch (error) { + console.log('捕获错误') console.log(error) } }