showMobile.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import "@/assets/scss/theme.scss";
  2. // import 'core-js/stable';
  3. // import 'regenerator-runtime/runtime';
  4. import i18n, { getLocale, setI18nLanguage, loadLocaleMessages } from "../i18n";
  5. import Components from "@/global_components";
  6. import ShowMobile from "./showMobile.vue";
  7. import { createApp } from "vue";
  8. import ClickOutSide from "../utils/fns/ClickOutSide";
  9. import Checkbrowser from '@/components/assembly/Checkbrowser.vue'
  10. import browser from "../utils/browser";
  11. import Deferred from "@/utils/Deferred";
  12. import store from '../store'
  13. import VueLazyLoad from 'vue3-lazyload'
  14. let App;
  15. if (
  16. browser.detectChrome() ||
  17. browser.detectSafari() ||
  18. browser.detectFirefox() ||
  19. browser.detectEdge() ||
  20. browser.detectWeixin() ||
  21. browser.detectWeixinMiniProgram() ||
  22. browser.detectAlipay() ||
  23. browser.detectTT() ||
  24. browser.detectTcTravel() ||
  25. browser.detectDingDing()
  26. ) {
  27. App = ShowMobile;
  28. } else {
  29. App = Checkbrowser
  30. }
  31. const local = getLocale();
  32. loadLocaleMessages(i18n, local).then(() => {
  33. setI18nLanguage(i18n, local);
  34. const app = (window.__app = createApp(App));
  35. app.locked = null;
  36. app.lock = function () {
  37. app.locked = Deferred();
  38. return app.locked;
  39. };
  40. app.unlock = function () {
  41. if (app.locked) {
  42. app.locked.resolve();
  43. app.locked = null;
  44. }
  45. };
  46. app.use(i18n);
  47. app.use(store);
  48. app.use(Components);
  49. app.use(VueLazyLoad);
  50. app.directive("click-outside", ClickOutSide);
  51. app.mount("#app");
  52. });