- 小程序的分享方法onShareAppMessage,可以全局声明吗?就是说:在一个地方声明,全部小程序页面都可以具备分享功能
- 可以一处声明,全局使用
App({
overShare: function () {
//监听路由切换
wx.onAppRoute(function (res) {
//get加载的页面
let pages = getCurrentPages(),
//获取当前页面的对象
view = pages[pages.length - 1],
data;
var url = view.route; //当前页面url
var options = view.options; //如果要获取url中所带的参数可以查看options
//useri唯一标识的标记,自己重新写
var urlWithArgs = url + ‘?userid=’ + wx.getStorageSync(‘userid’)+’&’;
for (var key in options) {
var value = options[key]
urlWithArgs += key + ‘=’ + value + ‘&’
}
urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1);
//console.log(urlWithArgs);
if (view) {
data = view.data;
//这里可以过滤不需要复用的内容
//if (!data.isOverShare && view.route != “pages/content/content”) {
data.isOverShare = true;
view.onShareAppMessage = function () {
//你的分享配置
return {
title: ‘美悦在线’,
path: urlWithArgs ,
};
}
//}
}
})
},
onLaunch: function() {
this.overShare();
},
})
在app.js里重写方法,
pages页面分享方法放开
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}