import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import { loadLang } from '/@/lang/index'
import { registerIcons } from '/@/utils/common'
import ElementPlus from 'element-plus'
import mitt from 'mitt'
import pinia from '/@/stores/index'
import { directives } from '/@/utils/directives'
import 'element-plus/dist/index.css'
import 'element-plus/theme-chalk/display.css'
import '/@/styles/index.scss'
// modules import mark, Please do not remove.
import VueAMap, { initAMapApiLoader } from '@vuemap/vue-amap'
import '@vuemap/vue-amap/dist/style.css'

async function start () {
    const app = createApp(App)
    app.use(pinia)

    // 全局语言包加载
    const i18n = await loadLang(app)

    app.use(router)
    app.use(ElementPlus, { i18n: i18n.global.t })

    // 高德地图
    initAMapApiLoader({
        key: '8f6e32fdc2f2153b1ebe85b7093dd3f1',
        securityJsCode: '0a58332bf4f54fb755d8e41a8b96940c',
        plugins: [
            'AMap.Geolocation', // 定位控件，用来获取和展示用户主机所在的经纬度位置
            // 'AMap.ControlBar', // 地图旋转旋转、倾斜、复位、缩放在内的地图控件，在3D地图模式下会显示（自V1.4.0版本新增）
            'AMap.Scale', // 比例尺
            'AMap.OverView', // 地图鹰眼控件，在地图右下角显示地图的缩略图
            'AMap.ToolBar', // 地图工具条
            'AMap.MapType',  // 地图类型切换控件
            'AMap.PolyEditor', // 地图多边形编辑插件
            'AMap.CircleEditor', // 地图圆形编辑插件
        ],
        v: '2.0',
        uiVersion: '1.0',

    })
    app.use(VueAMap)

    // 全局注册
    directives(app) // 指令
    registerIcons(app) // icons

    app.mount('#app')

    // modules start mark, Please do not remove.

    app.config.globalProperties.eventBus = mitt()
}

start()
