From b28cf91468784347293de089d0bbffc4c7bcdb75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=9D=E5=BF=97=E9=91=AB?= <1204505056@qq.com> Date: Wed, 29 Jul 2020 20:54:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B1=80axios=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=85=A8=E9=9D=A2=E6=94=AF=E6=8C=81Status=20Code=E6=8B=A6?= =?UTF-8?q?=E6=88=AA=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mock/controller/changeLog.js | 4 ++++ mock/mockServer.js | 5 +++-- src/utils/request.js | 4 ++++ vue.config.js | 15 ++++++++------- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/mock/controller/changeLog.js b/mock/controller/changeLog.js index 99dcd77..4e51fc1 100644 --- a/mock/controller/changeLog.js +++ b/mock/controller/changeLog.js @@ -158,6 +158,10 @@ const data = [ content: "主题配置添加海洋之心、绿荫草场、荣耀典藏、暗黑之子模式", timestamp: "2020-07-18", }, + { + content: "全局axios请求全面支持Status Code拦截处理", + timestamp: "2020-07-29", + }, ]; export default [ diff --git a/mock/mockServer.js b/mock/mockServer.js index 583bc3c..720496c 100644 --- a/mock/mockServer.js +++ b/mock/mockServer.js @@ -11,7 +11,7 @@ const mockDir = path.join(process.cwd(), "mock"); * @param app * @returns {{mockStartIndex: number, mockRoutesLength: number}} */ -function registerRoutes(app) { +const registerRoutes = (app) => { let mockLastIndex; const { default: mocks } = require("./index.js"); const mocksForServer = mocks.map((route) => { @@ -26,7 +26,7 @@ function registerRoutes(app) { mockRoutesLength: mockRoutesLength, mockStartIndex: mockLastIndex - mockRoutesLength, }; -} +}; /** * @@ -40,6 +40,7 @@ const responseFake = (url, type, respond) => { url: new RegExp(`${baseURL}${url}`), type: type || "get", response(req, res) { + res.status(200); if (JSON.stringify(req.body) !== "{}") { console.log(chalk.green(`> 请求地址:${req.path}`)); console.log(chalk.green(`> 请求参数:${JSON.stringify(req.body)}\n`)); diff --git a/src/utils/request.js b/src/utils/request.js index 465b161..686412a 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -127,6 +127,10 @@ service.interceptors.response.use( if (message.includes("Request failed with status code")) { message = "后端接口" + message.substr(message.length - 3) + "异常"; } + if (error.response) { + const { data } = error.response; + message = data.msg; + } errorMsg(message || "后端接口未知异常"); return Promise.reject(error); } diff --git a/vue.config.js b/vue.config.js index b9d090c..b29433a 100644 --- a/vue.config.js +++ b/vue.config.js @@ -24,26 +24,27 @@ const Webpack = require("webpack"); const WebpackBar = require("webpackbar"); const FileManagerPlugin = require("filemanager-webpack-plugin"); const dayjs = require("dayjs"); -const date = new dayjs().format("YYYY_M_D"); -const time = new dayjs().format("YYYY-M-D HH:mm:ss"); +const date = dayjs().format("YYYY_M_D"); +const time = dayjs().format("YYYY-M-D HH:mm:ss"); const CompressionWebpackPlugin = require("compression-webpack-plugin"); const productionGzipExtensions = ["html", "js", "css", "svg"]; process.env.VUE_APP_TITLE = title || "vue-admin-beautiful"; process.env.VUE_APP_AUTHOR = author || "chuzhixin"; process.env.VUE_APP_UPDATE_TIME = time; process.env.VUE_APP_VERSION = version; -function resolve(dir) { - return path.join(__dirname, dir); -} -function mockServer() { +const resolve = (dir) => { + return path.join(__dirname, dir); +}; + +const mockServer = () => { if (process.env.NODE_ENV === "development") { const mockServer = require("./mock/mockServer.js"); return mockServer; } else { return ""; } -} +}; module.exports = { publicPath,