main.js 1.08 KB
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import { createRouter, createWebHistory } from 'vue-router'
import App from './App.vue'
import './index.css'

// 创建Vue应用实例
const app = createApp(App)

// 创建Pinia状态管理实例
const pinia = createPinia()
app.use(pinia)

// 创建路由实例
const router = createRouter({
  history: createWebHistory(),
  routes: [
    { path: '/', component: () => import('./pages/HomePage.vue') },
    { path: '/activity/:activityId', component: () => import('./pages/ActivityDetail.vue') },
    { path: '/create-activity', component: () => import('./pages/CreateActivity.vue') },
    { path: '/profile', component: () => import('./pages/UserProfile.vue') },
    { path: '/registration/:activityId', component: () => import('./pages/Registration.vue') },
    { path: '/check-in/:activityId', component: () => import('./pages/CheckIn.vue') },
    { path: '/messages/:activityId', component: () => import('./pages/Messages.vue') },
    { path: '/:pathMatch(.*)*', redirect: '/' }
  ]
})
app.use(router)

// 挂载应用
app.mount('#root')