UNPKG

ive-uniapp

Version:

Provide useful components and tools for uniapp

108 lines (99 loc) 2.04 kB
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 };