main.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import App from "./App";
  2. import Vue from "vue";
  3. // 挂载全局工具类
  4. import utils from "./utils/index.js";
  5. Vue.prototype.$utils = utils;
  6. // 全局统一样式的对话框
  7. import Fy from '@/js_sdk/fy-showModal/index.js'
  8. uni.$eShowModal = (e = {}) => {
  9. return Fy.showModal(e)
  10. };
  11. // 全局混入
  12. import AppMixin from "@/common/mixins/index.js";
  13. Vue.use(AppMixin);
  14. // 全局过滤器
  15. import AppFilters from "@/common/filters/index.js";
  16. for (let fKey in AppFilters) {
  17. Vue.filter(fKey, AppFilters[fKey]);
  18. }
  19. // 引用tmUI2.x框架
  20. import tmVuetify from "./tm-vuetify";
  21. Vue.use(tmVuetify);
  22. // i18n部分的配置
  23. // 引入语言包,注意路径
  24. import Chinese from "@/common/locales/zh.js";
  25. import English from "@/common/locales/en.js";
  26. // 引入并使用vue-i18n
  27. import VueI18n from "vue-i18n";
  28. Vue.use(VueI18n);
  29. // 构造i18n对象
  30. const i18n = new VueI18n({
  31. // 默认语言,这里的local属性,对应message中的zh、en属性
  32. locale: uni.getStorageSync("Default_Lang") || "zh",
  33. // 引入语言文件
  34. messages: {
  35. // 这里的属性名是任意的,您也可以把zh设置为cn等,只是后续切换语言时
  36. // 要标识这里的语言属性,如:this.$i18n.locale = zh|en|cn|xxx
  37. zh: Chinese,
  38. en: English,
  39. },
  40. });
  41. // 引入请求库
  42. import {
  43. http
  44. } from "./common/http/index.js";
  45. Vue.prototype.$http = http;
  46. // 全局api管理
  47. import ApiManager from '@/api/index.js'
  48. Vue.use(ApiManager);
  49. import HaloTokenConfig from '@/config/token.config.js'
  50. Vue.prototype.$baseApiUrl = HaloTokenConfig.BASE_API
  51. // 由于微信小程序的运行机制问题,需声明如下一行,H5和APP非必填
  52. Vue.prototype._i18n = i18n;
  53. Vue.config.productionTip = false;
  54. App.mpType = "app";
  55. const app = new Vue({
  56. i18n,
  57. ...App,
  58. });
  59. app.$mount();