Commit 3eeb7834 authored by “yiyousong”'s avatar “yiyousong”

perf: 优化

parent 29cd91b8
import Vue from "vue";
import VueRouter from "vue-router";
import Layouts from "@/layouts/Layouts.vue";
import store from "@/store";
import { generateRoutes } from "@/utils";
import Vue from 'vue';
import VueRouter from 'vue-router';
import Layouts from '@/layouts/Layouts.vue';
import store from '@/store';
import { generateRoutes } from '@/utils';
// import local from "@/utils/local";
// 解决重复点击同一个路由报错
const originalPush = VueRouter.prototype.push;
......@@ -13,10 +13,10 @@ Vue.use(VueRouter);
const routes = [
{
path: "/",
name: "/",
path: '/',
name: '/',
component: Layouts,
redirect: "/sso",
redirect: '/sso',
children: [
// {
// path: "/home",
......@@ -59,35 +59,35 @@ const routes = [
// },
// 数据搜索引擎
{
path: "/enginesearch",
component: () => import("@/pages/engineSearch/EngineSearch"),
path: '/enginesearch',
component: () => import('@/pages/engineSearch/EngineSearch'),
hidden: true,
redirect: "/enginesearch/queueupdata",
redirect: '/enginesearch/queueupdata',
children: [
{
path: "/enginesearch/queueupdata",
path: '/enginesearch/queueupdata',
hideChildrenInMenu: true,
hidden: true,
component: () => import("@/pages/engineSearch/QueueUpData"),
component: () => import('@/pages/engineSearch/QueueUpData'),
meta: {
title: "排队数据",
activeMenu: "/engine",
parentPath: "/enginesearch",
},
title: '排队数据',
activeMenu: '/engine',
parentPath: '/enginesearch'
}
},
{
path: "/enginesearch/evaluatedata",
path: '/enginesearch/evaluatedata',
hideChildrenInMenu: true,
hidden: true,
component: () => import("@/pages/engineSearch/EvaluateData"),
component: () => import('@/pages/engineSearch/EvaluateData'),
meta: {
title: "评价数据",
activeMenu: "/engine",
parentPath: "/enginesearch",
},
},
],
},
title: '评价数据',
activeMenu: '/engine',
parentPath: '/enginesearch'
}
}
]
}
// {
// path: "/market",
......@@ -216,38 +216,48 @@ const routes = [
// },
// ],
// },
],
]
},
{
path: "/sso",
name: "跳转页",
path: '/sso',
name: '跳转页',
hidden: true,
component: () => import("@/pages/sso/Sso"),
component: () => import('@/pages/sso/Sso')
},
{
path: "/login",
name: "登录页",
path: '/login',
name: '登录页',
hidden: true,
component: () => import("@/pages/login/Login"),
component: () => import('@/pages/login/Login')
},
{
path: "*",
component: () => import("@/pages/404/404.vue"),
hidden: true,
},
path: '*',
component: () => import('@/pages/404/404.vue'),
hidden: true
}
];
const router = new VueRouter({
routes,
scrollBehavior(to, from, savedPosition) {
// savedPosition 会在你使用浏览器前进或后退按钮时候生效
// savedPosition: 会记录滚动条的坐标,点击"后退/前进" 时的记录值(x:?,y:?)
if (savedPosition) {
return savedPosition;
} else {
// 期望滚动的位置
return { x: 0, y: 0, behavior: 'smooth' };
}
}
});
// 前置路由卫士
router.beforeEach((to, from, next) => {
let islogin = store.getters["user/token"];
let islogin = store.getters['user/token'];
if (islogin) {
next();
} else {
if (to.path === "/sso" || to.path === "/login") {
if (to.path === '/sso' || to.path === '/login') {
next();
} else {
location.href = process.env.VUE_APP_API_portal_URL;
......@@ -269,13 +279,13 @@ function menusFilter(arr) {
}
// 动态菜单
export function calcMenu() {
let menusList = store.getters["user/menusList"];
let menusList = store.getters['user/menusList'];
let dynamicRouter = generateRoutes(menusList);
dynamicRouter.forEach((v) => {
router.addRoute("/", v);
router.addRoute('/', v);
});
let menus = menusFilter(dynamicRouter);
store.commit("user/SET_menus", menus);
store.commit('user/SET_menus', menus);
}
calcMenu();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment