微信小程序分享
微信小程序已经支持分享到好友和朋友圈功能(安卓),用户在朋友圈打开分享的小程序页面,并不会真正的打开小程序,而是进入一个“小程序单页面模式”的页面;
微信小程序文档:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareTimeline
单页面模式:
“单页模式”下,一些组件或接口存在一定限制:
1、页面无登录态,与登录相关的接口,入wx.login()均不可用;
2、不允许跳转其他页面,包括跳转小程序页面,跳转其他小程序,跳转微信原生页面;
3、不允许横屏,页面包含的tabbar不会渲染,包括自定的tabbar;
4、 本地储存与小程序普通模式不共用;
实现分享:
分享参数都是可配置的,分享朋友圈是建立在分享朋友的基础之上的:
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)
}
},
总结:
微信小程序分享朋友圈还是有很多局限性的,比如用户在朋友圈中打开的而并非是我们分享的小程序,需要我们在跳转小程序才能执行我们的逻辑;
而且分享朋友圈目前只支持安卓,觉得功能并不完善,大家根据项目需要吧,个人觉得有点鸡肋!