| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import Vue from 'vue'
- import Router from 'vue-router'
- import store from '@/store'
-
- Vue.use(Router)
-
- const routes = [
- {
- path: '/',
- redirect: '/pages/novel/list'
- },
- {
- path: '/pages/novel/list',
- name: 'NovelList',
- component: () => import('@/pages/novel/list'),
- meta: { title: '小说列表' }
- },
- {
- path: '/pages/novel/detail',
- name: 'NovelDetail',
- component: () => import('@/pages/novel/detail'),
- meta: { title: '小说详情' }
- },
- {
- path: '/pages/author/apply',
- name: 'AuthorApply',
- component: () => import('@/pages/author/apply'),
- meta: { title: '作者申请', requiresAuth: true }
- },
- {
- path: '/pages/login',
- name: 'Login',
- component: () => import('@/pages/login'),
- meta: { title: '登录' }
- },
- {
- path: '/pages/register',
- name: 'Register',
- component: () => import('@/pages/register'),
- meta: { title: '注册' }
- },
- // 添加更多路由...
- {
- path: '*',
- redirect: '/pages/novel/list'
- }
- ]
-
- const router = new Router({
- mode: 'history',
- routes
- })
-
- // 添加简单的路由守卫
- router.beforeEach((to, from, next) => {
- // 设置页面标题
- if (to.meta.title) {
- document.title = to.meta.title
- }
-
- // 检查是否需要登录
- if (to.meta.requiresAuth) {
- if (!store.getters.token) {
- next('/pages/login')
- return
- }
- }
-
- next()
- })
-
- // 确保路由初始化
- router.onReady(() => {
- console.log('Router is ready');
- })
-
- export default router
|