正常code码原生支持多个正常code码

This commit is contained in:
初志鑫 2020-07-15 15:48:47 +08:00
parent 6e1260bc6d
commit 8f3c48d8cc
2 changed files with 20 additions and 4 deletions

View File

@ -68,8 +68,8 @@ module.exports = {
messageDuration: 3000,
//最长请求时间
requestTimeout: 5000,
//操作正常code
successCode: 200,
//操作正常code支持String、Array两种方式
successCode: [200, 0],
//登录失效code
invalidCode: 402,
//无权限code

View File

@ -15,6 +15,7 @@ import store from "@/store";
import qs from "qs";
import router from "@/router";
import _ from "lodash";
import { isArray, isNumber } from "@/utils/validate";
const service = axios.create({
baseURL,
@ -30,9 +31,10 @@ service.interceptors.request.use(
config.headers[tokenName] = store.getters["user/accessToken"];
}
if (config.data) {
//这里会过滤所有为空、0、fasle的key如果不需要请自行注释
config.data = _.pickBy(config.data, _.identity);
}
if (process.env.NODE_ENV !== "test") {
if (process.env.NODE_ENV !== "preview") {
if (contentType === "application/x-www-form-urlencoded;charset=UTF-8") {
if (config.data && !config.data.param) {
config.data = qs.stringify(config.data);
@ -74,7 +76,21 @@ service.interceptors.response.use(
}
const { status, data, config } = response;
const { code, msg } = data;
if (code !== successCode) {
let codeVerification = false;
if (isNumber(successCode)) {
codeVerification = code !== successCode;
}
if (isArray(successCode)) {
for (let i = 0; i < successCode.length; i++) {
if (code === i) {
codeVerification = code !== i;
break;
}
}
}
if (codeVerification) {
switch (code) {
case invalidCode:
errorMsg(msg || `后端接口${code}异常`);