Otsuka-APP/main.js

36 lines
994 B
JavaScript
Raw Normal View History

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 22:43:08 +08:00
// import { createPinia } from 'pinia'
import * as Pinia from 'pinia';
2025-09-01 16:05:31 +08:00
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
2025-08-19 17:07:46 +08:00
export function createApp() {
const app = createSSRApp(App)
2025-09-01 22:43:08 +08:00
// const pinia = createPinia()
const pinia = Pinia.createPinia()
2025-09-01 16:05:31 +08:00
// ✅ 安全注册持久化插件
if (piniaPluginPersistedstate) {
pinia.use(piniaPluginPersistedstate)
} else {
console.warn('pinia-plugin-persistedstate not found, persistence may not work')
}
app.use(pinia)
2025-09-01 22:43:08 +08:00
// app.use(store) // 如果你还在用 Vuex否则可删除
2025-09-01 16:05:31 +08:00
// 挂载全局方法
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 {
2025-09-01 22:43:08 +08:00
app,
Pinia
2025-08-19 17:07:46 +08:00
}
2025-09-01 16:05:31 +08:00
}