Files
36Wisdom/admin-src/src/router/index.js
T
2026-08-14 16:36:38 +08:00

34 lines
1.5 KiB
JavaScript

import { createRouter, createWebHashHistory } from 'vue-router'
import Layout from '../layout/index.vue'
const router = createRouter({
history: createWebHashHistory(),
routes: [
{ path: '/login', component: () => import('../views/Login.vue') },
{
path: '/',
component: Layout,
redirect: '/content',
children: [
{ path: 'content', component: () => import('../views/Content.vue'), meta: { title: '内容管理' } },
{ path: 'element', component: () => import('../views/Element.vue'), meta: { title: '元素库' } },
{ path: 'prize', component: () => import('../views/Prize.vue'), meta: { title: '奖品管理' } },
{ path: 'badge', component: () => import('../views/Badge.vue'), meta: { title: '徽章管理' } },
{ path: 'life-task', component: () => import('../views/LifeTask.vue'), meta: { title: '生活任务' } },
{ path: 'parent', component: () => import('../views/Parent.vue'), meta: { title: '家长管理' } },
{ path: 'child', component: () => import('../views/Child.vue'), meta: { title: '孩子管理' } },
{ path: 'redemption', component: () => import('../views/Redemption.vue'), meta: { title: '兑换管理' } },
{ path: 'stats', component: () => import('../views/Stats.vue'), meta: { title: '关卡统计' } },
],
},
],
})
router.beforeEach((to) => {
if (to.path !== '/login' && !localStorage.getItem('admin_token')) {
return '/login'
}
})
export default router