import "babel-polyfill";
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";

import Antd from "ant-design-vue";
import "ant-design-vue/dist/antd.css";
import { message } from "ant-design-vue";
message.config({
  duration: 2,
  maxCount: 1,
});
Vue.use(Antd);

import GlobalComponents from "./utils/js/globalComponents";
Vue.use(GlobalComponents);

import common from "./utils/commin";
Vue.use(common);
// 公共样式
import "@/assets/css/normalize.css";
import "@/assets/css/reset.css";
import "@/assets/css/common.less";
import "@/assets/css/tailwindcss.css";
import "@/assets/fonts/iconfont.css";

// 注册全局组件
import customComponents from "@/components";
Vue.use(customComponents);

// 拖动插件
import draggable from "vuedraggable";
Vue.component("draggable", draggable);

// 引入注册全局指令
import * as directives from "@/directive";
Object.keys(directives).forEach((name) =>
  Vue.directive(name, directives[name])
);
// datav
import dataV from "@jiaminghi/data-view";
Vue.use(dataV);
// 引入lodash
import lodash from "lodash";
Vue.prototype.$_ = lodash;
// moment 时间处理
import moment from "moment";
Vue.prototype.$moment = moment;
// 全局过滤器
import * as filters from "@/filters";
Object.keys(filters).forEach((key) => {
  Vue.filter(key, filters[key]);
});
//引入字典
import codeMap from "@/utils/codeMap";
Vue.prototype.$codeMap = codeMap;

Vue.prototype.$bus = new Vue();

// swiper
import "swiper/css/swiper.min.css";

Vue.config.productionTip = false;
// 图片预览
import Viewer from "v-viewer";
import "viewerjs/dist/viewer.css";
Vue.use(Viewer);
// 图片懒加载插件
import VueLazyload from "vue-lazyload";
Vue.use(VueLazyload, {
  loading: require("@/assets/images/img_bg.jpg"), // 懒加载默认图片
});
new Vue({
  router,
  store,
  render: (h) => h(App),
}).$mount("#app");