UNPKG

@antmove/alipay-wx

Version:

transform alipay miniprogram to wx miniprogram tool.

68 lines (64 loc) 2.25 kB
const utils = require('../../api/utils'); const { warnLife } = utils; const data = require("./data.js"); const getUrl = function () { let pages = getCurrentPages(); let url = pages[pages.length - 1].route; let _arr = url.split('/'); let _name = _arr[_arr.length - 1]; wx.setStorageSync( '_pageMsg', { pageName: _name, pagePath: url } ); return url; }; const makeEventObj = function (_opts, options) { let lifeArr = ['data', 'events', 'onLoad', 'onShow', 'onReady', 'onHide', 'onUnload', 'onShareAppMessage', 'onTitleClick', 'onOptionMenuClick', 'onPopMenuClick', 'onPullDownRefresh', 'onPullIntercept', 'onTabItemTap', 'onPageScroll', 'onReachBottom']; Object.keys(options).map (key => { if (lifeArr.indexOf(key)===-1) { const keyFn = options[key]; options[key] = function (...res) { if (res[0]&&res[0].target) { res[0].target.dataset ={ ...res[0].currentTarget.dataset}||{}; return keyFn.call(this, res[0]); } return keyFn.apply(this, res); }; } }); }; const makeLife = function (_opts, options) { _opts.onLoad = function (res) { getUrl(); data.$page = this; if (options.events) { warnLife("There is no events life cycle", "events"); } if (options.onTitleClick) { warnLife("There is no onTitleClick life cycle", "onTitleClick"); } if (options.onOptionMenuClick) { warnLife("There is no onOptionMenuClick life cycle", "onOptionMenuClick"); } if (options.onPopMenuClick) { warnLife("There is no onPopMenuClick life cycle", "onPopMenuClick"); } if (options.onPullIntercept) { warnLife("There is no onPullIntercept life cycle", "onPullIntercept"); } if (options.onLoad) { options.onLoad.call(this, res); } }; }; module.exports = { processTransformationPage (_opts, options) { makeEventObj (_opts, options); _opts = Object.assign(_opts, options); makeLife(_opts, options); return _opts; } };