在写一个简单的小程序,有几个页面想让用户可以分享,分享的配置都是一样的。
目前小程序不支持全局的设置分享,需要在每个页面进行onShareAppMessage函数的定义。
在网上找到一个可以实现的方式。
第一步:在需要被分享的页面添加如下代码
Page({
/**
* 用户点击右上角分享 增加
*/
onShareAppMessage: function () {
// 函数体内容为空即可
}
第二部:在 app.js 中添加重写分享方法
//重写分享方法
overShare: function () {
//间接实现全局设置分享内容
wx.onAppRoute(function () {
//获取加载的页面
let pages = getCurrentPages(),
//获取当前页面的对象
view = pages[pages.length - 1],
data;
if (view) {
data = view.data;
// 判断是否需要重写分享方法
if (!data.isOverShare) {
data.isOverShare = true;
view.onShareAppMessage = function () {
//重写分享配置
return {
title: '分享标题',
path: "/pages/index/index" //分享页面地址
};
}
}
}
})
},
第三部:在app.js
的onLaunch
函数中调用该方法
onLaunch() {
this.overShare()
}
参考资料:
https://juejin.cn/post/6983874414353842183
https://blog.csdn.net/weixin_43452154/article/details/126039403