| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- 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/:id?',
- name: 'NovelDetail',
- component: () => import('@/pages/novel/detail.vue'),
- meta: { title: '小说详情' },
- props: true // 启用 props 接收参数
- },
- {
- path: '/pages/novel/reader/:id?',
- name: 'NovelReader',
- component: () => import('@/pages/novel/reader.vue'),
- meta: { title: '阅读器' },
- props: true
- },
- {
- path: '/pages/author/apply',
- name: 'AuthorApply',
- component: () => import('@/pages/author/apply'),
- meta: { title: '作者申请', requiresAuth: true }
- },
- {
- path: '/pages/login/index',
- name: 'Login',
- component: () => import('@/pages/login/index'),
- meta: { title: '登录' }
- },
- {
- path: '/pages/register/index',
- name: 'Register',
- component: () => import('@/pages/register/index'),
- meta: { title: '注册' }
- },
- // 添加更多路由...
- {
- path: '*',
- redirect: '/pages/novel/list'
- }
- ]
-
- const router = new Router({
- mode: 'hash',
- routes
- })
-
- // 添加简单的路由守卫
- router.beforeEach((to, from, next) => {
- console.log('🚀 路由跳转:', from.path, '->', to.path)
- console.log('📋 目标路由参数:', to.params)
- console.log('🔍 目标路由查询:', to.query)
- console.log('📍 完整路由对象:', to)
- // 设置页面标题
- if (to.meta.title) {
- document.title = to.meta.title
- }
-
- // 检查是否需要登录
- if (to.meta.requiresAuth) {
- if (!store.getters.token) {
- next('/pages/login/index')
- return
- }
- }
-
- next()
- })
- router.afterEach((to, from) => {
- console.log('✅ 路由跳转完成:', to.path)
- })
- // 确保路由初始化
- router.onReady(() => {
- console.log('Router is ready');
- })
-
- export default router
|