import Vue from "vue" import Router from "vue-router" import unifiedManageRouter from "./unifiedManage/index.js" Vue.use(Router) const login = (resolve) => require(["@/views/other/login/index"], resolve) const unifiedManage = (resolve) => require(["@/views/unifiedManage/index"], resolve) const noData = (resolve) => require(["@/views/NoData/index"], resolve) export const routes = [ // 无数据页面 { path: "noData", name: "noData", meta: { title: "", auth: true }, component: noData }, { path: "unifiedManage", // 统一管理 name: "unifiedManage", component: unifiedManage, children: unifiedManageRouter, meta: { title: "统一管理", isAllways: true } } ] export const constantRoutes = [ { path: "/", component: () => import("@/components/layout/index"), name: "Index", meta: { title: "首页", isAllways: true, insIndex: true }, redirect: { name: "userManage" }, children: routes }, { path: "/login", component: login, meta: { isLogin: true, title: "登录" } }, { path: "*", component: () => import("@/views/other/error/404"), meta: { title: "404" } } ] // 导出路由 在 main.js 里使用 const createRouter = () => new Router({ mode: "history", // base: window.getServerJson.context, scrollBehavior: () => ({ y: 0 }), routes: constantRoutes }) const router = createRouter() // async function hasPermission(routePath) { // try { // const res = await getMenuTreeByRole() // const newPath = { // path: "/noData" // } // const foundObject = res.data.list.find((obj) => obj.systemType === 2) // if (foundObject) { // store.commit("setMenus", foundObject.menus) // foundObject.menus.forEach((item) => { // const nextPath = item.children.find((obj) => obj.path === routePath) // if (nextPath) { // newPath.path = nextPath.path // } // }) // } else { // newPath.path = "/noData" // } // return newPath // } catch (error) { // return { path: "/noData" } // } // } router.beforeEach(async (to, from, next) => { try { // const result = await hasPermission(to.path); // console.log(result,"result") next() // if (!isSkip) { // next('/noData') // } } catch (error) { console.error("Error in navigation guard:", error) next() } }) // router.beforeEach((to, from, next) => { // must call `next` // console.log(to, from) // if (to.path === "/custom/salesLead") { // next() // } else { // if (to.meta.requireAuth) { // next({ // path: "/login", // query: { redirect: to.fullPath } // }) // } else { // next() // } // } // }) export default router