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
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;
|
|
|