index.js 1.9 KB
/*
 * @Date: 2025-03-20 20:36:36
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2025-03-20 22:46:37
 * @FilePath: /mlaj/src/router/index.js
 * @Description: 文件描述
 */
import { createRouter, createWebHistory } from 'vue-router'

const routes = [
  {
    path: '/',
    name: 'HomePage',
    component: () => import('../views/HomePage.vue'),
    meta: { title: '首页' },
  },
  {
    path: '/courses',
    name: 'Courses',
    component: () => import('../views/courses/CoursesPage.vue'),
    meta: { title: '课程列表' },
  },
  {
    path: '/courses/:id',
    name: 'CourseDetail',
    component: () => import('../views/courses/CourseDetailPage.vue'),
    meta: { title: '课程详情' },
  },
  {
    path: '/profile',
    name: 'Profile',
    component: () => import('../views/profile/ProfilePage.vue'),
    meta: { title: '个人中心' },
  },
  {
    path: '/login',
    name: 'Login',
    component: () => import('../views/auth/LoginPage.vue'),
    meta: { title: '登录' }
  },
  {
    path: '/register',
    name: 'Register',
    component: () => import('../views/auth/RegisterPage.vue'),
    meta: { title: '注册' }
  },
  {
    path: '/activities',
    name: 'Activities',
    component: () => import('../views/activities/ActivitiesPage.vue'),
    meta: { title: '活动列表' }
  },
  {
    path: '/activities/:id',
    name: 'ActivityDetail',
    component: () => import('../views/activities/ActivityDetailPage.vue'),
    props: true,
    meta: { title: '活动详情' }
  },
  {
    path: '/checkout',
    name: 'CheckoutPage',
    component: () => import('../views/checkout/CheckoutPage.vue'),
    props: true,
    meta: { title: '结账' }
  },
]

const router = createRouter({
  history: createWebHistory(),
  routes,
  scrollBehavior(to, from, savedPosition) {
    // 每次路由切换后,页面滚动到顶部
    return savedPosition || { top: 0, left: 0 }
  }
})

export default router