Newer
Older
qd_cnooc_front / src / main.js
[wangxitong] on 27 Nov 2021 3 KB first commit
import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets
import '../theme/index.css' // 引入自定义主题
import ElementUI from 'element-ui'
// import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n

import '@/styles/index.scss' // global css

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // permission control

// echart
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts

import VCharts from 'v-charts'
Vue.use(VCharts)

// 将自动注册所有组件为全局组件
// import dataV from '@jiaminghi/data-view'
// Vue.use(dataV)

// 注册全局自定义布局组件
import NormalTable from '@/components/NormalTable/index'
import SearchArea from '@/components/SearchArea/SearchArea'
import SearchItem from '@/components/SearchArea/SearchItem'
import AppContainer from '@/components/layout/AppContainer'

Vue.component('app-container', AppContainer)
Vue.component('normal-table', NormalTable)
Vue.component('search-area', SearchArea)
Vue.component('search-item', SearchItem)

// 加载leaflet的css
import 'leaflet/dist/leaflet.css'
import 'leaflet-draw/dist/leaflet.draw.css'

// 在main.js中加入下面代码
import 'mars3d/dist/mars3d.css'
// import 'mars3d-esri/dist/mars3d-esri.js'
import * as mars3d from 'mars3d'
Vue.prototype.mars3d = mars3d

/**
 * This project originally used easy-mock to simulate data,
 * but its official service is very unstable,
 * and you can build your own service if you need it.
 * So here I use Mock.js for local emulation,
 * it will intercept your request, so you won't see the request in the network.
 * If you remove `../mock` it will automatically request easy-mock data.
 */
// import './../mock' // simulation data
// require('./../mock')
// 兼容IE11
import 'babel-polyfill'

// 引入animate.css库,此处关闭eslint校验
// eslint-disable-next-line
import animate from 'animate.css'

// import '../mock' // simulation data
import { hasPermission, showWellType, showDeviceType, showIpConfig, isOperation, isAdministrator } from './utils/permission'

Vue.prototype.hasPerm = hasPermission
Vue.prototype.showWellType = showWellType
Vue.prototype.showDeviceType = showDeviceType
Vue.prototype.showIpConfig = showIpConfig
Vue.prototype.isOperation = isOperation
Vue.prototype.isAdministrator = isAdministrator
// 引入Element-ui
Vue.use(ElementUI, { locale })

// 引入全局标题
// import { getProject } from '@/utils/baseConfig'
// document.title = getProject().title

// 引入v-charts
// import VCharts from 'v-charts'
// Vue.use(VCharts)

// 先加载配置文件后,new Vue
/* eslint-disable no-new */
import axios from 'axios'
import service from '@/utils/request'
axios.get('./static/project.config.json').then((result) => {
  console.log('get config')
  Vue.prototype.baseConfig = result.data
  document.title = result.data.title // 首先设置网页的title
  service.defaults.baseURL = result.data.baseUrl // 设置默认请求网址
  new Vue({
    el: '#app',
    router,
    store,
    render: h => h(App)
  })
}).catch((error) => {
  console.log('get baseConfig error...' + error)
})
// 引入音频文件
import audio from '@/assets/audio/alarm.mp3'

// 方法1:注册播放音频事件到Vue实例上
Vue.prototype.playAudio = (audioName) => {
  const buttonAudio = document.getElementById('eventAudio')
  buttonAudio.setAttribute('src', audio)
  console.log(buttonAudio)
  const playPromise = buttonAudio.play()
  if (playPromise) {
    playPromise.then(() => {
      // 音频加载成功
      console.log('音频加载成功')
    }).catch((e) => {
      // 音频加载失败
      console.error(e.message)
    })
  }
  if (buttonAudio.paused === true) {
    buttonAudio.load()
  } else {
    buttonAudio.pause()
    buttonAudio.play()
  }
}