微信小程序分享
微信小程序已经支持分享到好友和朋友圈功能(安卓),用户在朋友圈打开分享的小程序页面,并不会真正的打开小程序,而是进入一个“小程序单页面模式”的页面;
微信小程序文档:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareTimeline
微信小程序单页面模式:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html#%E8%AE%BE%E7%BD%AE%E5%88%86%E4%BA%AB%E7%8A%B6%E6%80%81
单页面模式:
“单页模式”下,一些组件或接口存在一定限制:
1、页面无登录态,与登录相关的接口,入wx.login()均不可用;
2、不允许跳转其他页面,包括跳转小程序页面,跳转其他小程序,跳转微信原生页面;
3、不允许横屏,页面包含的tabbar不会渲染,包括自定的tabbar;
4、 本地储存与小程序普通模式不共用;
具体详情,请查看:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html#%E5%8D%95%E9%A1%B5%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%9A%84%E9%99%90%E5%88%B6
实现分享:
分享参数都是可配置的,分享朋友圈是建立在分享朋友的基础之上的:
1、首先设置页面允许“发送给朋友” onShareAppMessage(Object object);
2、页面设置允许“分享到朋友圈” onShareTimeline();
满足上述两个条件的页面,可被分享到朋友圈。
onShareAppMessage: function () {const { info, code } = that.data;return {title: info.name,path: `/pages/share/index?code=${code}&uid=${wx.getStorageSync('uid')}`,imageUrl: info.thumbnail_url}},onShareTimeline: function(){const { info, code } = that.data;return {title: info.name,query: `code=${code}&uid=${wx.getStorageSync('uid')}`,imageUrl: info.thumbnail_url}}
打开分享页:
好友打开分享的页面,执行相应的接口数据;
onLoad: function (options) {if(options.code&&options.uid){console.log(options.code)console.log(options.uid)}},
总结:
微信小程序分享朋友圈还是有很多局限性的,比如用户在朋友圈中打开的而并非是我们分享的小程序,需要我们在跳转小程序才能执行我们的逻辑;
而且分享朋友圈目前只支持安卓,觉得功能并不完善,大家根据项目需要吧,个人觉得有点鸡肋!