100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信小程序分享朋友圈API限制问题

微信小程序分享朋友圈API限制问题

时间:2020-03-02 15:42:22

相关推荐

微信小程序分享朋友圈API限制问题

在开发微信小程序过程中,需要实现将小程序分享到朋友圈,以扩大宣传范围,吸引流量。

实现也不难,满足【两个条件】即可:

首先,页面需设置允许“发送给朋友”。具体参考Page.onShareAppMessage接口文档

满足条件 1 后,页面需设置允许“分享到朋友圈”,同时可自定义标题、分享图等。具体参考Page.onShareTimeline接口文档

满足上述两个条件的页面,可被分享到朋友圈(在微信小程序中点击右上角【...】)。

实现则是在Page中定义onShareTimeline()此事件处理函数,点击右上角【...】菜单后弹出层才会显示【分享到朋友圈】按钮,如下图(『分享到朋友圈』是彩色高亮状态):

不过需要注意的是微信小程序是从基础库 2.11.3 才开始支持的。详细可参考微信平台官方文档说明:https://developers./miniprogram/dev/reference/api`/Page.html#onShareTimeline

支持自定义分享内容,参考代码片断如下:

onShareTimeline() {return {title: '欢迎打开我的微信小程序【废话文学间】'imageUrl: '', // 可自定义图片,若图片URL为空则默认取小程序Logoquery: 'id=1'};}

参数解释:

但是,由于用户在朋友圈中打开分享后,小程序呈现的是【单页模式】,在这个模式下,一些组件或API接口存在一定限制,详情见下文【单页模式下的限制】章节。

除了这些以上明文规定的限制,还有当query传参内容过多过长时,也是无法分享到朋友圈的。

而当【query】参数中含有中文和其他特殊字符时,还需进行URL编码,代码片断参考如下:

onShareTimeline() {return {title: '欢迎打开我的微信小程序【废话文学间】'imageUrl: '', // 可自定义图片,若图片URL为空则默认取小程序Logoquery: 'id=1&name=' + encodeURIComponent('中文内容和特殊字符’)};}

实测中,微信云开发中的数据库查询相关API也会受限制,如果将某个重度依赖微信云开发数据库查询的页面分享到朋友圈,用户在朋友圈点击打开将是一个相当不完整的页面,那体验会大打折扣(虽然这个【单页模式】右下角会有一个【前往小程序】可以打开小程序体验完整页面功能,但大多用户估计也不会注意到这么一个按钮,就算注意到了,也没多少人会愿意点击)。

本人想到一个蹩脚的解决办法就是在分享前,将该页面需要用到的数据先查询出来,塞到【query】参数中传过去,由页面去接收处理。但这样也有缺点,就是前面提到的:不可传过多的数据。如果你有更好的方法,欢迎留言探讨!

欢迎关注微信公众号【废话文学阁】了解更多开发资讯!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。