import Vue from 'vue'

import Cookies from 'js-cookie'

import Element from 'element-ui'
import './assets/styles/element-variables.scss'
import VueAMap from 'vue-amap';
import BaiduMap from 'vue-baidu-map'
import VueJsonp from 'vue-jsonp'
import Print from 'vue-print-nb'


 // import 'bootstrap/dist/js/bootstrap.min.js'
 // import 'bootstrap/dist/css/bootstrap.css'
 // import 'font-awesome/css/font-awesome.css'
 // import 'summernote'
 // import 'summernote/dist/lang/summernote-zh-CN'
 // import 'summernote/dist/summernote.css'
 // import 'popper.js'



import '@/assets/styles/index.scss' // global css
import '@/assets/styles/ruoyi.scss' // ruoyi css
import App from './App'
import store from './store'
import router from './router'
import directive from './directive' // directive
import plugins from './plugins' // plugins
import { download } from '@/utils/request'

import './assets/icons' // icon
import './permission' // permission control
import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, roleqh,  selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
// 分页组件
import Pagination from "@/components/Pagination";
import Paginations from "@/components/Paginations";

// 自定义表格工具组件
import RightToolbar from "@/components/RightToolbar"
// 富文本组件
import Editor from "@/components/Editor"
// 文件上传组件
import FileUpload from "@/components/FileUpload"
import FileUploads from "@/components/FileUploads"
import FileUploadsch from "@/components/FileUploadsch"


// 图片上传组件
import ImageUpload from "@/components/ImageUpload"
import ImageUploads from "@/components/ImageUploads"
import ImageUploadslis from "@/components/ImageUploadslis"
import ImageUploadxy from "@/components/ImageUploadxy"

// 图片预览组件
import ImagePreview from "@/components/ImagePreview"
// 字典标签组件
import DictTag from '@/components/DictTag'
// 头部标签组件
import VueMeta from 'vue-meta'
// 字典数据组件
import DictData from '@/components/DictData'
// 步骤条组件
import Steps from '@/components/Steps'

import Tinymce from '@/components/tinymce/index.vue'




// 全局方法挂载
Vue.prototype.getDicts = getDicts
Vue.prototype.getConfigKey = getConfigKey
Vue.prototype.parseTime = parseTime
Vue.prototype.resetForm = resetForm
Vue.prototype.addDateRange = addDateRange
Vue.prototype.roleqh = roleqh

Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectDictLabels = selectDictLabels
Vue.prototype.download = download
Vue.prototype.handleTree = handleTree

// 全局组件挂载
Vue.component('DictTag', DictTag)
Vue.component('Pagination', Pagination)
Vue.component('Paginations', Paginations)
Vue.component('RightToolbar', RightToolbar)
Vue.component('Editor', Editor)
Vue.component('Steps', Steps)

Vue.component('FileUpload', FileUpload)
Vue.component('FileUploads', FileUploads)
Vue.component('FileUploadsch', FileUploadsch)


Vue.component('ImageUpload', ImageUpload)
Vue.component('ImageUploads', ImageUploads)
Vue.component('ImageUploadslis', ImageUploadslis)
Vue.component('ImageUploadxy', ImageUploadxy)
Vue.component('ImagePreview', ImagePreview)
Vue.component('tinymce', Tinymce)


Vue.use(directive)
Vue.use(plugins)
Vue.use(VueMeta)
Vue.use(VueAMap);
Vue.use(Print)
Vue.use(BaiduMap, {
 // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
 ak: 'Bjardsym8W1tLv0PmOAVfCosOLIiFdKX'
})


VueAMap.initAMapApiLoader({
  key: '06002d75fcc13e857adc3527fb365da9',
  plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor','AMap.Geolocation','AMap.Geocoder'],
  // 默认高德 sdk 版本为 1.4.4
  v: '1.4.4'
});
DictData.install()

Vue.use(Element, {
  size: Cookies.get('size') || 'medium' // set element-ui default size
})

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
