Newer
Older
safe_production_front / src / main.ts
dutingting on 25 Oct 2 KB gm视频调试
import { createApp } from 'vue'
import 'core-js/features/object/entries'
import 'core-js/features/object/values'
import ElementPlus from 'element-plus'
import print from 'vue3-print-nb'
import axios from 'axios'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import dayjs from 'dayjs'
import App from './App.vue'
import pinia from './store'
import router from './router'
import useSettingsStore from './store/modules/settings'
import request from '@/api/index'
// 自定义指令
import directive from '@/utils/directive'
// 加载 svg 图标
import 'virtual:svg-icons-register'
// 全局样式
import '@/assets/styles/globals.scss'
// 加载 iconify 图标(element plus)
import { downloadAndInstall } from '@/iconify-ep'
import { hasPermission } from '@/utils/composables/permission'
import buttonPerm from '@/utils/buttonPerm'
// 引入打印插件
if (useSettingsStore().app.iconifyOfflineUse) {
  downloadAndInstall()
}
const app = createApp(App)
app.config.globalProperties.hasPerm = hasPermission
app.config.globalProperties.buttonPerm = buttonPerm
app.config.globalProperties.dayjs = dayjs
// let loading: any
// let loadingCount = 0
// app.config.globalProperties.showLoading = () => {
//   if (loadingCount === 0) {
//     loading = ElLoading.service({
//       lock: true,
//       text: '加载中,请耐心等待...',
//       background: 'rgba(0, 0, 0, 0.7)',
//     })
//     loadingCount++
//   }
// }
// app.config.globalProperties.closeLoading = () => {
//   if (loadingCount <= 0) { return }
//   loadingCount--
//   if (loadingCount === 0) {
//     if (loading) {
//       loading.close()
//     }
//   }
// }
app.use(print)
app.use(ElementPlus)
app.use(pinia)
app.use(router)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}
directive(app)

axios
  .get('./config/config.json')
  .then((result) => {
    console.log('get config')
    console.log(result)
    window.localStorage.setItem('baseurl-safe', result.data.baseUrl)
    request.defaults.baseURL = result.data.baseUrl // 设置默认请求网址
    app.config.globalProperties.config = result.data
    app.config.globalProperties.$position = {
      lat: result.data.lat,
      lng: result.data.lng,
    }
    app.config.globalProperties.$zoom = {
      minZoom: result.data.minZoom,
      maxZoom: result.data.maxZoom,
      zoom: result.data.zoom,
    }
    window.localStorage.setItem('baseURL', result.data.baseUrl)
    window.localStorage.setItem('mediaBaseUrl', result.data.mediaBaseUrl)
    window.localStorage.setItem('timeGap', result.data.timeGap)
    window.localStorage.setItem('systemType', result.data.systemType)
    app.mount('#app')
  })
  .catch((error) => {
    console.error(`get baseConfig error...${error}`)
  })