import Vue from 'vue' import App from '@/App' import $store from '@/store' import config from "./config.js" Vue.prototype.$config = config import uView from "uview-ui"; Vue.use(uView); //全局引入iconpark图标 // import { install } from '@icon-park/vue/es/all'; // install(Vue, ''); // Vue.use(VueRouter) //配置跳转小程序 // Vue.config.ignoredElements = ['wx-open-launch-weapp']; //配置防止连点的公共方法 import common from './common/util/clicks.js' Vue.prototype.$noMultipleClicks = common.noMultipleClicks; // 防连点方法 Vue.directive('throttle', { inserted(el, binding) { el.addEventListener('click', () => { el.style.pointerEvents = 'none' if (!el.disabled) { setTimeout(() => { el.style.pointerEvents = 'auto' }, binding.value || 2000) } }) } }) Vue.prototype.$store = $store // vuex Vue.prototype.$offset = function(selector) { // 获取元素宽高位置信息 return new Promise((resolve, reject) => { uni.createSelectorQuery().in(this).select(selector).boundingClientRect(data => { console.log(data,'data') data ? data.x = data.left + data.width / 2 : '' data ? data.y = data.top + data.height / 2 : '' data ? resolve(data) : reject('元素不存在') }).exec() }) } Vue.prototype.$scrollViewHeight = function (className) { //设置页面内 scroll view 的高度 this.$nextTick(() => { //在 mounted 以后获取到 className 的高度,赋给 scroll view const query = uni.createSelectorQuery().in(this) query.select(className).boundingClientRect() query.exec(res => this.scrollViewHeight = res[0].height) }) } Vue.prototype.$hideLoading = function() { //异步操作结束,停止 loading this.$nextTick(() => { uni.hideLoading() }) } Vue.prototype.$drawHonour = function(ctx, infoArr) { //绘制荣誉证书 console.log('infoArr',infoArr) ctx.setTextAlign('center') ctx.setFontSize(infoArr[0][0]) ctx.fillText(infoArr[0][1], infoArr[0][2], infoArr[0][3]) ctx.setFontSize(infoArr[1][0]) ctx.fillText(infoArr[1][1], infoArr[1][2], infoArr[1][3]) ctx.setFontSize(infoArr[2][0]) ctx.fillText(infoArr[2][1], infoArr[2][2], infoArr[2][3]) ctx.draw() } import CustomNav from './components/public/custom-nav.vue' //自定义头部导航栏交互组件 import pageToast from './components/toast.vue' import reachBot from './components/custom-reach-bottom.vue' //自定义滚动到底部提示 Vue.component('custom-nav', CustomNav) //注册自定义头部导航栏 Vue.component('page-toast', pageToast) Vue.component('custom-reach-bottom', reachBot) //注册自定义滚动到底部提示 import * as filters from '@/filters' Object.keys(filters).forEach(e => { Vue.filter(e, filters[e]) }) App.mpType = 'app' Vue.config.productionTip = false; (new Vue({ ...App })).$mount()