很多时候,我们都希望自己写的小程序能够分享给别人。目前微信小程序,如果你不做任何处理的话,你分享给别人的页面,别人打开了就只能停留在那个页面,无法返回到小程序首页。
而且,如果你的页面是通过点击其他页面(传参数过去)跳转到你这个页面才有数据的,别人直接打开你分享的页面是没有数据的,因为他根本就不是通过点击其他页面进入的你这个页面。
综合以上种种情况,我们需要在分享的时候传一个参数、以及是否通过分享进入的状态过去。说了这么多,接下来直接看代码吧。
wxml代码如下:
<view wx:if="{{isshare}}" class='back_btn'><button bindtap='getBack'>返回首页</button></view>
js代码如下:
data: {
isshare:0//用户是否通过分享进入
},
onLoad: function(e){
console.log("111")
if (e.isshare == 1) {
console.log('是分享进入');
this.setData({
isshare: e.isshare
})
}
this.setData({
roomId:e.roomId
})
},
// 返回首页
getBack:function(){
wx.reLaunch({
url: '/pages/index/index/index',
})
},
//点击右上角分享
onShareAppMessage: function() {
return {
title: this.data.listData.caption,
path: '/pages/index/detail/detail?roomId=' + this.data.roomId + "&isshare=" + 1,
imageUrl: this.data.listData.url,
}
}
给大家说一下大致思路:如果用户是通过分享进去的,那么我们在页面的onLoad事件里能通过e.roomId、e.isshare打印出我们分享给他传的参数roomId、isshare,并且将data里的isShare的值变为1,页面可以看到返回首页按钮;如果用户不是通过分享进去的,则e.isshare应该是’undefined’,data里的值还是0,页面看不到返回首页按钮。