ive-uniapp
Version:
Provide useful components and tools for uniapp
108 lines (99 loc) • 2.04 kB
JavaScript
import Vue from 'vue';
import './static/css/main.scss';
import capsuleTip from './capsuleTip';
import countdownBtn from './countdownBtn';
import customWrap from './customWrap';
import empty from './empty';
import homeBack from './homeBack';
import longpressImg from './longpressImg';
import tab from './tab';
import pullRefresh from './pullRefresh';
import cache from './utils/cache';
import * as routerFuncs from './utils/router';
import * as comFuncs from './utils/common';
import * as formFuncs from './utils/form';
import * as utilFuncs from './utils/utils';
export * from './utils/router';
export * from './utils/common';
export * from './utils/form';
export * from './utils/utils';
function mapFuncs(funcs) {
Object.keys(funcs).forEach(key => {
Vue.prototype['_' + key] = funcs[key];
});
}
const router = {
...routerFuncs
};
cache.install = function () {
Vue.mixin({
computed: {
/**
* @缓存功能
*/
_cache: () => cache,
}
});
};
router.install = function () {
Vue.mixin({
computed: {
/**
* @路由功能
*/
_r() {
const r = {};
Object.keys(routerFuncs).forEach(key => {
r[key] = routerFuncs[key].bind(this);
});
return r;
},
}
});
};
const components = {
capsuleTip,
countdownBtn,
customWrap,
empty,
homeBack,
longpressImg,
tab,
pullRefresh
};
const install = function () {
Object.values(components).forEach(cpt => {
Vue.component(cpt.name, cpt);
});
cache.install();
router.install();
mapFuncs(comFuncs);
mapFuncs(formFuncs);
mapFuncs(utilFuncs);
};
export {
install,
capsuleTip,
countdownBtn,
customWrap,
empty,
homeBack,
longpressImg,
tab,
pullRefresh,
cache,
router
};
export default {
install,
capsuleTip,
countdownBtn,
customWrap,
empty,
homeBack,
longpressImg,
tab,
pullRefresh,
cache,
router
};