|  |  | 
 |  |  | import Vue from 'vue' | 
 |  |  | import Vue from "vue"; | 
 |  |  |  | 
 |  |  | import Cookies from 'js-cookie' | 
 |  |  | import Cookies from "js-cookie"; | 
 |  |  | import * as echarts from "echarts"; | 
 |  |  |  | 
 |  |  | import Element from 'element-ui' | 
 |  |  | import './assets/styles/element-variables.scss' | 
 |  |  | import Element from "element-ui"; | 
 |  |  | import "./assets/styles/element-variables.scss"; | 
 |  |  |  | 
 |  |  | 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/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"; | 
 |  |  | //引入quill-editor编辑器 | 
 |  |  | import VueQuillEditor from "vue-quill-editor"; | 
 |  |  | // require styles 引入样式 | 
 |  |  | import "quill/dist/quill.core.css"; | 
 |  |  | import "quill/dist/quill.snow.css"; | 
 |  |  | import "quill/dist/quill.bubble.css"; | 
 |  |  | Vue.use(VueQuillEditor); | 
 |  |  | // 引入 | 
 |  |  | import { codemirror } from "vue-codemirror"; | 
 |  |  | import "@/utils/cm-setting.js"; | 
 |  |  | Vue.component("codemirror", codemirror); | 
 |  |  |  | 
 |  |  | import './assets/icons' // icon | 
 |  |  | import './permission' // permission control | 
 |  |  | import { Quill } from "vue-quill-editor"; | 
 |  |  | window.Quill = Quill; | 
 |  |  | import imageResize from "quill-image-resize"; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | import { ImageDrop } from "quill-image-drop-module"; | 
 |  |  | Quill.register("modules/imageDrop", ImageDrop); | 
 |  |  | Quill.register("modules/imageResize", imageResize); | 
 |  |  |  | 
 |  |  | // import LemonIMUI from "lemon-imui"; | 
 |  |  | // import "lemon-imui/dist/index.css"; | 
 |  |  | // Vue.use(LemonIMUI); | 
 |  |  |  | 
 |  |  | 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, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"; | 
 |  |  | import { | 
 |  |  |   parseTime, | 
 |  |  |   formatTime, | 
 |  |  |   resetForm, | 
 |  |  |   addDateRange, | 
 |  |  |   selectDictLabel, | 
 |  |  |   selectDictLabels, | 
 |  |  |   handleTree, | 
 |  |  |   daysBetween, | 
 |  |  | } from "@/utils/ruoyi"; | 
 |  |  | import LemonMessageVoice from './websocket/lemon-message-voice'; | 
 |  |  | Vue.component(LemonMessageVoice.name,LemonMessageVoice); | 
 |  |  | // 分页组件 | 
 |  |  | import Pagination from "@/components/Pagination"; | 
 |  |  | // 自定义表格工具组件 | 
 |  |  | import RightToolbar from "@/components/RightToolbar" | 
 |  |  | import RightToolbar from "@/components/RightToolbar"; | 
 |  |  | // 富文本组件 | 
 |  |  | import Editor from "@/components/Editor" | 
 |  |  | import Editor from "@/components/Editor"; | 
 |  |  | // 文件上传组件 | 
 |  |  | import FileUpload from "@/components/FileUpload" | 
 |  |  | import FileUpload from "@/components/FileUpload"; | 
 |  |  | // 图片上传组件 | 
 |  |  | import ImageUpload from "@/components/ImageUpload" | 
 |  |  | import ImageUpload from "@/components/ImageUpload"; | 
 |  |  | // 图片预览组件 | 
 |  |  | import ImagePreview from "@/components/ImagePreview" | 
 |  |  | import ImagePreview from "@/components/ImagePreview"; | 
 |  |  | // 字典标签组件 | 
 |  |  | import DictTag from '@/components/DictTag' | 
 |  |  | import DictTag from "@/components/DictTag"; | 
 |  |  | // 头部标签组件 | 
 |  |  | import VueMeta from 'vue-meta' | 
 |  |  | import VueMeta from "vue-meta"; | 
 |  |  | // 字典数据组件 | 
 |  |  | import DictData from '@/components/DictData' | 
 |  |  | import DictData from "@/components/DictData"; | 
 |  |  | // 组件封装集成 | 
 |  |  | import components from './components' | 
 |  |  | import components from "./components"; | 
 |  |  | // 语音组件 | 
 |  |  | import VueAudio from 'vue-audio-better' | 
 |  |  | // 弹框拖动 | 
 |  |  | import '@/utils/drag.js'; | 
 |  |  | // 注册过滤器 | 
 |  |  | import * as filters from './filters' | 
 |  |  | for(let key in filters){ | 
 |  |  | Vue.filter(key, filters[key]) | 
 |  |  | // 自定义指令 | 
 |  |  | import * as directives from "./directives"; | 
 |  |  | import * as filters from "./filters"; | 
 |  |  | for (let key in filters) { | 
 |  |  |   Vue.filter(key, filters[key]); | 
 |  |  | } | 
 |  |  | import moment from "moment" | 
 |  |  |  | 
 |  |  | Vue.prototype.$moment = moment; | 
 |  |  |  | 
 |  |  | // 全局方法挂载 | 
 |  |  | Vue.prototype.getDicts = getDicts | 
 |  |  | Vue.prototype.getConfigKey = getConfigKey | 
 |  |  | Vue.prototype.parseTime = parseTime | 
 |  |  | Vue.prototype.resetForm = resetForm | 
 |  |  | Vue.prototype.addDateRange = addDateRange | 
 |  |  | Vue.prototype.selectDictLabel = selectDictLabel | 
 |  |  | Vue.prototype.selectDictLabels = selectDictLabels | 
 |  |  | Vue.prototype.download = download | 
 |  |  | Vue.prototype.handleTree = handleTree | 
 |  |  |  | 
 |  |  | Vue.prototype.getDicts = getDicts; | 
 |  |  | Vue.prototype.getConfigKey = getConfigKey; | 
 |  |  | Vue.prototype.parseTime = parseTime; | 
 |  |  | Vue.prototype.formatTime = formatTime; | 
 |  |  | Vue.prototype.daysBetween = daysBetween; | 
 |  |  | Vue.prototype.resetForm = resetForm; | 
 |  |  | Vue.prototype.addDateRange = addDateRange; | 
 |  |  | 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('RightToolbar', RightToolbar) | 
 |  |  | Vue.component('Editor', Editor) | 
 |  |  | Vue.component('FileUpload', FileUpload) | 
 |  |  | Vue.component('ImageUpload', ImageUpload) | 
 |  |  | Vue.component('ImagePreview', ImagePreview) | 
 |  |  | Vue.component("DictTag", DictTag); | 
 |  |  | Vue.component("Pagination", Pagination); | 
 |  |  | Vue.component("RightToolbar", RightToolbar); | 
 |  |  | Vue.component("Editor", Editor); | 
 |  |  | Vue.component("FileUpload", FileUpload); | 
 |  |  | Vue.component("ImageUpload", ImageUpload); | 
 |  |  | Vue.component("ImagePreview", ImagePreview); | 
 |  |  |  | 
 |  |  | Vue.use(directive) | 
 |  |  | Vue.use(plugins) | 
 |  |  | Vue.use(VueMeta) | 
 |  |  | DictData.install() | 
 |  |  | Vue.use(components) | 
 |  |  | // 封装自定义指令 | 
 |  |  | for (let key in directives) Vue.directive(key, directives[key]); | 
 |  |  | Vue.use(directive); | 
 |  |  | Vue.use(plugins); | 
 |  |  | Vue.use(VueMeta); | 
 |  |  | Vue.use(VueAudio) | 
 |  |  | DictData.install(); | 
 |  |  | Vue.use(components); | 
 |  |  | // Vue.use(VueQuillEditor) | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * If you don't want to use mock-server | 
 |  |  | 
 |  |  |  */ | 
 |  |  |  | 
 |  |  | Vue.use(Element, { | 
 |  |  |   size: Cookies.get('size') || 'medium' // set element-ui default size | 
 |  |  | }) | 
 |  |  |   size: Cookies.get("size") || "medium", // set element-ui default size | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | Vue.config.productionTip = false | 
 |  |  | Vue.config.productionTip = false; | 
 |  |  |  | 
 |  |  | new Vue({ | 
 |  |  |   el: '#app', | 
 |  |  |   el: "#app", | 
 |  |  |   router, | 
 |  |  |   store, | 
 |  |  |   render: h => h(App) | 
 |  |  | }) | 
 |  |  |   render: (h) => h(App), | 
 |  |  | }); | 
 |  |  |  |