routes.js 6.01 KB
/*
 * @Date: 2025-03-20 20:36:36
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2025-06-17 16:47:13
 * @FilePath: /mlaj/src/router/routes.js
 * @Description: 路由地址映射配置
 */
import checkinRoutes from './checkin'
import teacherRoutes from './teacher'

export 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: '/courses/:id/reviews',
    name: 'CourseReviews',
    component: () => import('../views/courses/CourseReviewsPage.vue'),
    meta: { title: '课程评价' },
  },
  {
    path: '/courses-list',
    name: 'CourseList',
    component: () => import('../views/courses/CourseListPage.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: '/forgotPwd',
    name: 'ForgotPassword',
    component: () => import('../views/auth/ForgotPasswordPage.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: '/activities/:id/signup',
    name: 'ActivitySignup',
    component: () => import('../views/activities/ActivitySignupPage.vue'),
    meta: {
      title: '活动报名',
    },
  },
  {
    path: '/profile/activities',
    name: 'MyActivities',
    component: () => import('../views/activities/MyActivitiesPage.vue'),
    meta: { title: '我的活动' },
  },
  {
    path: '/checkout',
    name: 'CheckoutPage',
    component: () => import('../views/checkout/CheckoutPage.vue'),
    props: true,
    meta: { title: '结账' },
  },
  {
    path: '/profile/courses',
    name: 'MyCourses',
    component: () => import('../views/courses/MyCoursesPage.vue'),
    meta: { title: '我的课程' },
  },
  {
    path: '/profile/orders',
    name: 'Orders',
    component: () => import('../views/profile/OrdersPage.vue'),
    meta: { title: '我的订单' },
  },
  {
    path: '/profile/favorites',
    name: 'MyFavorites',
    component: () => import('../views/profile/MyFavoritesPage.vue'),
    meta: { title: '我的收藏' },
  },
  {
    path: '/profile/messages',
    name: 'Messages',
    component: () => import('../views/profile/MessagesPage.vue'),
    meta: { title: '消息中心' },
  },
  {
    path: '/profile/help',
    name: 'Help',
    component: () => import('../views/profile/HelpPage.vue'),
    meta: { title: '帮助中心' },
  },
  {
    path: '/profile/help/:id',
    name: 'HelpDetail',
    component: () => import('../views/profile/HelpDetailPage.vue'),
    meta: { title: '帮助详情' },
  },
  {
    path: '/profile/messages/:id',
    name: 'MessageDetail',
    component: () => import('../views/profile/MessageDetailPage.vue'),
    meta: { title: '消息详情' },
  },
  {
    path: '/profile/settings',
    name: 'Settings',
    component: () => import('../views/profile/SettingsPage.vue'),
    meta: { title: '设置' },
  },
  {
    path: '/profile/settings/avatar',
    name: 'AvatarSetting',
    component: () => import('../views/profile/settings/AvatarSettingPage.vue'),
    meta: { title: '修改头像' },
  },
  {
    path: '/profile/settings/username',
    name: 'UsernameSetting',
    component: () => import('../views/profile/settings/UsernameSettingPage.vue'),
    meta: { title: '修改用户名' },
  },
  {
    path: '/profile/settings/phone',
    name: 'PhoneSetting',
    component: () => import('../views/profile/settings/PhoneSettingPage.vue'),
    meta: { title: '修改手机号' },
  },
  {
    path: '/profile/settings/password',
    name: 'PasswordSetting',
    component: () => import('../views/profile/settings/PasswordSettingPage.vue'),
    meta: { title: '修改密码' },
  },
  {
    path: '/profile/settings/audio',
    name: 'AudioPlayer',
    component: () => import('../views/profile/settings/AudioPlayerPage.vue'),
    meta: { title: '音频播放' },
  },
  {
    path: '/profile/learning-records',
    name: 'LearningRecords',
    component: () => import('../views/profile/LearningRecordsPage.vue'),
    meta: { title: '学习记录' },
  },
  {
    path: '/test',
    name: 'test',
    component: () => import('../views/test.vue'),
    meta: { title: 'test' },
  },
  {
    path: '/animation',
    name: 'animation',
    component: () => import('../views/animation.vue'),
    meta: { title: 'animation' },
  },
  {
    path: '/upload_video',
    name: 'upload_video',
    component: () => import('../views/upload_video.vue'),
    meta: { title: 'upload_video' },
  }, {
    path: '/auth',
    component: () => import('@/views/auth.vue'),
    meta: {
      title: '微信授权页面',
    }
  },
  {
    path: '/study',
    component: () => import('@/views/study/studyPage.vue'),
    meta: {
      title: '学习页面',
    }
  },
  {
    path: '/studyDetail/:id',
    component: () => import('@/views/study/studyDetailPage.vue'),
    meta: {
      title: '学习详情页面',
    }
  },
  {
    path: '/profile/studyCourse/:id',
    component: () => import('@/views/profile/StudyCoursePage.vue'),
    meta: {
      title: '课程集合页面',
    }
  },
  ...checkinRoutes,
  ...teacherRoutes,
]