main.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * @Date: 2023-06-18 10:09:15
  3. * @LastEditors: zhubj
  4. * @LastEditTime: 2023-06-19 16:48:14
  5. * @Description: 头部注释
  6. * @FilePath: \own-vue3-vuecli-template\src\main.js
  7. */
  8. import { createApp } from 'vue'
  9. import App from './App.vue'
  10. import router from './router'
  11. import utils from '@/utils/index.js'
  12. import basicTool from '@/tools/basicTool.js'
  13. import store from './store'
  14. import axios from 'axios'
  15. import ElementPlus from 'element-plus'
  16. import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
  17. import 'element-plus/dist/index.css'
  18. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
  19. import * as echarts from 'echarts'
  20. import L from "leaflet"
  21. import "leaflet/dist/leaflet.css"
  22. import "leaflet-contextmenu"
  23. import "leaflet-canvas-marker"
  24. import icon from "leaflet/dist/images/marker-icon.png" // 引入leaflet默认图标
  25. import modeConfig from "@public/static/config/modeConfig.js"
  26. import './permission' // permission control
  27. import "./themeDark.less";
  28. const debounce = (fn, delay) => {
  29. let timer = null;
  30. return function () {
  31. let context = this;
  32. let args = arguments;
  33. clearTimeout(timer);
  34. timer = setTimeout(function () {
  35. fn.apply(context, args);
  36. }, delay);
  37. }
  38. }
  39. const _ResizeObserver = window.ResizeObserver;
  40. window.ResizeObserver = class ResizeObserver extends _ResizeObserver {
  41. constructor(callback) {
  42. callback = debounce(callback, 16);
  43. super(callback);
  44. }
  45. }
  46. const app = createApp(App)
  47. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  48. app.component(key, component)
  49. }
  50. app.config.globalProperties.BASE = basicTool;
  51. app.config.globalProperties.$utils = utils;
  52. app.config.globalProperties.$echarts = echarts;
  53. app.config.globalProperties.$axios = axios;
  54. app.config.globalProperties.icoName = icon;
  55. app.config.globalProperties.reportBaseUrl = modeConfig?.reportBaseUrl || "";
  56. app.config.globalProperties.baseReportUrl = modeConfig?.baseReportUrl || "";
  57. app.use(L);
  58. app.use(store).use(router).use(ElementPlus, { size: 'small', locale: zhCn }).mount('#app')