import Vue from "vue"; import Router from "vue-router"; import store from "@/store"; import { getSession, message } from "./../util/item"; const routerPush = Router.prototype.push; Router.prototype.push = function push(location) { return routerPush.call(this, location).catch(error => error); }; import Login from "@/components/login"; import Index from "@/components/index.vue"; // 欢迎页面 import Overview from "@/components/overview"; //概览页面 import Welcome from "@/components/welcome"; //概览页面 import PreviewOfSiteStatus from "@/components/site/previewOfSiteStatus"; //站点状况预览图 import NewFiberSearch from "@/components/newFiber/NewFiberSearch"; //新烽查询系统 // 配置中心 import AlarmConfiguration from "@/components/configure/AlarmConfiguration"; //报警配置 import PushRules from "@/components/configure/PushRules"; //推送规则 import AlarmLog from "@/components/configure/AlarmLog"; //推送规则 import PatrolConfiguration from "@/components/configure/PatrolConfiguration"; //巡检配置 // 配置管理 import ProjectConfigManager from "@/components/ConfigManager/project"; //配置管理-项目权限配置设置 import SiteManagement from "@/components/ConfigManager/SiteManagement"; //配置管理-项目权限配置设置 // 消息管理 import MessageQuery from "@/components/MessageManagement/MessageQuery"; //消息查询 import MessageStatistics from "@/components/MessageManagement/MessageStatistics"; //消息统计 // 数据分析 import DataScreening from "@/components/DataAnalysis/dataScreening"; //数据总览 import StatisticalReport from "@/components/DataAnalysis/StatisticalReport"; //统计报表 // 工业物联网云平台 import VideoSurveillance from "@/components/NFCloudPlatform/VideoSurveillance"; //视频监控 // import GroundFloor from '@/components/NFCloudPlatform/GroundFloor' //视频监控-一楼泵站 // import Attic from '@/components/NFCloudPlatform/Attic' //视频监控-顶楼泵站 import RealTime from "@/components/NFCloudPlatform/RealTime"; //实时监控 // 工程作业 import Nowfault from "@/components/Engineering/Nowfault"; //查询实时故障数据 import HistoricalFault from "@/components/Engineering/HistoricalFault"; //查询历史故障数据 import MyHomework from "@/components/Engineering/MyHomework"; //我的作业 // LED import LEDConfig from "@/components/LED/LEDConfig"; //LED屏 // 系统管理 import user from "@/components/sys/user"; //用户管理 import menu from "@/components/sys/menu"; //菜单管理 import org from "@/components/sys/org"; //组织管理 import role from "@/components/sys/role"; //角色管理 // 芯中心状态监控 import ConditionMonitoring from "@/components/ConditionMonitoring/ConditionMonitoring"; Vue.use(Router); import axios from "axios"; import qs from "qs"; Vue.prototype.$axios = axios; //全局注册,使用方法为:this.$axios Vue.prototype.qs = qs; //全局注册,使用方法为:this.qs const router = new Router({ routes: [ { path: "/index", name: "index", component: Index, children: [ { path: "/welcome", name: "welcome", component: Welcome }, { path: "/overview", name: "overview", component: Overview }, { path: "/site/previewOfSiteStatus", //站点状况预览图--站点状况预览图 name: "PreviewOfSiteStatus", component: PreviewOfSiteStatus }, { path: "/newFiber/NewFiberSearch", //新烽查询系统 name: "NewFiberSearch", component: NewFiberSearch }, { path: "/configure/AlarmConfiguration", // 配置中心--报警配置 name: "AlarmConfiguration", component: AlarmConfiguration }, { path: "/configure/PushRules", // 配置中心--推送规则 name: "PushRules", component: PushRules }, { path: "/configure/AlarmLog", // 配置中心--报警日志 name: "AlarmLog", component: AlarmLog }, { path: "/configure/PatrolConfiguration", // 配置中心--巡检配置 name: "PatrolConfiguration", component: PatrolConfiguration }, { path: "/ConfigManager/project", // 配置管理--项目权限配置设置 name: "ProjectConfigManager", component: ProjectConfigManager }, { path: "/ConfigManager/SiteManagement", // 配置管理--项目权限配置设置 name: "SiteManagement", component: SiteManagement }, { path: "/MessageManagement/MessageQuery", // 消息管理--消息查询 name: "MessageQuery", component: MessageQuery }, { path: "/MessageManagement/MessageStatistics", // 消息管理--消息统计 name: "MessageStatistics", component: MessageStatistics }, { path: "/DataAnalysis/dataScreening", // 数据分析--数据总览 name: "DataScreening", component: DataScreening }, { path: "/DataAnalysis/StatisticalReport", // 数据分析--统计报表 name: "StatisticalReport", component: StatisticalReport }, { path: "/NFCloudPlatform/VideoSurveillance", // 工业物联网云平台--视频监控 name: "VideoSurveillance", component: VideoSurveillance }, // { // path: '/NFCloudPlatform/GroundFloor',// 工业物联网云平台--视频监控-一楼泵站 // name: 'GroundFloor', // component: GroundFloor // },{ // path: '/NFCloudPlatform/Attic',// 工业物联网云平台--视频监控-顶楼泵站 // name: 'Attic', // component: Attic // }, { path: "/NFCloudPlatform/RealTime", // 工业物联网云平台--实时监控 name: "RealTime", component: RealTime }, { path: "/Engineering/Nowfault", // 查询实时故障数据 name: "Nowfault", component: Nowfault }, { path: "/Engineering/HistoricalFault", // 查询历史故障数据 name: "HistoricalFault", component: HistoricalFault }, { path: "/Engineering/MyHomework", // 查询历史故障数据 name: "MyHomework", component: MyHomework }, { path: "/LED/LEDConfig", //LED屏 name: "LEDConfig", component: LEDConfig }, { path: "/sys/user", //用户管理 name: "user", component: user }, { path: "/sys/menu", //菜单管理 name: "menu", component: menu }, { path: "/sys/org", //组织信息 name: "org", component: org }, { path: "/sys/role", //角色管理 name: "role", component: role }, { path: "/ConditionMonitoring/ConditionMonitoring", //芯中心状态监控 name: "ConditionMonitoring", component: ConditionMonitoring } ] }, { path: "/Login", name: "login", component: Login }, { path: "/", redirect: "/Login" }, { path: "*", redirect: "/" } ] }); router.beforeEach((to, from, next) => { /* 使用过程为, 先判断vuex里面一条数据, 判断是否登陆 */ if (to.name === "login") { next(); } else if (JSON.parse(getSession("logins")) === "true") { store .dispatch("common/getAllDept") .then(res => { store.dispatch("common/getAllRole").then(() => { store.dispatch("common/getAllCity"); }); }) .catch(e => { console.log(777, e); removeSession("logins"); next("/Login"); }); next(); } else { message({ data: { code: 1, message: "登录已过期,请重新登录!" } }); next(`/Login`); } }); export default router;