1
This commit is contained in:
99
app/router/index.js
Normal file
99
app/router/index.js
Normal file
@@ -0,0 +1,99 @@
|
||||
/**
|
||||
* Vue Router 路由配置
|
||||
*/
|
||||
import { createRouter, createWebHashHistory } from 'vue-router';
|
||||
import LoginPage from '../views/LoginPage.vue';
|
||||
import ConsolePage from '../views/ConsolePage.vue';
|
||||
import DeliveryPage from '../views/DeliveryPage.vue';
|
||||
import InvitePage from '../views/InvitePage.vue';
|
||||
import FeedbackPage from '../views/FeedbackPage.vue';
|
||||
import PurchasePage from '../views/PurchasePage.vue';
|
||||
import LogPage from '../views/LogPage.vue';
|
||||
import store from '../store';
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
redirect: '/console'
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
name: 'Login',
|
||||
component: LoginPage,
|
||||
meta: {
|
||||
requiresAuth: false,
|
||||
showSidebar: false
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/console',
|
||||
name: 'Console',
|
||||
component: ConsolePage,
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/delivery',
|
||||
name: 'Delivery',
|
||||
component: DeliveryPage,
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/invite',
|
||||
name: 'Invite',
|
||||
component: InvitePage,
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/feedback',
|
||||
name: 'Feedback',
|
||||
component: FeedbackPage,
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/log',
|
||||
name: 'Log',
|
||||
component: LogPage,
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/purchase',
|
||||
name: 'Purchase',
|
||||
component: PurchasePage,
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHashHistory(),
|
||||
routes
|
||||
});
|
||||
|
||||
// 路由守卫
|
||||
router.beforeEach((to, from, next) => {
|
||||
const isLoggedIn = store.state.auth.isLoggedIn;
|
||||
|
||||
if (to.meta.requiresAuth && !isLoggedIn) {
|
||||
// 需要登录但未登录,跳转到登录页
|
||||
next('/login');
|
||||
} else if (to.path === '/login' && isLoggedIn) {
|
||||
// 已登录访问登录页,跳转到控制台
|
||||
next('/console');
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
||||
|
||||
Reference in New Issue
Block a user