Files
SecMPS/web.vite/src/router/index.js
2026-05-15 23:22:48 +08:00

253 lines
6.4 KiB
JavaScript

import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
import viewgird from './viewGird'
import store from '../store/index'
import redirect from './redirect'
import example from './example'
const routes = [
{
path: '/',
name: 'Index',
component: () => import('@/views/Index.vue'),
redirect: '/home',
children: [
...viewgird,
...redirect,
...example,
{
path: '/home',
name: 'home',
component: () => import('@/views/Home.vue')
},
{
path: '/UserInfo',
name: 'UserInfo',
component: () => import('@/views/sys/UserInfo.vue')
},
{
path: '/sysMenu',
name: 'sysMenu',
component: () => import('@/views/sys/system/Sys_Menu.vue')
}, {
path: '/coder',
name: 'coder',
component: () => import('@/views/builder/coder.vue')
},
{
path: "/db/table",//数据库表维护
name: "db_table",
component: () => import("@/views/builder/database/table.vue"),
},
{
path: '/monitor', //服务器监控
name: 'monitor',
component: () => import('@/views/sys/monitor/Index.vue'),
},
{
path: "/coderV3",
name: "coderV3",
component: () => import("@/views/builder/coderV3.vue"),
},
{
path: "/generic/:table",
name: "generic",
component: () => import("@/views/generic/index.vue"),
},
{
path: "/genericCoderV3",
name: "genericCoderV3",
component: () => import("@/views/builder/genericCoderV3.vue"),
},
{
path: "/coderV3Priview",
name: "coderV3Priview",
component: () => import("@/views/builder/coderV3Priview.vue"),
},
{
path: '/formDraggable', //表单设计
name: 'formDraggable',
component: () => import('@/views/formDraggable/formDraggable.vue')
},
{
path: '/formSubmit', //表单提交页面
name: 'formSubmit',
component: () => import('@/views/formDraggable/FormSubmit.vue'),
meta:{
keepAlive:false
}
},
{
path: '/formCollectionResultTree', //显示收集的数据表单
name: 'formCollectionResultTree',
component: () => import('@/views/formDraggable/FormCollectionResultTree.vue'),
meta:{
keepAlive:false
}
},
{
path: '/signalR', //消息推送
name: 'signalR',
component: () => import('@/views/signalR/Index.vue'),
meta:{
keepAlive:false
}
},
{
path: '/db', //消息推送
name: 'db',
component: () => import('@/views/db/db.vue'),
meta:{
keepAlive:false
}
},
{
path: '/message', //消息推送
name: 'message',
component: () => import('@/views/message/message.vue'),
meta:{
keepAlive:false
}
},
{
path: '/form', //表单示例
name: 'form',
component: () => import('@/views/form/form.vue'),
meta:{
keepAlive:true
}
},
{
path: '/form2', //表单示例
name: 'form2',
component: () => import('@/views/form/form2.vue'),
meta:{
keepAlive:true
}
},
{
path: '/formGroup', //表单分组示例
name: 'formGroup',
component: () => import('@/views/form/formGroup.vue'),
meta:{
keepAlive:true
}
},
// {
// path: '/table/:id', //table示例
// name: 'table',
// component: () => import('@/views/table/table.vue')
// },
{
path: '/table', //table示例
name: 'table',
component: () => import('@/views/table/table.vue')
},
{
path: '/chart', //table示例
name: 'chart',
component: () => import('@/views/chart/chart.vue'),
},
{
path: '/chart2', //table示例
name: 'chart2',
component: () => import('@/views/chart/chart2.vue'),
},
{
path: '/chart3', //table示例
name: 'chart3',
component: () => import('@/views/chart/chart3.vue'),
},
{
path: '/map', //table示例
name: 'map',
component: () => import('@/views/map/map.vue'),
},
{
path: '/mapForm', //table示例
name: 'mapForm',
component: () => import('@/views/map/mapForm.vue'),
},
{
path: '/report', //table示例
name: 'report',
component: () => import('@/views/report/report.vue'),
meta:{
dynamic:true
//keepAlive:false
}
},
{
path: '/gridLayout', //table示例
name: 'gridLayout',
component: () => import('@/views/gridLayout/index.vue'),
meta:{
dynamic:true
//keepAlive:false
}
},
{
path: "/Sys_ActionLog",
name: "Sys_ActionLog",
component: () => import("@/views/sys/log/Sys_ActionLog.vue"),
}
]
},
{
path: '/login',
name: 'login',
component: () => import('@/views/Login.vue'),
meta:{
anonymous:true
}
},
{
path: '/print', //打印
name: 'print',
component: () => import('@/views/print/print.vue'),
meta:{
keepAlive:false
}
},
{
path: '/auth',
name: 'auth',
component: () => import('@/views/auth/auth.vue'),
meta:{
anonymous:true
}
}
]
const router = createRouter({
history: createWebHashHistory(), //createWebHistory(process.env.BASE_URL),
routes
})
router.beforeEach((to, from, next) => {
if (to.matched.length == 0) return next({ path: '/404' });
//2020.06.03增加路由切换时加载提示
store.dispatch("onLoading", true);
if ((to.hasOwnProperty('meta') && to.meta.anonymous) || store.getters.isLogin() || to.path == '/login') {
return next();
}
next({ path: '/login', query: { redirect: Math.random() } });
})
router.afterEach((to, from) => {
store.dispatch("onLoading", false);
})
router.onError((error) => {
// const targetPath = router.currentRoute.value.matched;
try {
console.log(error.message);
if (process.env.NODE_ENV == 'development') {
//alert(error.message)
}
localStorage.setItem("route_error", error.message)
} catch (e) {
}
// window.location.href = '/'
});
export default router