| // 全局挂载引入http相关请求拦截插件 | |
| import Request from './libs/luch-request' | |
| 
 | |
| // 引入全局mixin | |
| import mixin from './libs/mixin/mixin.js' | |
| // 小程序特有的mixin | |
| import mpMixin from './libs/mixin/mpMixin.js' | |
| // #ifdef MP | |
| import mpShare from './libs/mixin/mpShare.js' | |
| // #endif | |
|  | |
| // 路由封装 | |
| import route from './libs/util/route.js' | |
| // 公共工具函数 | |
| import * as index from './libs/function/index.js' | |
| // 防抖方法 | |
| import debounce from './libs/function/debounce.js' | |
| // 节流方法 | |
| import throttle from './libs/function/throttle.js' | |
| // 规则检验 | |
| import * as test from './libs/function/test.js' | |
| 
 | |
| // 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制 | |
| import * as colorGradient from './libs/function/colorGradient.js' | |
| 
 | |
| // 配置信息 | |
| import config from './libs/config/config.js' | |
| // 平台 | |
| import platform from './libs/function/platform' | |
| 
 | |
| const $uv = { | |
| 	route, | |
| 	config, | |
| 	test, | |
| 	date: index.timeFormat, // 另名date | |
| 	...index, | |
| 	colorGradient: colorGradient.colorGradient, | |
| 	hexToRgb: colorGradient.hexToRgb, | |
| 	rgbToHex: colorGradient.rgbToHex, | |
| 	colorToRgba: colorGradient.colorToRgba, | |
| 	http: new Request(), | |
| 	debounce, | |
| 	throttle, | |
| 	platform, | |
| 	mixin, | |
| 	mpMixin | |
| } | |
| uni.$uv = $uv; | |
| const install = (Vue,options={}) => { | |
| 		// #ifndef APP-NVUE | |
| 		const cloneMixin = index.deepClone(mixin); | |
| 		delete cloneMixin?.props?.customClass; | |
| 		delete cloneMixin?.props?.customStyle; | |
| 		Vue.mixin(cloneMixin); | |
| 		// #ifdef MP | |
| 		if(options.mpShare){ | |
| 			Vue.mixin(mpShare); | |
| 		} | |
| 		// #endif | |
| 		// #endif | |
| 		// #ifdef VUE2 | |
| 		// 时间格式化,同时两个名称,date和timeFormat | |
| 		Vue.filter('timeFormat', (timestamp, format) => uni.$uv.timeFormat(timestamp, format)); | |
| 		Vue.filter('date', (timestamp, format) => uni.$uv.timeFormat(timestamp, format)); | |
| 		// 将多久以前的方法,注入到全局过滤器 | |
| 		Vue.filter('timeFrom', (timestamp, format) => uni.$uv.timeFrom(timestamp, format)); | |
| 		// 同时挂载到uni和Vue.prototype中 | |
| 		// #ifndef APP-NVUE | |
| 		// 只有vue,挂载到Vue.prototype才有意义,因为nvue中全局Vue.prototype和Vue.mixin是无效的 | |
| 		Vue.prototype.$uv = $uv; | |
| 		// #endif | |
| 		// #endif | |
| 		// #ifdef VUE3 | |
| 		Vue.config.globalProperties.$uv = $uv; | |
| 		// #endif | |
| } | |
| export default { | |
| 	install | |
| }
 |