2025-09-01 16:05:31 +08:00
|
|
|
|
// main.js
|
2025-08-19 17:07:46 +08:00
|
|
|
|
import { createSSRApp } from 'vue'
|
|
|
|
|
|
import App from './App'
|
2025-09-01 16:05:31 +08:00
|
|
|
|
import store from './store' // Vuex store(如果还在用)
|
|
|
|
|
|
import { install } from './plugins' // 自定义插件
|
|
|
|
|
|
import './permission' // 路由权限
|
2025-08-19 17:07:46 +08:00
|
|
|
|
import { useDict } from '@/utils/dict'
|
2025-09-01 16:05:31 +08:00
|
|
|
|
import { createPinia } from 'pinia'
|
|
|
|
|
|
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
|
|
|
|
|
|
|
2025-08-19 17:07:46 +08:00
|
|
|
|
export function createApp() {
|
|
|
|
|
|
const app = createSSRApp(App)
|
2025-09-01 16:05:31 +08:00
|
|
|
|
const pinia = createPinia()
|
|
|
|
|
|
|
|
|
|
|
|
// ✅ 安全注册持久化插件
|
|
|
|
|
|
if (piniaPluginPersistedstate) {
|
|
|
|
|
|
pinia.use(piniaPluginPersistedstate)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
console.warn('pinia-plugin-persistedstate not found, persistence may not work')
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
app.use(pinia)
|
|
|
|
|
|
app.use(store) // 如果你还在用 Vuex,否则可删除
|
|
|
|
|
|
|
|
|
|
|
|
// 挂载全局方法
|
2025-08-19 17:07:46 +08:00
|
|
|
|
app.config.globalProperties.useDict = useDict
|
2025-09-01 16:05:31 +08:00
|
|
|
|
|
|
|
|
|
|
// 安装其他插件
|
2025-08-19 17:07:46 +08:00
|
|
|
|
install(app)
|
2025-09-01 16:05:31 +08:00
|
|
|
|
|
2025-08-19 17:07:46 +08:00
|
|
|
|
return {
|
|
|
|
|
|
app
|
|
|
|
|
|
}
|
2025-09-01 16:05:31 +08:00
|
|
|
|
}
|