/* * @Description: * @Author: 王旭 * @Date: 2022-03-01 15:33:01 * @LastEditTime: 2023-07-17 14:10:27 * @LastEditors: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git */ import Vue from "vue"; import VueRouter from "vue-router"; import { getToken } from "@/utils/auth"; // get token from cookie import Home from "@/views/Home.vue"; import login from "@/views/login/Login0.vue"; import CIMData from "@/views/cimdata/CIMData.vue"; import DevelopCenter from "../views/developcenter/DevelopCenter.vue"; import AppUseCenter from "../views/appusecenter/AppUseCenter.vue"; import DemoSource from "../views/demosource/demosource.vue"; import MySource from "../views/mysource/mysource.vue"; import helpApiDocView from "../views/helpdoc/apidoc.vue"; import DataSourcePage from "@/views/datasource/index.vue"; import userManager from "@/views/system/user"; import roleManager from "@/views/system/role"; import devManager from "@/views/system/dept"; import UEView from "@/views/xianCim/UEView"; import emergency from "@/views/xianCim/emergency"; import lifeline from "@/views/xianCim/lifeline"; import publicSafety from "@/views/xianCim/publicSafety"; import systemCenter from "@/views/system/systemCenter.vue"; import xianCim from "@/views/xianCim/xianCim"; import globe from "@/views/xianCim/globe"; import developmentCenter from "@/views/xianCim/developmentCenter"; import useCenter from "@/views/xianCim/useCenter"; import warnAnalysis from "@/views/xianCim/warnAnalysis/index"; Vue.use(VueRouter); const routes = [ { path: "/", name: "Home", component: Home, redirect: "/xianCim", children: [ { path: "/mysource", component: MySource, name: "mysource", meta: { title: "我的资源", requireAuth: true, // }, }, { path: "/cimdata", component: CIMData, name: "cimdata", meta: { title: "CIM成果", requireAuth: true, // }, }, { path: "/spacetime", component: CIMData, name: "spacetime", meta: { title: "时空数据", requireAuth: true, // }, }, { path: "/iotdata", component: CIMData, name: "iotdata", meta: { title: "物联感知", requireAuth: true, // }, }, { path: "/engineerdata", component: CIMData, name: "engineerdata", meta: { title: "工程项目", requireAuth: true, // }, }, { path: "/plandata", component: CIMData, name: "plandata", meta: { title: "规划管理", requireAuth: true, // }, }, { path: "/surveydata", component: CIMData, name: "surveydata", meta: { title: "资源调查", requireAuth: true, // }, }, { path: "/publicdata", component: CIMData, name: "publicdata", meta: { title: "公共专题", requireAuth: true, // }, }, { path: "/developcenter", component: DevelopCenter, name: "developcenter", meta: { title: "开发中心", requireAuth: true, // }, }, { path: "/apidoc", component: helpApiDocView, name: "apidoc", meta: { title: "API接口帮助", requireAuth: true, // }, }, { path: "/appusecenter", component: AppUseCenter, name: "appusecenter", meta: { title: "应用中心", requireAuth: true, // }, }, { path: "/servicesmanager", component: DataSourcePage, name: "servicesmanager", meta: { title: "服务管理", requireAuth: true, // }, }, { path: "/usermanager", component: userManager, name: "usermanager", meta: { title: "用户管理", requireAuth: true, // 标识该路由是否需要登录 }, }, { path: "/rolemanager", component: roleManager, name: "rolemanager", meta: { title: "角色管理", requireAuth: true, // 标识该路由是否需要登录 }, }, { path: "/devmanager", component: devManager, name: "devmanager", meta: { title: "部门管理", requireAuth: true, // 标识该路由是否需要登录 }, }, { path: "/sysmanager", component: null, name: "sysmanager", meta: { title: "系统管理", requireAuth: true, // }, }, { path: "/demosource", component: DemoSource, name: "demosource", meta: { title: "Demo Source", requireAuth: true, // }, }, { path: "/xianCim", component: xianCim, name: "xianCim", meta: { title: "xianCim", requireAuth: true, // }, children: [ // { // path: '',//以“/”开头的嵌套路径会被当作根路径,所以子路由上不用加“/”;在生成路由时,主路由上的path会被自动添加到子路由之前,所以子路由上的path不用在重新声明主路由上的path了。 // component: globe // }, { path: "/xianCim/useCenter", component: useCenter, name: "useCenter", meta: { title: "应用中心", requireAuth: true, // }, }, { path: "/xianCim/developmentCenter", component: developmentCenter, name: "developmentCenter", meta: { title: "开发中心", requireAuth: true, // }, }, { path: "/xianCim/servicesmanager", component: DataSourcePage, name: "servicesmanager", meta: { title: "服务中心", requireAuth: true, // }, }, { path: "/xianCim/systemCenter", component: systemCenter, name: "systemCenter", meta: { title: "运维中心", requireAuth: true, // }, }, { path: "/xianCim/cityCenter", // component: globe, name: "cityCenter", meta: { title: "城市建造", requireAuth: true, // }, }, { path: "/xianCim/UEView", // component: UEView, name: "UEView", children: [ { path: "/xianCim/UEView/lifeline", // component: lifeline, name: "lifeline", meta: { title: "生命线", requireAuth: true, // }, }, { path: "/xianCim/UEView/warnAnalysis", component: warnAnalysis, name: "warnAnalysis", meta: { title: "预警分析", requireAuth: false, // }, }, { path: "/xianCim/UEView/emergency", // component: emergency, name: "emergency", meta: { title: "应急管理", requireAuth: true, // }, }, { path: "/xianCim/UEView/publicSafety", // component: publicSafety, name: "publicSafety", meta: { title: "公共安全", requireAuth: true, // }, }, { path: "/xianCim/UEView/societyGovern", // component: societyGovern, name: "societyGovern", meta: { title: "智慧景区", requireAuth: true, // }, }, { path: "/xianCim/UEView/smartPark", // component: smartPark, name: "smartPark", meta: { title: "智慧园区", requireAuth: true, // }, }, ], }, ], }, ], }, { path: "/login", name: "login", component: login, }, ]; const router = new VueRouter({ routes, }); //路由守卫 router.beforeEach((to, from, next) => { next(); if (to.matched.some((auth) => auth.meta.requireAuth)) { // 获取token let token = getToken(); if (token) { next(); } else { next({ path: "/login", }); } } else { next(); } }); export default router;