Merge pull request #88 from zhou151/master

new file routes
This commit is contained in:
good luck 2020-09-09 14:30:59 +08:00 committed by GitHub
commit acc7c0f9ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 22 deletions

View File

@ -24,16 +24,13 @@ const mutations = {
}; };
const actions = { const actions = {
async setRoutes({ commit }, permissions) { async setRoutes({ commit }, permissions) {
//防止污染路由 //开源版只过滤动态路由permissionsadmin不再默认拥有全部权限
const baseRoutes = [...asyncRoutes]; const finallyAsyncRoutes = await filterAsyncRoutes(
let accessedRoutes = []; [...asyncRoutes],
if (permissions.includes("admin")) { permissions
accessedRoutes = baseRoutes; );
} else { commit("setRoutes", finallyAsyncRoutes);
accessedRoutes = await filterAsyncRoutes(baseRoutes, permissions); return finallyAsyncRoutes;
}
commit("setRoutes", accessedRoutes);
return accessedRoutes;
}, },
async setAllRoutes({ commit }) { async setAllRoutes({ commit }) {
let { data } = await getRouterList(); let { data } = await getRouterList();

View File

@ -5,7 +5,7 @@ import {
contentType, contentType,
debounce, debounce,
invalidCode, invalidCode,
noPermissionCode, noRoleCode,
requestTimeout, requestTimeout,
successCode, successCode,
tokenName, tokenName,
@ -19,7 +19,7 @@ import { isArray } from "@/utils/validate";
let loadingInstance; let loadingInstance;
/** /**
* @copyright chuzhixin 1204505056@qq.com * @author chuzhixin 1204505056@qq.com
* @description 判断当前url是否需要加loading * @description 判断当前url是否需要加loading
* @param {*} config * @param {*} config
* @returns * @returns
@ -35,7 +35,7 @@ const needLoading = (config) => {
}; };
/** /**
* @copyright chuzhixin 1204505056@qq.com * @author chuzhixin 1204505056@qq.com
* @description 处理code异常 * @description 处理code异常
* @param {*} code * @param {*} code
* @param {*} msg * @param {*} msg
@ -44,13 +44,15 @@ const handleCode = (code, msg) => {
switch (code) { switch (code) {
case invalidCode: case invalidCode:
Vue.prototype.$baseMessage(msg || `后端接口${code}异常`, "error"); Vue.prototype.$baseMessage(msg || `后端接口${code}异常`, "error");
store.dispatch("user/resetAccessToken").catch(() => {}); store.dispatch("user/resetAccessToken").catch(() => {});
//开启登录拦截才需要刷新,不然死循环
if (loginInterception) { if (loginInterception) {
location.reload(); location.reload();
} }
break; break;
case noPermissionCode: case noRoleCode:
router.push({ path: "/401" }).catch(() => {}); router.push({ path: "/401" }).catch(() => {});
break; break;
default: default:
@ -65,6 +67,7 @@ const instance = axios.create({
headers: { headers: {
"Content-Type": contentType, "Content-Type": contentType,
}, },
//withCredentials: true,
}); });
instance.interceptors.request.use( instance.interceptors.request.use(
@ -72,12 +75,6 @@ instance.interceptors.request.use(
if (store.getters["user/accessToken"]) { if (store.getters["user/accessToken"]) {
config.headers[tokenName] = store.getters["user/accessToken"]; config.headers[tokenName] = store.getters["user/accessToken"];
} }
//这里会过滤所有为空、0、false的key如果不需要请自行注释
if (config.data)
config.data = Vue.prototype.$baseLodash.pickBy(
config.data,
Vue.prototype.$baseLodash.identity
);
if ( if (
contentType === "application/x-www-form-urlencoded;charset=UTF-8" && contentType === "application/x-www-form-urlencoded;charset=UTF-8" &&
@ -100,7 +97,7 @@ instance.interceptors.response.use(
(response) => { (response) => {
if (loadingInstance) loadingInstance.close(); if (loadingInstance) loadingInstance.close();
const { status, data, config } = response; const { data, config } = response;
const { code, msg } = data; const { code, msg } = data;
// 操作正常Code数组 // 操作正常Code数组
const codeVerificationArray = isArray(successCode) const codeVerificationArray = isArray(successCode)