// The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from 'vue' import FastClick from 'fastclick' import App from './App' import Vuex from 'vuex' import vuexI18n from 'vuex-i18n' import router from './router/index' import flexible from './common/ydui.flexible' import {componentInstall, appStyle} from '../packages/index' /** * 指令 */ import directives from './scripts/directives' import filter from './scripts/filter' /** * 组件 */ import { ViewBox, Tabbar, TabbarItem, XHeader, Picker, PopupHeader, } from 'vux' import './scripts/prototype' import './scripts/vuePlatform' /** * 弹框组件 */ import hlsPopup from './scripts/hlsPopup' /** * http */ import { post, get } from './scripts/hlsHttp' /** 全局函数hlsUtil**/ import hlsUtil from './scripts/hlsUtil' /** end**/ if (process.env.CONFIG_ENV === 'uat') { const VConsole = require('vconsole') new VConsole() // eslint-disable-line } Vue.use(componentInstall) Vue.use(appStyle) Vue.use(flexible) Vue.use(directives) Vue.use(filter) Vue.use(Vuex) // Vue.directive('transfer-dom', TransferDom); Vue.component('x-header', XHeader) Vue.component('view-box', ViewBox) Vue.component('tabbar', Tabbar) Vue.component('tabbar-item', TabbarItem) Vue.component('PopupHeader', PopupHeader) Vue.component('picker', Picker) /** i18n **/ let store = new Vuex.Store({ modules: { i18n: vuexI18n.store, }, }) Vue.use(vuexI18n.plugin, store) Vue.prototype.hlsPopup = window.hlsPopup = hlsPopup Vue.prototype.$devicePixelRatio = 2 Vue.prototype.$post = post Vue.prototype.$get = get let hlsHttp = { get: get, post: post, } Vue.prototype.hlsHttp = window.hlsHttp = hlsHttp Vue.prototype.hlsUtil = window.hlsUtil = hlsUtil /** * 全局返回上一页面 * @param index */ let routeGo = function (index) { if (!index) { index = -1 } this.$router.go(index) } Vue.prototype.$routeGo = routeGo let hlsExit = function () { if (vum.Platform.isIOS()) { cordova.exec(null, null, 'BridgePlugin', 'closeWebView', []) } else if (vum.Platform.isIOS()) { var dict = { 'className': 'WebBridge', 'function': 'close', 'successCallBack': 'sCallBack', 'failureCallBack': 'eCallBack', } HandBridge.postMessage(JSON.stringify(dict)) } } Vue.prototype.$hlsExit = hlsExit FastClick.attach(document.body) Vue.config.productionTip = false vum.$vumPlatform.ready(function () { if ((vum.Platform.isAndroid()) || (vum.Platform.isIOS())) { } }) vum.$vumPlatform.registerBackButtonAction(function (e) { }, 101) /* eslint-disable no-new */ new Vue({ data () { return { pathList: [], transitionName: null, } }, router, watch: { // 监听路由变化 $route (to, from) { document.body.scrollTop = 0 document.documentElement.scrollTop = 0 }, }, render: h => h(App), }).$mount('#app-box')