对于app而言,分享功能总是必要的,所以小程序自然也会有这个功能……哎,有的同学可能要问了,小程序这个nt玩意搞出来不就是为了微信自己独占流量吗?那为什么还有分享呢?哎,那就对了,因为小程序的分享只能分享给微信好友和朋友圈。不过这个不是我们今天要讨论的重点。
一般来说,app的分享通常是调用某个第三方接口,就会唤起第三方app并进行分享。偶尔地,有直接弹出分享菜单的api,那我们看看微信小程序是怎么做的。
假如你是第一次做小程序分享的话,你应该会在文档里找到两个看起来比较有用的api:
1、button组件的属性open-type="share"
2、showShareMenu,文档的描述是“显示当前页面的转发按钮”
上面的两个,1会是你想找的东西,2则是命名欺诈。
小程序实际的分享流程如下:
0、(可选)开启胶囊内的分享功能
在页面内调用showShareMenu函数可以将当前页面右上角胶囊内的分享功能开启
1、发起分享:
由open-type="share"的button组件发起(顺带一提虽然名字叫share但是你搜分享是搜不到的,得搜转发)
由右上角胶囊内的三个点里的选项发起
这是小程序仅有的发起分享的方式,也就是说不能通过函数发起分享
2、分享配置与回调:
在Page构造器内添加onShareAppMessage
onShareAppMessage会根据传入的参数中的type字段是button还是menu来告知是通过点击页面内按钮还是右上角胶囊触发了本次回调
函数返回值则为本次分享的标题、文字等设置
总之,小程序作为张小龙同志的优秀作品,没有那些直来直去的低级api,整个分享功能都是通过按钮、胶囊、页面回调和showShareMenu几个不同地方发起的环环相扣的api来组合完成的,不把微信文档内showShareMenu和“显示当前页面的转发按钮”文字的个中深意参透的人自然是搞不懂。