| | |
| | | import {createRouter, createWebHashHistory} from 'vue-router' |
| | | |
| | | // import i18n from '@/utils/lang' |
| | | // import User from '../views/sys/User.vue' |
| | | // import Role from '../views/sys/Role.vue' |
| | | // import Menu from '../views/sys/Menu.vue' |
| | | |
| | | const router = createRouter({ |
| | | history: createWebHashHistory(), |
| | | routes: [ |
| | |
| | | path: '/login', |
| | | name: 'login', |
| | | component: () => import('../views/LoginView.vue') |
| | | }, |
| | | { |
| | | path: '/new-page', // 新增的无需登录的页面 |
| | | name: 'newPage', |
| | | component: () => import('../views/NewPage.vue') |
| | | }, |
| | | { |
| | | path: '/main', |
| | |
| | | /*----------- 上片机 ----------------*/ |
| | | { |
| | | path: 'Returns', |
| | | name: 'Returns', |
| | | component: () => import('../views/Returns/returns.vue'), |
| | | name: 'return', |
| | | component: () => import('../views/Returns/return.vue'), |
| | | children:[ |
| | | { |
| | | path: '/Returns/returns', |
| | | name: 'returns', |
| | | component: () => import('../views/Returns/returns.vue') |
| | | }, |
| | | { |
| | | path: '/Returns/upreturns', |
| | | name: 'upreturns', |
| | | component: () => import('../views/Returns/upreturns.vue') |
| | | }, |
| | | ] |
| | | }, |
| | |
| | | } |
| | | ] |
| | | }, |
| | | /*----------- 仓储中心 ----------------*/ |
| | | { |
| | | path: 'GlassStorage', |
| | | name: 'GlassStorage', |
| | | component: () => import('../views/GlassStorage/GlassStorage.vue'), |
| | | children:[ |
| | | { |
| | | path: '/GlassStorage/MaterialRackManagement', |
| | | name: 'MaterialRackManagement', |
| | | component: () => import('../views/GlassStorage/MaterialRackManagement.vue') |
| | | }, |
| | | { |
| | | path: '/GlassStorage/rawfilmstorage', |
| | | name: 'rawfilmstorage', |
| | | component: () => import('../views/GlassStorage/rawfilmstorage.vue') |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | /*----------- 可视化系统 ----------------*/ |
| | | { |
| | |
| | | } |
| | | ] |
| | | }, |
| | | /*----------- 大屏显示 ----------------*/ |
| | | { |
| | | path: 'largescreen', |
| | | name: 'largescreen', |
| | | component: () => import('../views/largescreen/largescreen.vue'), |
| | | children:[ |
| | | { |
| | | path: '/largescreen/largescreen', |
| | | name: 'largescreen', |
| | | component: () => import('../views/largescreen/largescreen.vue') |
| | | }, |
| | | ] |
| | | }, |
| | | /*----------- 报工管理 ----------------*/ |
| | | { |
| | | path: 'reportWork', |
| | | name: 'reportWork', |
| | | component: () => import('../views/ReportWork/reportWork.vue'), |
| | | children:[ |
| | | { |
| | | path: '/ReportWork/reportWork', |
| | | name: 'reportWork', |
| | | component: () => import('../views/ReportWork/reportWork.vue') |
| | | }, |
| | | ] |
| | | }, |
| | | /*----------- 管理系统 ----------------*/ |
| | | { |
| | | path: 'sys', |
| | |
| | | }, |
| | | { |
| | | path: '', |
| | | redirect: '/returns/returns' |
| | | redirect: '/Returns/returns' |
| | | } |
| | | ] |
| | | }, |
| | |
| | | ] |
| | | }) |
| | | |
| | | // 导航守卫 |
| | | router.beforeEach((to, from, next) => { |
| | | const isAuthenticated = !!localStorage.getItem('authToken'); // 假设这是你的登录状态检查逻辑 |
| | | if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) { |
| | | next({ name: 'login' }); // 如果需要登录但未登录,则重定向到登录页面 |
| | | } else { |
| | | next(); // 否则继续导航 |
| | | } |
| | | }); |
| | | export default router |