From 67073c5e869823bf6d8a020d97315b8c19eb8e1c Mon Sep 17 00:00:00 2001 From: "jqtmviyu@gmail.com" Date: Fri, 15 Jan 2021 15:00:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=93=8D=E5=BA=94=E6=8B=A6=E6=88=AA=E5=99=A8?= =?UTF-8?q?=E5=AF=B9err=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/user.js | 2 +- src/utils/request.js | 16 +++++++++++++++- src/views/login/index.vue | 5 +++-- 3 files changed, 19 insertions(+), 4 deletions(-) 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) } }