main.js 914 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import App from './App'
  2. import './permission'
  3. import languages from './locale/index'
  4. import {
  5. setupPinia
  6. } from './store';
  7. import {
  8. createSSRApp
  9. } from 'vue'
  10. // #ifdef APP-PLUS
  11. import { runWgtHotUpdate } from '@/utils/hot-update'
  12. // #endif
  13. import {
  14. createI18n
  15. } from 'vue-i18n'
  16. let i18nConfig = {
  17. locale: uni.getLocale(),
  18. messages: languages
  19. }
  20. const i18n = createI18n(i18nConfig)
  21. export function createApp() {
  22. const app = createSSRApp(App)
  23. setupPinia(app)
  24. app.use(i18n)
  25. // 把t函数添加到全局属性
  26. app.config.globalProperties.$t = i18n.global.t
  27. // #ifdef APP-PLUS
  28. // uni-app 的页面 onShow 会应用全局 mixin,因此任意页面显示时都能触发检查。
  29. // 热更新模块内部负责并发合并和三十秒去重,不会因页面切换连续请求或弹窗。
  30. app.mixin({
  31. onShow() {
  32. runWgtHotUpdate()
  33. }
  34. })
  35. // #endif
  36. return {
  37. app,
  38. }
  39. }