41 lines
823 B
JavaScript
41 lines
823 B
JavaScript
import { createRouter, createWebHistory } from 'vue-router'
|
|
import OrderList from '../components/OrderList.vue'
|
|
import Login from '../components/Login.vue'
|
|
|
|
const routes = [
|
|
// src/router/index.js
|
|
{
|
|
path: '/',
|
|
redirect: '/login'
|
|
},
|
|
{
|
|
path: '/',
|
|
name: 'OrderList',
|
|
component: OrderList,
|
|
meta: { requiresAuth: true }
|
|
},
|
|
{
|
|
path: '/login',
|
|
name: 'Login',
|
|
component: Login
|
|
}
|
|
]
|
|
|
|
const router = createRouter({
|
|
history: createWebHashHistory(),
|
|
routes
|
|
})
|
|
|
|
// 全局前置守卫 - 验证登录状态
|
|
router.beforeEach((to, from, next) => {
|
|
const requiresAuth = to.matched.some(record => record.meta.requiresAuth)
|
|
const isLoggedIn = localStorage.getItem('token') !== null
|
|
|
|
if (requiresAuth && !isLoggedIn) {
|
|
next('/login')
|
|
} else {
|
|
next()
|
|
}
|
|
})
|
|
|
|
export default router |