前置知识点
- Page: 宿主app提供的创建小程序页面的函数
- getCurrentPages: 获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面
- onReady: 小程序页面加载完毕, 可以进行页面UI交互.一个页面只会触发一次
- onShareAppMessage: 小程序分享朋友功能的api
- onShareTimeline: 小程序分享朋友圈功能的api
代码实现
const DEFAULT_SHARE_CONFIG = {
title: '分享小程序的标题',
path: '点击分享卡片进入小程序的路径',
imageUrl: '分享卡片的图片链接',
scImgUrl: '分享卡片的图片链接'
}
const _Page = Page
Page = (page) => {
const originOnReady = page.onReady
page.onReady = function () {
originOnReady?.apply(this)
try {
const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
if (!(currentPage.onShareAppMessage?.())) {
currentPage.onShareAppMessage = () => DEFAULT_SHARE_CONFIG
}
if (!(currentPage.onShareTimeline?.())) {
currentPage.onShareTimeline = () => DEFAULT_SHARE_CONFIG
}
} catch (error) {
console.error(error)
}
}
_Page(page)
}