分享到朋友圈 | 微信开放文档
模拟器效果
设置分享状态
小程序页面默认不可被分享到朋友圈,开发者需主动设置“分享到朋友圈”。页面允许被分享到朋友圈,需满足两个条件:
-
首先,页面需设置允许“发送给朋友”。具体参考 Page.onShareAppMessage 接口文档
-
满足条件 1 后,页面需设置允许“分享到朋友圈”,同时可自定义标题、分享图等。具体参考 Page.onShareTimeline 接口文档
满足上述两个条件的页面,可被分享到朋友圈
注意事项
-
低版本微信客户端打开时,会进入一个升级提示页面
-
不支持在小程序页面内直接发起分享
-
自定义分享内容时不支持自定义页面路径
-
存在 web-view 组件的页面不支持发起分享
-
支持打开开发版、体验版,无权限人员进入时页面会提示无权限
同时分享到朋友圈的功能不支持我们使用自定义按钮,只能通过点击小程序右上方的胶囊位
1.要注意的是,你需要再哪个页面进行分享就在哪个js文件中加入以上代码。
2.举个例子,我需要在index页面点击菜单栏的时候可以分享,那就在index.js文件中加入。
3.没加的页面点击菜单栏是不会显示分享的。
onShareTimeline(() => {
return {
title: '转发标题',
imageUrl: '', // 图片 URL
query: 'a=1&b=2'
}
})
实例:
async onShareTimeline() {
await this.$onLaunched;
let query = 'hospitalId=' + getApp().globalData.hospitalId;
getApp().globalData.partnerCode ? query = query + '&pcode=' +
getApp().globalData.partnerCode : '';
console.log(this.domainInfo.hospitalName,query,process.uniEnv.BASE_FILEURL + '/' +
this.domainInfo.logo)
return {
title: this.domainInfo.hospitalName,
query,
imageUrl: process.uniEnv.BASE_FILEURL + '/' + this.domainInfo.logo
}
},
有坑:
自定义标题和图片不生效,是因为使用了async await