You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
|
7 months ago
|
/**
|
||
|
|
* 使用方法:
|
||
|
|
* 1、app.js 引入此文件:const page = require('xx/xx/page);
|
||
|
|
* 2、app.js onLaunch 的时候 Page = page
|
||
|
|
*/
|
||
|
|
|
||
|
|
const originalComponent = Component;
|
||
|
|
|
||
|
|
function component(
|
||
|
|
config: WechatMiniprogram.Component.Instance<
|
||
|
|
WechatMiniprogram.Component.DataOption,
|
||
|
|
WechatMiniprogram.Component.PropertyOption,
|
||
|
|
WechatMiniprogram.Component.MethodOption,
|
||
|
|
WechatMiniprogram.Component.BehaviorOption
|
||
|
|
>,
|
||
|
|
) {
|
||
|
|
if (config?.lifetimes?.attached) {
|
||
|
|
const originalOnAttached = config.lifetimes.attached;
|
||
|
|
config.lifetimes.attached = function (options) {
|
||
|
|
setImageParams(this);
|
||
|
|
getApp().getMenuInfo(this);
|
||
|
|
|
||
|
|
if (originalOnAttached) {
|
||
|
|
originalOnAttached.call(this, options);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
} else {
|
||
|
|
const originalOnAttached = config.attached;
|
||
|
|
config.attached = function (options) {
|
||
|
|
setImageParams(this);
|
||
|
|
getApp().getMenuInfo(this);
|
||
|
|
|
||
|
|
if (originalOnAttached) {
|
||
|
|
originalOnAttached.call(this, options);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
return originalComponent(config);
|
||
|
|
}
|
||
|
|
|
||
|
|
function setImageParams(
|
||
|
|
currPage: WechatMiniprogram.Component.Instance<
|
||
|
|
WechatMiniprogram.Component.DataOption,
|
||
|
|
WechatMiniprogram.Component.PropertyOption,
|
||
|
|
WechatMiniprogram.Component.MethodOption,
|
||
|
|
WechatMiniprogram.Component.BehaviorOption
|
||
|
|
>,
|
||
|
|
) {
|
||
|
|
const date = new Date();
|
||
|
|
const Timestamp = date.getTime();
|
||
|
|
currPage.setData({
|
||
|
|
imageUrl: getApp().globalData.imageUrl,
|
||
|
|
Timestamp,
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export default component;
|