最近对小程序有了一定的了解,也很欣赏小程序,所以有了很好的体验。但是,共享单页小程序有一个问题。回到主页的交互比较复杂,没有后退按钮。我们先来看看实现这个流程的小程序是如何做到这一点的——留得快——广州最贴心的免费租房团队(感谢你帮我找到合适的住所)
如果你仔细看的话,你会发现一般小程序的分享页面并没有一个跳转的过程,而是有一个先进入主页,再跳转到对应的分享页面的过程,这样进入分享页面后左上角会有一个返回主页的按钮,这比让用户熟悉主页和小程序之间的交互更合理。
目前我发现市面上很多小程序都不是这样分享页面的。活得快,想得真周到。贴一个二维码,读者可以自己体验。
参考网上资料和官方文件,我研究了很久,也是微信小程序官方文件不全(或者我不够细心)造成的。
微信官方api文档转发
我们可以重写onShareAppMessage函数来实现一些定制,比如共享卡标题等等。最重要的是我们可以定义用户点击卡片进入的页面路径。粘贴代码:
Hareappmessage :函数(RES){ if(RES . From=' button '){//从页内转发按钮console.log (RES. target)}返回{Title 3360 '自定义转发标题',Path: '/pages/xxxx/xxx ',//这里填写主页的地址,一般为/pages/xxxx/XXX Success3360函数(RES){/转发成功},Fail 3360函数(RES){/转发失败} } }路径为任意页
这里涉及到两个问题:第一个主页如何判断什么时候跳转,第二个主页如何知道跳转到哪个细节页面。
这是微信官方文档没有告诉我们的,就是页面价值传递。
邮政编码:
app消息:函数(RES){ if(RES . From==' button '){//从页面转发按钮控制台. log (RES. Target)}返回{Title 3360 '自定义转发标题',Path3360'/Pages/XXXX/XXX?PageId=123 ',//这里,在首页地址后面加上标识位PageId和值123(可以随机取名字pageId作为变量名)success: function(res) {//转发成功}。Fail:函数(res) {//转发失败}}}}一段代码实现了把值123带到主页,主页需要用这个值来判断进入主页的来源是否是用户点击共享卡。
在第一页的js文件中找到onLoad函数粘贴代码:
:函数(选项){if(选项。pageId){//这个pageId值的存在证明了首页的打开来自于用户点击首页,同时可以跳转到对应的WX详情页。导航到({url3360 './pagedetail/pagedetail?Pageid='选项。pageid,} }}互联网上还有其他的方式,比如在详细信息页面中添加一个返回主页的按钮。个人觉得这种跳跃方式很普通。但是,退回首页的交互是很自然的,唯一的缺点就是会有一个小瞬间从首页跳到详情页。但是小程序的普及有赖于共享卡,用户点击共享卡并浏览主页并不是一件坏事。