123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- import Vue from "vue";
- import "xe-utils";
- import VXETable from "vxe-table";
- VXETable.config({
- "column-config": {
- resizable: true
- }
- });
- import "vxe-table/lib/style.css";
- Vue.use(VXETable);
- import VXETablePluginElement from "vxe-table-plugin-element";
- import "vxe-table-plugin-element/dist/style.css";
- VXETable.use(VXETablePluginElement);
- const jnpf = require("./utils/jnpf").default;
- import "normalize.css/normalize.css"; // a modern alternative to CSS resets
- import Element from "element-ui";
- import "element-ui/lib/theme-chalk/index.css";
- import "./styles/element-variables.scss";
- import "./assets/scss/common.scss";
- import "@/styles/index.scss"; // global css
- import "./assets/scss/theme.scss"; // 主题
- import VueAwesomeSwiper from "vue-awesome-swiper";
- import "swiper/css/swiper.css";
- Vue.use(VueAwesomeSwiper);
- import App from "./App";
- import store from "./store";
- import router from "./router";
- import i18n from "./lang"; // internationalization
- import "./permission"; // permission control
- // import './utils/error-log' // error log
- import { message } from "./utils/message";
- import * as filters from "./filters"; // global filters
- // 自定义按钮权限指令
- import permission from "@/directive/permission";
- Vue.use(permission);
- Vue.use(Element, {
- size: jnpf.storageGet("size") || "small", // set element-ui default size
- i18n: (key, value) => i18n.t(key, value)
- });
- // 批量引入组件
- import components from "./components";
- Vue.use(components);
- // 添加实例属性
- Object.assign(Vue.prototype, {
- define: require("./utils/define"), // 常量
- jnpf, // 公共方法
- formValidate: require("./utils/formValidate").default, // 表单验证
- $message: message
- });
- // 全局注册过滤器
- Object.keys(filters).forEach((key) => {
- Vue.filter(key, filters[key]);
- });
- Vue.config.productionTip = false;
- // 按需引入需要的语言包皮肤等资源
- require("brace/ext/emmet"); // 如果是lang=html时需引入
- require("brace/ext/language_tools"); // language extension
- require("brace/mode/sql");
- require("brace/snippets/sql");
- require("brace/mode/java");
- require("brace/snippets/java");
- require("brace/mode/javascript");
- require("brace/snippets/javascript");
- require("brace/theme/monokai");
- require("brace/theme/solarized_dark");
- require("brace/theme/chrome");
- // 注册组件后即可使用
- import Editor from "bin-ace-editor";
- Vue.component(Editor.name, Editor);
- import { throttle } from "lodash";
- // 避免高频率调用 使用节流throttle
- Vue.prototype.apiVariableSetItem = throttle(function(key, value) {
- if (key === "API_VARIABLE_CHANGE") {
- let newStorageEvent = document.createEvent("StorageEvent");
- const storage = {
- setItem: function(k, val) {
- sessionStorage.setItem(k, val);
- newStorageEvent.initStorageEvent("setItem", false, false, k, null, val, null, null);
- window.dispatchEvent(newStorageEvent);
- }
- };
- return storage.setItem(key, value);
- }
- }, 340);
- window.logjson = function(val) {
- if (typeof val === "object") console.log(JSON.parse(JSON.stringify(val)));
- else console.log(val);
- };
- const vm = new Vue({
- el: "#app",
- router,
- store,
- i18n,
- render: (h) => h(App)
- });
- export default vm;
|