Files

97 lines
2.9 KiB
JavaScript
Raw Normal View History

2022-12-23 12:52:36 +08:00
import { createApp } from "vue";
2021-11-30 09:55:37 +08:00
2022-12-23 12:52:36 +08:00
import Cookies from "js-cookie";
2021-11-30 09:55:37 +08:00
2022-12-23 12:52:36 +08:00
import ElementPlus from "element-plus";
import locale from "element-plus/lib/locale/lang/zh-cn"; // 中文语言
2021-11-30 09:55:37 +08:00
2022-12-23 12:52:36 +08:00
import "@/assets/styles/index.scss"; // global css
2021-11-30 09:55:37 +08:00
2022-12-23 12:52:36 +08:00
import App from "./App";
import store from "./store";
import router from "./router";
import directive from "./directive"; // directive
2021-11-30 09:55:37 +08:00
2022-12-23 12:52:36 +08:00
// 高亮
import "highlight.js/styles/atom-one-dark.css";
import hljs from "highlight.js/lib/core";
import json from "highlight.js/lib/languages/json";
import xml from "highlight.js/lib/languages/xml";
import hljsVuePlugin from "@highlightjs/vue-plugin";
hljs.registerLanguage("json", json);
hljs.registerLanguage("xml", xml);
2021-11-30 09:55:37 +08:00
// 注册指令
2022-12-23 12:52:36 +08:00
import plugins from "./plugins"; // plugins
import { download } from "@/utils/request";
2021-11-30 09:55:37 +08:00
// svg图标
2022-12-23 12:52:36 +08:00
import "virtual:svg-icons-register";
import SvgIcon from "@/components/SvgIcon";
import elementIcons from "@/components/SvgIcon/svgicon";
import "./permission"; // permission control
import { useDict } from "@/utils/dict";
import {
parseTime,
resetForm,
addDateRange,
handleTree,
selectDictLabel,
selectDictLabels,
} from "@/utils/ruoyi";
2021-11-30 09:55:37 +08:00
// 分页组件
2022-12-23 12:52:36 +08:00
import Pagination from "@/components/Pagination";
2021-11-30 09:55:37 +08:00
// 自定义表格工具组件
2022-12-23 12:52:36 +08:00
import RightToolbar from "@/components/RightToolbar";
2021-12-30 13:50:57 +08:00
// 文件上传组件
2022-12-23 12:52:36 +08:00
import FileUpload from "@/components/FileUpload";
2021-12-30 10:25:40 +08:00
// 图片上传组件
2022-12-23 12:52:36 +08:00
import ImageUpload from "@/components/ImageUpload";
2021-12-30 10:51:17 +08:00
// 图片预览组件
2022-12-23 12:52:36 +08:00
import ImagePreview from "@/components/ImagePreview";
2021-11-30 09:55:37 +08:00
// 自定义树选择组件
2022-12-23 12:52:36 +08:00
import TreeSelect from "@/components/TreeSelect";
2021-11-30 09:55:37 +08:00
// 字典标签组件
2022-12-23 12:52:36 +08:00
import DictTag from "@/components/DictTag";
2021-11-30 09:55:37 +08:00
2022-12-23 12:52:36 +08:00
const app = createApp(App);
2021-11-30 09:55:37 +08:00
// 全局方法挂载
2022-12-23 12:52:36 +08:00
app.config.globalProperties.useDict = useDict;
app.config.globalProperties.download = download;
app.config.globalProperties.parseTime = parseTime;
app.config.globalProperties.resetForm = resetForm;
app.config.globalProperties.handleTree = handleTree;
app.config.globalProperties.addDateRange = addDateRange;
app.config.globalProperties.selectDictLabel = selectDictLabel;
app.config.globalProperties.selectDictLabels = selectDictLabels;
2021-11-30 09:55:37 +08:00
// 全局组件挂载
2022-12-23 12:52:36 +08:00
app.component("DictTag", DictTag);
app.component("Pagination", Pagination);
app.component("TreeSelect", TreeSelect);
app.component("FileUpload", FileUpload);
app.component("ImageUpload", ImageUpload);
app.component("ImagePreview", ImagePreview);
app.component("RightToolbar", RightToolbar);
app.use(router);
app.use(store);
app.use(plugins);
app.use(elementIcons);
app.use(hljsVuePlugin);
app.component("svg-icon", SvgIcon);
directive(app);
2021-11-30 09:55:37 +08:00
// 使用element-plus 并且设置全局的大小
app.use(ElementPlus, {
locale: locale,
2022-01-11 17:24:45 +08:00
// 支持 large、default、small
2022-12-23 12:52:36 +08:00
size: Cookies.get("size") || "default",
});
2021-11-30 09:55:37 +08:00
2022-12-23 12:52:36 +08:00
app.mount("#app");