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.
 
 
 

65 lines
1.6 KiB

/**
* 使用方法:
* 1、app.js 引入此文件:const page = require('xx/xx/page);
* 2、app.js onLaunch 的时候 Page = page
*/
const originalPage = Page;
function page(config: WechatMiniprogram.Page.Instance<WechatMiniprogram.IAnyObject, WechatMiniprogram.IAnyObject>) {
const originalOnLoad = config.onLoad;
config.onLoad = function (options) {
setImageParams(this);
getApp().getMenuInfo(this);
if (originalOnLoad) {
originalOnLoad.call(this, options);
}
};
const originalOnShareAppMessage = config.onShareAppMessage;
config.onShareAppMessage = function (options) {
if (originalOnShareAppMessage) {
return originalOnShareAppMessage.call(this, options);
} else {
// const date = new Date();
// const Timestamp = date.getTime();
// const pages = getCurrentPages();
// const currentPage = pages[pages.length - 1];
// const url = currentPage.route;
return {
title: "武田",
path: "/pages/start/index",
// imageUrl: `${getApp().globalData.imageUrl}1/1.png?t=${Timestamp}`,
};
}
};
config.onPageScroll = function (e) {
const { scrollTop } = e;
let background = "transparent";
if (scrollTop > 20) {
background = "#fff";
}
this.setData({
background,
});
};
return originalPage(config);
}
function setImageParams(
currPage: WechatMiniprogram.Page.Instance<WechatMiniprogram.IAnyObject, WechatMiniprogram.IAnyObject>,
) {
const date = new Date();
const Timestamp = date.getTime();
currPage.setData({
imageUrl: getApp().globalData.imageUrl,
Timestamp,
});
}
export default page;