小程序二级页面分享 小程序分享先跳转至首页再跳转至详情页 小程序分享空白页问题

业务需求场景分析

小程序分享二级页面时,
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			
	          });
		}

猜你喜欢

转载自blog.csdn.net/Taurus_0811/article/details/90401485