Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 

43 рядки
1.0 KiB

  1. import { createSSRApp } from 'vue'
  2. import App from './App.vue'
  3. import { createPinia } from 'pinia'
  4. import uviewPlus from '@/uni_modules/uview-plus'
  5. import * as filters from '@/utils/filter.js'
  6. import { reportPagePv } from '@/utils/pvcv.js'
  7. function lockLightTheme() {
  8. if (typeof uni === 'undefined') return
  9. try {
  10. uni.setStorageSync('u-theme-mode', 'light')
  11. } catch (e) {}
  12. if (uni.$u && typeof uni.$u.setThemePreference === 'function') {
  13. uni.$u.setThemePreference('light')
  14. }
  15. }
  16. // uni-app Vue3 入口:必须导出 createApp
  17. export function createApp() {
  18. const app = createSSRApp(App)
  19. // 状态管理:Pinia(替代旧版 Vuex)
  20. app.use(createPinia())
  21. lockLightTheme()
  22. app.use(uviewPlus)
  23. lockLightTheme()
  24. // 全局过滤器/工具(Vue3 已移除 filter,这里挂到 globalProperties 供模板使用)
  25. app.config.globalProperties.$f = filters
  26. app.mixin({
  27. onShow() {
  28. reportPagePv()
  29. }
  30. })
  31. // #ifdef H5-DEV || H5-TEST
  32. // 开发/测试环境可按需引入 vconsole
  33. // #endif
  34. return { app }
  35. }