前言
需求:对于从朋友圈链接进来的用户,希望其只能查看对应的内容。
也可以用来做:从朋友圈进入后跳转到指定的某页面。文章来源:https://www.toymoban.com/news/detail-663215.html
实现:
前置知识:
-
Object wx.getEnterOptionsSync():获取本次小程序启动时的参数。 返回值中包括:
scene
启动小程序的场景值;完整的场景值列表。- 从朋友圈进入的场景值为:
- 1154:朋友圈内打开“单页模式”;
- 1155:“单页模式”打开小程序;
- 从朋友圈进入的场景值为:
-
onShareTimeline():监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容。
注意:只有定义了此事件处理函数,右上角菜单才会显示“分享到朋友圈”按钮。
使用:事件处理函数会return一个 Object,用于自定义分享内容,不支持自定义页面路径。
这里主要用到query
:自定义页面路径中携带的参数,如path?a=1&b=2
的 “?” 后面部分
- query传多个参数的格式:
return {
title: xxx,
query: 'aaa='+a+'&bbb='+b+'&ccc='+c,
imageUrl:"../../image/xxx.png"
}
- query参数的获取:在onLoad(options)中可以获取。
options.aaa,options.bbb
使用思路
- 在页面1的onShareTimeline()中带上内容的信息(如内容id等)。
- 在页面1的onLoad(options)中 使用
wx.getEnterOptionsSync()
获取场景值并进行判断,如果是来自朋友圈的进入,就读取options中的query,进行下一步操作。
参考代码
onLoad: function (options) {
var q = wx.getEnterOptionsSync()
if (q.scene == 1154|| q.scene == 1155) {
//下面可以写对应的操作,这边是进行了一个跳转
wx.redirectTo({
url:'/xxx/xxx/?id='+options.id + "&title="+ options.title
})
}
...
}
onShareTimeline: function () {
return {
title: 'xxx',
query:'id='+id+'&title='+title,
imageUrl:'xxx.jpg'
}
},
- wx.redirectTo:关闭当前页面,跳转到应用内的某个页面
参考:
onShareTimeline的query 参数如何获得?
微信小程序判断是否是通过点击分享链接进入的小程序文章来源地址https://www.toymoban.com/news/detail-663215.html
到了这里,关于【微信小程序】判断用户是否从朋友圈进入小程序并传相关参的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!