import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store'
import {axios} from './service/api/index'
import directives from './directives'
import imgPreview from '@/components/imgPreview/'
// import componentMapping from '@/components'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import VueLazyLoad from 'vue-lazyload'

// import gicinput from '@gic-test/gic-input'
import vueGicHeader from '@gic-test/vue-gic-header'
import vueGicFooter from '@gic-test/vue-gic-footer'
import vueGicAsideMenu from '@gic-test/vue-gic-aside-menu/src/lib'
import vueGicCard from '@gic-test/vue-gic-card'
import vueGicStore from '@gic-test/vue-gic-store'
import vueGicStoreLinkage from '@gic-test/vue-gic-store-linkage/src/lib'
// import vueGicPeople from '@gic-test/vue-gic-people/src/lib';
import vueGicPeople from '@gic-test/vue-gic-people';

import vueGicConfirmPeople from '@gic-test/vue-gic-confirm-people/src/lib';

import install  from 'packele'

Vue.use(install);

// import NwdLoading from '@/plugin/loading/index.js'

Vue.use(VueLazyLoad,{
  error:'./assets/img/loaderror.png',
  loading:'./assets/img/loading.gif'
})

Vue.config.productionTip = false
Vue.use(ElementUI)
Vue.use(vueGicHeader)
Vue.use(vueGicFooter)
Vue.use(vueGicAsideMenu)
Vue.use(vueGicCard)
Vue.use(vueGicStore)
Vue.use(imgPreview)
Vue.use(vueGicStoreLinkage)
Vue.use(vueGicPeople)
Vue.use(vueGicConfirmPeople)


// Vue.use(gicinput)

Vue.prototype.axios = axios;
Vue.prototype.axios.withCredentials = true

Object.keys(directives).map(item => Vue.directive(item, directives[item]));


window.$bus = new Vue();
let flag = false
Vue.prototype.$tips = function ({message = '提示',type = 'success'}) {
  if (flag) { return }
  else {this.$message({message,type})}
  flag = true;
  setTimeout(_ => {flag  = false},1000)
}

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>'
})
