import Vue from 'vue'
import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

import preview from 'vue-photo-preview' // 图片预览插件
import 'vue-photo-preview/dist/skin.css'

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

import App from './App'
import router from './router'
import store from './store'
import axios from 'axios'
import permission from '@/directive/permission' // 全局按钮权限判断指令
import waves from '@/directive/waves' // 水波纹指令

import '@/assets/iconfont/iconfont' // 引入 iconfont js 用于svg
// import '@/assets/iconfont/iconfont.css' // 引入 iconfont css 用于font Class
import '@/icons' // icon
import '@/permission' // permission control
import * as filters from './filters' // global filters

import layer from 'vue-layer'

// vue-layer
Vue.prototype.$layer = layer(Vue, {
  msgTime: 3 // msg方法的默认消失时间，单位：秒
})

// size 用于改变组件的默认尺寸，zIndex 设置弹框的初始 z-index（默认值：2000）
Vue.use(ElementUI, {
  size: 'small',
  zIndex: 2000
})

// 图片预览插件
Vue.use(preview, {
  fullscreenEl: false, // 关闭全屏按钮
  // mainClass: 'pswp--minimal--dark',
  // barsSize: {top: 200, bottom: 200},
  captionEl: true,
  shareEl: false,
  bgOpacity: 0.85,
  tapToClose: true,
  tapToToggleControls: true
})

// register global utility filters.
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
})

Vue.use(permission) // 全局按钮权限判断指令
Vue.use(waves) // 全局水波纹指令

Vue.config.productionTip = false

// 请求文件内容及创建实例
async function main() {
  // await getConfigs()
  await store.dispatch('ChangeConfig')
  axios.defaults.baseURL = store.getters.serverConfig.BASE_API// axios 的基础地址从配置文件读取
  new Vue({
    el: '#app',
    router,
    store,
    render: h => h(App)
  })
}
main()

console.log('%c 加一科技 %c呼叫中心 v6.0.0', 'font-size: 10px;background: linear-gradient(15deg, #35495e, #41b883);font-weight: bold;color: #fff;padding: 2px 4px;border-top-left-radius: 4px;border-bottom-left-radius: 4px;text-shadow: 1px 1px 1px #1aba43, -1px -1px 1px #999;', 'font-size: 10px;background: linear-gradient(60deg, #35495e, #1974ce);font-weight: bold;color: #fff;padding: 2px 6px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;')
