业务背景:实现小程序直接分享到朋友圈功能
话不多说,上码,粘过去直接用
wxml:
<view>
测试分享到盆友圈
</view>
<button bindtap="goshowtoast">
showToast
</button>
js:
小程序页面默认不可被分享到朋友圈,开发者需主动设置“分享到朋友圈”。页面允许被分享到朋友圈,需满足两个条件:
首先,页面需设置允许“发送给朋友”。就是必须有onShareAppMessage这个分享函数
onShareAppMessage: function () {
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
})
return {
title: '测试用',
path: '/page/user?id=123'
}
},
满足条件 1 后,页面需设置允许“分享到朋友圈”,同时可自定义标题、分享图等。
onShareTimeline:function(){
return {
title: '测试用',
path: '/page/user?id=123'
}
},
满足上述两个条件的页面,可被分享到朋友圈。
完整js:
Page({
data: {
},
onLoad: function (options) {
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
});
},
onShareAppMessage: function () {
// wx.showShareMenu({
// withShareTicket: true,
// menus: ['shareAppMessage', 'shareTimeline']
// })
return {
title: '测试用',
path: '/page/user?id=123'
}
},
onShareTimeline:function(){
return {
title: '测试用',
path: '/page/user?id=123'
}
},
goshowtoast:function(){
wx.showToast({
title: '测试domo',
})
}
})
问题,真机加上不好使或者分享朋友圈按钮没出来
回答:不要怀疑自己😀,其实代码写出来很简单,但是效果有时出不来,莫慌,查资料以及亲测了解到,这个和安卓手机有关系,我用了两个不同的vivo手机都不行,但是HUAWEI就可以,更夸张的是有人说和微信账号也有关系,哎😌,毕竟这个功能目前还在Beta版本
注意:wx.showShareMenu写到onShareAppMessage里面也行,也到onLoad里也行,只要调用就行,毕竟只是微信的api😀
条件:基础库 2.11.3 开始支持,低版本需做兼容处理。
本接口为 Beta 版本,暂只在 Android 平台支持,
可将小程序页面分享到朋友圈。适用于内容型页面的分享,不适用于有较多交互的页面分享
概念
单页模式
用户在朋友圈打开分享的小程序页面,并不会真正打开小程序,而是进入一个“小程序单页模式”的页面,“单页模式”有以下特点:
“单页模式”下,页面顶部固定有导航栏,标题显示为当前页面 JSON 配置的标题。底部固定有操作栏,点击操作栏的“前往小程序”可打开小程序的当前页面。顶部导航栏与底部操作栏均不支持自定义样式。
“单页模式”默认运行的是小程序页面内容,但由于页面固定有顶部导航栏与底部操作栏,很可能会影响小程序页面的布局。因此,请开发者特别注意适配“单页模式”的页面交互,以实现流畅完整的交互体验。
“单页模式”下,一些组件或接口存在一定限制,详情见官网
参考链接:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareTimeline
说明:只是初步实现了效果,可能不是很完善,欢迎大佬讨论交流
觉得不错,赏个关注呗,不胜感激Thanks♪(・ω・)ノ