Otsuka-APP/main.js

34 lines
912 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 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
}