// 引入 Vue 核心库 import Vue from 'vue' // 引入根组件 App.vue import App from '@/App.vue' // 引入 Element UI 组件库(完整引入) import ElementUI from 'element-ui' // 引入 Element UI 的自定义样式文件(SCSS) import '@/assets/css/element-variables.scss' // 引入项目自定义全局样式文件 import '@/assets/css/style.scss' // 引入路由配置模块(静态路由) import router from '@/router/router-static.js' // 引入面包屑导航组件,并注册为全局组件 import BreadCrumbs from '@/components/common/BreadCrumbs' // 引入 ECharts 图表库 import echarts from 'echarts' // 引入 ECharts 主题(macarons) import 'echarts/theme/macarons.js' // 引入封装的 HTTP 请求工具 import http from '@/utils/http.js' // 引入基础配置文件(如 base URL) import base from '@/utils/base' // 引入权限验证工具函数 isAuth import { isAuth } from '@/utils/utils' // 引入本地存储封装工具(storage) import storage from "@/utils/storage" // 引入通用文件上传组件 import FileUpload from "@/components/common/FileUpload" // 引入富文本编辑器组件 import Editor from "@/components/common/Editor" // 引入 API 接口统一管理模块 import api from '@/utils/api' // 引入数据校验工具类 import * as validate from '@/utils/validate.js' // 引入高德地图插件支持 import VueAMap from 'vue-amap' // 引入图标资源 import '@/icons' // 引入 Excel 导出组件 import JsonExcel from 'vue-json-excel' // 引入打印功能库 import printJS from 'print-js' // 引入 MD5 加密库 import md5 from 'js-md5' // 使用高德地图插件 Vue.use(VueAMap) // 初始化高德地图 API 加载器,配置 key 和所需插件 VueAMap.initAMapApiLoader({ key: 'ca04cee7ac952691aa67a131e6f0cee0', plugin: [ 'AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor', 'AMap.Geocoder' ], v: '1.4.4' // 高德 SDK 版本号 }) // 将 validate 工具挂载到 Vue 原型链上,方便全局调用 Vue.prototype.$validate = validate // 将 http 挂载到 Vue 原型链上,用于全局发起请求 Vue.prototype.$http = http // 将 echarts 挂载到 Vue 原型链上,用于全局使用图表 Vue.prototype.$echarts = echarts // 获取基础配置对象并挂载到原型链 Vue.prototype.$base = base.get() // 获取项目名称并挂载到原型链 Vue.prototype.$project = base.getProjectName() // 将本地存储工具挂载到原型链 Vue.prototype.$storage = storage // 将 API 接口模块挂载到原型链 Vue.prototype.$api = api // 将权限判断方法挂载到原型链 Vue.prototype.isAuth = isAuth // 使用 Element UI 插件,设置默认尺寸和 z-index Vue.use(ElementUI, { size: 'medium', zIndex: 3000 }) // 关闭 Vue 启动时的生产提示 Vue.config.productionTip = false // 注册全局组件:面包屑导航 Vue.component('bread-crumbs', BreadCrumbs) // 注册全局组件:文件上传组件 Vue.component('file-upload', FileUpload) // 注册全局组件:富文本编辑器 Vue.component('editor', Editor) // 注册 Excel 导出组件 Vue.component('downloadExcel', JsonExcel) // 将 MD5 方法挂载到 Vue 原型链上,用于加密处理 Vue.prototype.$md5 = md5 // 创建 Vue 实例,启动应用 new Vue({ // 渲染根组件 App render: h => h(App), // 使用路由配置 router }).$mount('#app')