温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

微信小程序如何获取分享链接

发布时间:2022-03-15 11:01:39 来源:亿速云 阅读:2326 作者:小新 栏目:开发技术

小编给大家分享一下微信小程序如何获取分享链接,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

API层面

onShareAppMessage

小程序如果想对外分享,必须在 page 里面定义 onShareAppMessage 函数,来配置页面分享转发相关的信息。

  • 只有定义了此事件处理函数,右上角菜单才会显示 “转发” 按钮

  • 用户点击转发按钮的时候会调用

  • 此事件需要 return 一个 Object,用于自定义转发内容

一个页面可能会有多个分享,可以由插入的参数options来判断具体是由哪个位置进行分享,从而做不同的逻辑判断。

return对象的返回函数:

微信小程序如何获取分享链接

如果定义了该事件,又不想通过页面menu转发,可以通过 hideShareMenu来隐藏掉

注意事项:

  • 转发后不添加imageUrl的话,将截图作为转发的默认图片。

  • from 字段可以通过在转发成功后调取的 success、complete 来进行对 menu 和 button 的不同操作

  • 如果有携带 shareTicket 值,会在 success 回调产生,返回结果在 shareTickets 字段中,是一个数组,可以做一定处理

wx.showShareMenu

一般是用来配置相关的参数,常见的如 withShareTicket ,用它来获取群信息,群的相关标示。

wx.showShareMenu({
  withShareTicket: true
})
复制代码

wx.hideShareMenu

隐藏menu级别的转发功能,但是button中还存在着转发。

如果先设置 showShareMenu ,并且配置了 withShareTicket,再用 hideShareMenu 方法,通过按钮转发,照样能获取 shareTicket,如下:

wx.showShareMenu({
  withShareTicket: true
})
wx.hideShareMenu({
})
复制代码

wx.updateShareMenu

更新shareMenu信息需要用update操作哦,这里需要注意下,一般都是会更新 withShareTicket 属性。

wx.getShareInfo

在拿到了shareTicket信息后,可以由此API获取转发详细信息

wx.getShareInfo({
    shareTicket: res.shareTickets[0],
    success: ...
    fail: ...
})
复制代码

相关回调的参数

{
    errMsg: "getShareInfo:ok", 
    iv: "gRHeFU+Nhr36RmladCXnRQ==", 
    encryptedData: "IQ/RwZLeQFUGuxv0bBfOrL/KLnXO+bxcyCBru5lB92FkHIg8ae…7TnHwU+rqgerFKvpvS5JbFyh+9liUqyb2bk6/LETYQ+h/FQ=="
}
复制代码

由iv和encryptedData进行解密,可以拿到openGId的值。为当前群对当前小程序的唯一值。额外还可以拿到群名称等更多的开放数据。

button转发

页面内需要转发时,需要给 button 组件设置 open-type="share" ,并在触发的地方判断来源。

获取分享链接流程

在小程序中,获取openGId主要有两种途径,也一般围绕着两种途径做分享相关的开发:

  • 当用户打开 withShareTicket 的卡片时,可以在onLauch或者 getShareInfo 中获取加密信息,并且传给服务端获得openGId。

  • 当用户分享成功后,会在回调里收到一个 shareTicket ,然后通过 getShareInfo 来获得加密信息,获得openGId。

看完了这篇文章,相信你对“微信小程序如何获取分享链接”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI