0b28a40e创建于 2024年9月26日历史提交
// 全局挂载引入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

}