mirror of
https://gitee.com/chu1204505056/vue-admin-beautiful.git
synced 2025-04-06 03:58:00 +08:00
update:
简化setting.js footerCopyright,githubCorner router/index.js routerMode history时,base添加 优化src/utils/request.js codeVerification逻辑 fix: typo错误 比较 == 可能导致意外类型强制 从 dispatch 返回的 Promise 被忽略 从 push 返回的 Promise 被忽略 异步函数调用缺少 await
This commit is contained in:
parent
5850cd07e2
commit
241d0f098f
@ -42,7 +42,7 @@ router.beforeResolve(async (to, from, next) => {
|
||||
let permissions;
|
||||
if (!loginInterception) {
|
||||
//settings.js loginInterception为false时,创建虚拟权限
|
||||
store.dispatch("user/setPermissions", ["admin"]);
|
||||
await store.dispatch("user/setPermissions", ["admin"]);
|
||||
permissions = ["admin"];
|
||||
} else {
|
||||
permissions = await store.dispatch("user/getUserInfo");
|
||||
|
@ -3,7 +3,7 @@
|
||||
* @description 全局变量配置
|
||||
*/
|
||||
module.exports = {
|
||||
// 开发以及部署时的URL
|
||||
// 开发以及部署时的URL 如"/test/"
|
||||
publicPath: "",
|
||||
// 生产环境构建文件的目录名
|
||||
outputDir: "dist",
|
||||
@ -29,9 +29,9 @@ module.exports = {
|
||||
//烦请保留package.json作者信息 保留版权可免费商用 如需去除并自定义为自己企业的版权请联系群主QQ 1204505056 需支付299元 恶意修改发生纠纷及出现任何问题 由修改人自行承担
|
||||
copyright: process.env.VUE_APP_AUTHOR,
|
||||
//是否显示页面底部版权信息,建议您显示,当然您也可以选择不显示,不管您是付费用户还是未付费用户您都有选择显示或者不显示的权利
|
||||
footerCopyright: process.env.NODE_ENV !== "development" ? true : false,
|
||||
footerCopyright: process.env.NODE_ENV !== "development",
|
||||
//是否显示右上角github图标
|
||||
githubCorner: process.env.NODE_ENV !== "development" ? true : false,
|
||||
githubCorner: process.env.NODE_ENV !== "development",
|
||||
//是否显示顶部进度条
|
||||
progressBar: true,
|
||||
//缓存路由的最大数量
|
||||
|
@ -7,7 +7,7 @@ import Vue from "vue";
|
||||
import VueRouter from "vue-router";
|
||||
import Layout from "@/layouts";
|
||||
import EmptyLayout from "@/layouts/EmptyLayout";
|
||||
import { routerMode } from "@/config/settings";
|
||||
import { publicPath, routerMode } from "@/config/settings";
|
||||
|
||||
Vue.use(VueRouter);
|
||||
export const constantRoutes = [
|
||||
@ -468,6 +468,7 @@ export const asyncRoutes = [
|
||||
];
|
||||
|
||||
const router = new VueRouter({
|
||||
base: routerMode === "history" ? publicPath : "",
|
||||
mode: routerMode,
|
||||
scrollBehavior: () => ({
|
||||
y: 0,
|
||||
@ -484,6 +485,7 @@ VueRouter.prototype.push = function push(location, onResolve, onReject) {
|
||||
|
||||
export function resetRouter() {
|
||||
router.matcher = new VueRouter({
|
||||
base: routerMode === "history" ? publicPath : "",
|
||||
mode: routerMode,
|
||||
scrollBehavior: () => ({
|
||||
y: 0,
|
||||
|
@ -15,7 +15,7 @@ import store from "@/store";
|
||||
import qs from "qs";
|
||||
import router from "@/router";
|
||||
import _ from "lodash";
|
||||
import { isArray, isNumber } from "@/utils/validate";
|
||||
import { isArray } from "@/utils/validate";
|
||||
|
||||
const service = axios.create({
|
||||
baseURL,
|
||||
@ -31,7 +31,7 @@ service.interceptors.request.use(
|
||||
config.headers[tokenName] = store.getters["user/accessToken"];
|
||||
}
|
||||
if (config.data) {
|
||||
//这里会过滤所有为空、0、fasle的key,如果不需要请自行注释
|
||||
//这里会过滤所有为空、0、false的key,如果不需要请自行注释
|
||||
config.data = _.pickBy(config.data, _.identity);
|
||||
}
|
||||
if (process.env.NODE_ENV !== "preview") {
|
||||
@ -76,29 +76,21 @@ service.interceptors.response.use(
|
||||
}
|
||||
const { status, data, config } = response;
|
||||
const { code, msg } = data;
|
||||
let codeVerification = "";
|
||||
|
||||
if (isNumber(successCode)) {
|
||||
codeVerification = successCode;
|
||||
}
|
||||
if (isArray(successCode)) {
|
||||
for (let i = 0; i < successCode.length; i++) {
|
||||
if (code === successCode[i]) {
|
||||
codeVerification = successCode[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (code != codeVerification) {
|
||||
// 操作正常Code数组
|
||||
let codeVerificationArray = isArray(successCode)
|
||||
? [...successCode]
|
||||
: [...[successCode]];
|
||||
// 是否操作正常
|
||||
if (codeVerificationArray.includes(code)) {
|
||||
return data;
|
||||
} else {
|
||||
switch (code) {
|
||||
case invalidCode:
|
||||
errorMsg(msg || `后端接口${code}异常`);
|
||||
store.dispatch("user/resetAccessToken");
|
||||
store.dispatch("user/resetAccessToken").catch(() => {});
|
||||
break;
|
||||
case noPermissionCode:
|
||||
router.push({
|
||||
path: "/401",
|
||||
});
|
||||
router.push({ path: "/401" }).catch(() => {});
|
||||
break;
|
||||
default:
|
||||
errorMsg(msg || `后端接口${code}异常`);
|
||||
@ -108,8 +100,6 @@ service.interceptors.response.use(
|
||||
"vue-admin-beautiful请求异常拦截:" +
|
||||
JSON.stringify({ url: config.url, code, msg }) || "Error"
|
||||
);
|
||||
} else {
|
||||
return data;
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
@ -118,7 +108,7 @@ service.interceptors.response.use(
|
||||
}
|
||||
/*网络连接过程异常处理*/
|
||||
let { message } = error;
|
||||
if (message == "Network Error") {
|
||||
if (message === "Network Error") {
|
||||
message = "后端接口连接异常";
|
||||
}
|
||||
if (message.includes("timeout")) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user