本文主要是介绍小程序二级页面分享 小程序分享先跳转至首页再跳转至详情页 小程序分享空白页问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
业务需求场景分析
小程序分享二级页面时,
1、先进入首页再跳转至二级页面;
2、对于还没有经过微信授权的新用户,先经过授权,再跳转至首页、然后跳转至目标页面
实现过程分析
不想看我啰嗦可以跳过,直接看代码!_
由于直接分享二级页面没有返回按钮,借鉴其他网站,先跳转一级页面,再跳转至目标页面,在此项目中,我们是跳转至首页,点击返回,用户可以看到所有TAB页面。
首先,在二级分享页面的share事件中,path路径先改为一级页面,比如我的项目是先跳转至首页(index页面),记得将二级页面参数附上。
然后,在index页面中,如果发现在onload事件中发现有你的目标页面传过来的参数,
1、判断onload事件中是否有你的目标页面传过来的参数,如果没有,则不进行任何操作;
2、如果有目标页面传参,则将次参数缓存起来备用(便于未授权的用户拿到此参数,如无需做顶部需求中第二条,则无需此操作);
3、判断当前用户是否经过授权,我的项目是判断是否存在memberId,如果存在memberId,则直接跳转至二级目标页面,将onload拿到的参数,传过去即可;
4、如果是未经授权的新用户,则当用户点击分享链接时,先跳转至login页面,在授权成功后的事件中:取出我们第二步中缓存的数据,
如果该数据不为空,则直接跳转至目标页面(附带参数);
如果该数据为空,则表明不是分享链接,直接跳转至首页;
如果你有更好的实现方法,欢迎指导交流……
具体代码如下:
如有疑问,欢迎交流
二级分享页面分享事件:
onShareAppMessage(){title: "分享给你开心、快乐",path: '../index/index?shareId=123456'}
index页面onload事件
onload( option ){//其他代码省略if( option.shareId != "" && option.shareId != undefined ){wx.setStorageSync("shareId",option.shareId )//此处判断是否经过微信授权,已经是我们的用户的情况if(memberId != "" || memberId != undefined){wx.navigateTo({//跳转至你的二级目标页面即可url: "../activity/detail?shareId=" + option.shareId });}}}
login页面
//其他代码省略,在你授权成功后
var shareId = wx.getStorageSync("shareId"),if( shareId != "" && shareId != undefined ){wx.navigateTo({//跳转至你的二级目标页面即可url: "../activity/detail?shareId=" + shareId });}
这篇关于小程序二级页面分享 小程序分享先跳转至首页再跳转至详情页 小程序分享空白页问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!