import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./stores";
import componentService from "@/services/component-vue.service";
import enumService from "./constants/enum/enum.service";
import filterService from "./filtres/filter.service";
import directiveService from "./directives/directive.service";
import apiService from "@/services/api.service";
import dbService from "@/services/db.service";
import dictService from "@/services/dict.service";
import "./assets/iconfont/iconfont.css";
import "./assets/iconfont/iconfont.js";
import { NativeUI } from "@/public/ts/NativeUI";

/* START导入样式*/
import "@dhccmobile/common-style";
import "vant/lib/index.css";
import "@/assets/css/index.scss";
import nativeService from "@/services/native.service";

import { Step, Steps } from 'vant';
import vueEsign from 'vue-esign';
import Vconsole from 'vconsole';

Vue.use(vueEsign)
Vue.use(Step);
Vue.use(Steps);

Vue.config.productionTip = process.env.PRODUCTION_TIP;

/*注册组件*/
componentService.init();

/*注册全局枚举*/
enumService.init();

/*注册全局过滤器*/
filterService.init();

/*注册全局指令*/
directiveService.init();

/*注册axios*/
apiService.init();

dbService.initDB().then(() => {
  dictService.init();
});
new Vconsole();
/*h5+插件*/
nativeService.init();
new Vue({
  router,
  store,
  render: (h) => h(App),
}).$mount("#app");