欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微信小程序之转发分享

程序员文章站 2022-06-15 16:02:26
...

最近做小程序,有这样一个需求:要求将用户A在小程序A页面操作行为生成的一个参数id通过分享小程序分享用户B,用户B打开小程序在B页面展示这个参数id。
为了实现这个需求,就用到小程序的分享功能(page的onShareAppMessage方法)。
首先看开发文档:
微信小程序之转发分享
微信小程序之转发分享
微信小程序之转发分享
然后开始操作:
页面a:要分享的页面 pages/a/a.js
onShareAppMessage:function(res){
if (res.from === ‘button’) {

}
return {
  title:'测试分享',
  path:'/pages/b/b?id=123',
}

},
页面b pages/b/b.js
在b页面的onload中的options参数来接收传递的参数id
//1007场景值为通过单人会话聊天的卡片进入小程序
if (app.globalData.scene == “1007”) {
//app.globalData.scene 为提前在app.js的onlaunch中获取的场景值,在b页面应用
console.log(“我是场景值” + app.globalData.scene)
if (options.id) {
that.setData({ id: options.id})
console.log(that.data.id)
}
}
这样B用户通过A用户分享的卡片进入小程序时进入B页面,并且获取到用户A分享来的参数id。

Tips:
1、小程序开发版无法真机模拟分享,可以通过开发这工具添加编译模式来设置进入的场景值,以及是否带有参数。但是毕竟还是要真机试了安心,所有有了2;
2、通过体验版来调试分享,并且获取参数。体验版设置就很简单了:上传代码。然后在微信公众号后台的版本管理将改版本设为体验本就可以,不要忘了人还要将被分享者也添加为体验者成员。
3、过程中有个坑注意:page自动生成的模板本来就有一个onShareAppMessage方法,自己没注意又重新写了一个,导致方法return{}的对象的内容(title、path)一直无效。后来将重复的空白方法删除后终于正常。

到此,这个需求就实现了。