场景:微信小程序做分享功能,微信小程序内置了H5页面(分享的url是在H5页面获取到的),H5页面获取到数据之后,需要把数据传递给小程序页面。完成分享
1.h5页面中设置
wx.miniProgram.navigateBack({ dalta: 1 })
wx.miniProgram.postMessage({ data: {title:res.data.shareInfo.name,path:res.data.shareInfo.url} })
2.小程序中获取数据
// 和H5交换数据
handleGetMessage(e){
console.log(e)
if (e && e.detail && e.detail.data) {
let len = e.detail.data.length;
app.globalData.shareUrl = e.detail.data[len - 1].path
this.setData({
sharePageModel: e.detail.data[len - 1]
});
console.log(this.data.sharePageModel)
}
//设置转发
onShareAppMessage: function () {
return {
title: "【企业授权】",
imageUrl:"1qdnHqCoce5kRElmdqrG.jpeg",
path: "/pages/share/share?url=" + encodeURIComponent(app.globalData.shareUrl)
};
},
注意:小程序和H5通信有特定的时机才能拿到通信成功