import { createApp } from 'vue' 
 | 
// import VConsole from 'vconsole' 
 | 
import App from './App.vue' 
 | 
import router from './router' 
 | 
import store from './store' 
 | 
// @ts-ignore 
 | 
// import QrcodeReaderVue3 from 'qrcode-reader-vue3' 
 | 
import Vant from 'vant' 
 | 
import * as dd from 'dingtalk-jsapi' 
 | 
import 'vant/lib/index.css' 
 | 
import 'lib-flexible/flexible.js' 
 | 
import { auth } from '@/utils/utils' 
 | 
// const vConsole = new VConsole() 
 | 
import ScanCode from '@/components/common/ScanCode.vue' 
 | 
import Search from '@/components/common/Search.vue' 
 | 
  
 | 
const app = createApp(App) 
 | 
  
 | 
app.config.globalProperties.$onWait = new Promise((resolve) => { 
 | 
    app.config.globalProperties.$reslove = resolve 
 | 
}) 
 | 
  
 | 
app.config.globalProperties.$dd = dd    // 全局挂载钉钉 
 | 
  
 | 
app.config.globalProperties.$auth = auth    // 全局挂载权限验证方法 
 | 
  
 | 
if (dd.env.platform !== 'notInDingTalk') {      // 顶顶段禁止IOS回弹效果 
 | 
    // @ts-ignore 
 | 
    dd.ui.webViewBounce.disable() 
 | 
} 
 | 
  
 | 
app.component('v-ScanCode', ScanCode)     // 挂载全局扫码组件 
 | 
  
 | 
app.component('v-Search', Search)     // 挂载全局搜索组件 
 | 
  
 | 
app.directive('preventReClick', {    // 防止按钮重复提交 
 | 
    mounted(el, bindings, vnode, preVnode) { 
 | 
        el.addEventListener('click', () => { 
 | 
            if (!el.disabled) { 
 | 
                el.disabled = true 
 | 
                setTimeout(() => { 
 | 
                    el.disabled = false 
 | 
                },bindings.value || 2000) 
 | 
            } 
 | 
        }) 
 | 
    } 
 | 
}) 
 | 
  
 | 
app.use(store) 
 | 
   .use(router) 
 | 
   .use(Vant) 
 | 
    // @ts-ignore 
 | 
//    .use(vConsole) 
 | 
app.mount('#app') 
 |