import Request from './libs/luch-request'
import mixin from './libs/mixin/mixin.js'
import mpMixin from './libs/mixin/mpMixin.js'
import mpShare from './libs/mixin/mpShare.js'
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'
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,
...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={}) => {
const cloneMixin = index.deepClone(mixin);
delete cloneMixin?.props?.customClass;
delete cloneMixin?.props?.customStyle;
Vue.mixin(cloneMixin);
if(options.mpShare){
Vue.mixin(mpShare);
}
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));
Vue.prototype.$uv = $uv;
Vue.config.globalProperties.$uv = $uv;
}
export default {
install
}