Zlpt_Portal/src/router/index.ts

243 lines
7.6 KiB
TypeScript
Raw Normal View History

2023-11-30 10:49:45 +08:00
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
2023-12-05 17:25:00 +08:00
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
2023-11-30 10:49:45 +08:00
import test from './module/test'
import myInfo from './module/myInfo'
2023-12-04 13:10:38 +08:00
import { useStore } from 'store/main'
2023-11-30 10:49:45 +08:00
const routes: Array<RouteRecordRaw> = [
{
path: '/index',
name: 'index',
component: () => import('views/Index.vue'),
meta: {
title: '目录页',
keepAlive: true,
AuthFlag: false
}
},
2023-12-04 09:12:38 +08:00
{
path: '/login',
name: 'login',
component: () => import('views/Login.vue'),
meta: {
title: '登录页',
keepAlive: true,
AuthFlag: false
}
},
2023-11-30 10:49:45 +08:00
{
path: '/test', // 主路由地址
name: 'testIndex',
component: () => import('views/test/Index.vue'), // 组件加载
meta: {
title: '测试',
keepAlive: true,
AuthFlag: false
},
children: [...test]
},
{
path: '/myInfo', // 主路由地址
name: 'myInfo',
component: () => import('views/myInfo/Index.vue'), // 组件加载
meta: {
title: '我的',
keepAlive: true,
AuthFlag: false
},
children: [...myInfo]
2023-12-01 11:22:09 +08:00
},
2023-12-01 14:48:58 +08:00
2023-12-02 14:18:00 +08:00
2023-12-04 09:12:38 +08:00
// 首页
2023-12-01 11:22:09 +08:00
{
2023-12-04 09:12:38 +08:00
path: '/',
component: () => import('views/AppMain.vue'),
redirect: '/home',
2023-12-01 11:22:09 +08:00
meta: {
2023-12-04 09:12:38 +08:00
title: '首页',
2023-12-01 11:22:09 +08:00
keepAlive: true,
AuthFlag: false
},
2023-12-04 09:12:38 +08:00
2023-12-01 11:22:09 +08:00
children: [
2023-12-04 09:12:38 +08:00
// 首页
2023-12-01 11:22:09 +08:00
{
2023-12-04 09:12:38 +08:00
path: 'home',
name: 'home',
component: () => import('views/home/index.vue'),
2023-12-01 11:22:09 +08:00
meta: {
2023-12-04 09:12:38 +08:00
title: '首页',
2023-12-01 11:22:09 +08:00
keepAlive: true,
AuthFlag: false
},
},
2023-12-04 09:12:38 +08:00
// 自选直租
2023-12-01 11:22:09 +08:00
{
2023-12-04 10:19:21 +08:00
path: '/equipList',
name: 'equipList',
2023-12-05 17:25:00 +08:00
component: () => import('@/views/equip/list.vue'),
2023-12-04 10:19:21 +08:00
meta: {
title: ''
}
},
//装备详情
{
path: '/equipDetail/:id',
name: 'equipDetail',
component: () => import('views/equip/detail.vue'),
meta: {
title: ''
}
2023-12-01 11:22:09 +08:00
},
2023-12-04 09:12:38 +08:00
// 资讯详情
2023-12-01 11:22:09 +08:00
{
2023-12-04 09:12:38 +08:00
path: '/consultationDetails',
name: 'consultationDetails',
component: () => (import('views/consultationDetails/index.vue'))
2023-12-01 11:22:09 +08:00
},
2023-12-04 09:12:38 +08:00
// 收藏夹页面
2023-12-01 11:22:09 +08:00
{
2023-12-04 09:12:38 +08:00
path: '/collect',
name: 'collect',
component: () => import('views/collect/index.vue')
2023-12-01 11:22:09 +08:00
},
2023-12-04 09:12:38 +08:00
// 个人中心
2023-12-01 11:22:09 +08:00
{
2023-12-04 09:12:38 +08:00
path: '/myuser', // 主路由地址
name: 'myuser',
component: () => import('views/user/index.vue'), // 组件加载
2023-12-01 11:22:09 +08:00
meta: {
2023-12-04 09:12:38 +08:00
title: '个人中心',
2023-12-01 11:22:09 +08:00
keepAlive: true,
AuthFlag: false
},
2023-12-04 09:12:38 +08:00
redirect: '/myuser/baseInfo',
children: [
{
path: 'baseInfo',
name: 'baseInfo',
component: () => import('views/user/baseInfo/index.vue'),
meta: {
title: '基础信息',
keepAlive: true,
AuthFlag: false
},
},
{
path: 'orderManagement',
name: 'orderManagement',
component: () => import('views/user/orderManagement/index.vue'),
meta: {
title: '基础信息',
keepAlive: true,
AuthFlag: false
},
},
{
path: 'subAccount',
name: 'subAccount',
component: () => import('views/user/subAccount/index.vue'),
meta: {
title: '基础信息',
keepAlive: true,
AuthFlag: false
},
},
{
path: 'orderManagementCz',
name: 'orderManagementCz',
component: () => import('views/user/orderManagementCz/index.vue'),
meta: {
title: '基础信息',
keepAlive: true,
AuthFlag: false
},
},
{
path: 'goodsManagement',
name: 'goodsManagement',
component: () => import('views/user/goodsManagement/index.vue'),
meta: {
title: '基础信息',
keepAlive: true,
AuthFlag: false
},
},
{
path: 'goodsUpdown',
name: 'goodsUpdown',
component: () => import('views/user/goodsUpdown/index.vue'),
meta: {
title: '基础信息',
keepAlive: true,
AuthFlag: false
},
},
{
path: 'operatorManagement',
name: 'operatorManagement',
component: () => import('views/user/operatorManagement/index.vue'),
meta: {
title: '基础信息',
keepAlive: true,
AuthFlag: false
},
2023-12-05 20:52:24 +08:00
},
{
path: 'orderDetails',
name: 'orderDetails',
component: () => import('views/user/orderManagement/orderCom/orderDetails.vue'),
meta: {
title: '订单详情',
keepAlive: true,
AuthFlag: false
},
2023-12-06 09:36:45 +08:00
},
{
path: 'orderConfirm',
name: 'orderConfirm',
component: () => import('views/user/orderManagement/orderCom/orderConfirm.vue'),
meta: {
title: '订单确认',
keepAlive: true,
AuthFlag: false
},
2023-12-04 09:12:38 +08:00
}
]
2023-12-01 11:22:09 +08:00
},
]
2023-12-01 16:57:11 +08:00
},
2023-12-04 09:12:38 +08:00
2023-11-30 10:49:45 +08:00
]
2023-12-04 13:10:38 +08:00
2023-11-30 10:49:45 +08:00
const router = createRouter({
// 路由模式
history: createWebHashHistory(),
routes
})
2023-12-04 13:10:38 +08:00
// 使页面跳转后滚动条恢复至顶部
router.beforeEach((to, from, next) => {
const store = useStore()
2023-12-05 09:45:01 +08:00
if (store.token || to.path == '/login') {
2023-12-04 13:10:38 +08:00
next()
} else {
2023-12-05 09:45:01 +08:00
next('/login')
2023-12-04 13:10:38 +08:00
}
// chrome
document.body.scrollTop = 0;
// firefox 兼容火狐
document.documentElement.scrollTop = 0;
})
2023-11-30 10:49:45 +08:00
export default router