vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
34 lines (32 loc) • 1.19 kB
JavaScript
import { EventBus } from "../utils/index.js";
import { patchMiniProgram } from "./patchMiniProgram.js";
/** @private */
export var pageListenerToCurrentPageListener = {
pageShow: 'currentPageShow',
pageHide: 'currentPageHide',
pageReady: 'currentPageReady',
pageUnload: 'currentPageUnload',
pagePullDownRefresh: 'currentPagePullDownRefresh',
pageReachBottom: 'currentPageReachBottom',
pageShareAppMessage: 'currentPageShareAppMessage',
pageShareTimeline: 'currentPageShareTimeline',
pageAddToFavorites: 'currentPageAddToFavorites',
pageResize: 'currentPageResize',
pageTabItemTap: 'currentPageTabItemTap'
};
/** @private */
export var pageListeners = Object.keys(pageListenerToCurrentPageListener);
/** @private */
export var currentPageListeners = pageListeners.map(function (pageListener) {
return pageListenerToCurrentPageListener[pageListener];
});
// @ts-ignore
export var miniProgramBus = new EventBus({
beforeOn: currentPageListeners.reduce(function (res, currentPageListenerName) {
res[currentPageListenerName] = function (cb) {
cb.__EVENT_BUS_TAG__ = patchMiniProgram.__CURRENT_PAGE_ID__;
return cb;
};
return res;
}, {})
});