转发API
-
- [1、wx.updateShareMenu(Object object)](#1、wx.updateShareMenu(Object object))
- [2、wx.showShareMenu(Object object)](#2、wx.showShareMenu(Object object))
- [3、wx.authPrivateMessage(Object object)](#3、wx.authPrivateMessage(Object object))
- [4、wx.showShareImageMenu(Object object)](#4、wx.showShareImageMenu(Object object))
- [5、wx.shareVideoMessage(Object object)](#5、wx.shareVideoMessage(Object object))
- [6、wx.shareToOfficialAccount(Object object)](#6、wx.shareToOfficialAccount(Object object))
- [7、wx.shareFileMessage(Object object)](#7、wx.shareFileMessage(Object object))
- [8、wx.onCopyUrl(function listener)](#8、wx.onCopyUrl(function listener))
- 9、wx.offCopyUrl()
- [10、wx.hideShareMenu(Object object)](#10、wx.hideShareMenu(Object object))
1、wx.updateShareMenu(Object object)
更新转发属性。
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
withShareTicket |
boolean | false | 否 | 是否使用带 shareTicket 的转发详情 |
isUpdatableMessage |
boolean | false | 否 | 是否是动态消息,详见动态消息 |
activityId |
string | 否 | 动态消息的 activityId。通过 updatableMessage.createActivityId 接口获取 | |
toDoActivityId |
string | 否 | 群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过 updatableMessage.createActivityId 接口获取。 | |
templateInfo |
Object | 否 | 动态消息的模板信息 | |
isPrivateMessage |
boolean | 否 | 是否是私密消息。详见 小程序私密消息 | |
participant |
Array.<string> | [] | 否 | 参与用户此聊天室下的 group_openid 列表 |
useForChatTool |
boolean | false | 否 | 聊天工具模式特殊动态消息 |
chooseType |
number | 1 | 否 | 指定成员的方式 |
success |
function | 否 | 接口调用成功的回调函数 | |
fail |
function | 否 | 接口调用失败的回调函数 | |
complete |
function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
js
wx.updateShareMenu({
withShareTicket: true,
success () { }
})
js
// 转发私密消息
wx.updateShareMenu({
isPrivateMessage: true,
activityId: 'xxx',
templateInfo: {},
success () { },
fail () {}
})
2、wx.showShareMenu(Object object)
设置右上角点开的详情界面中的分享按钮是否可用。
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
withShareTicket |
boolean | false | 否 | 是否使用带 shareTicket 的转发详情 |
menus |
Array.<string> | 否 | 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 | |
success |
function | 否 | 接口调用成功的回调函数 | |
fail |
function | 否 | 接口调用失败的回调函数 | |
complete |
function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
js
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
})
3、wx.authPrivateMessage(Object object)
验证私密消息。用法详情见 小程序私密消息使用指南。
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
shareTicket |
string | 是 | shareTicket。可以从 wx.getEnterOptionsSync 中获取。 | |
success |
function | 否 | 接口调用成功的回调函数 | |
fail |
function | 否 | 接口调用失败的回调函数 | |
complete |
function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success回调函数:
参数:Object res
| 属性 | 类型 | 说明 |
|---|---|---|
| errMsg | string | 错误信息 |
| valid | boolean | 验证是否通过 |
| encryptedData | string | 经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改) 详细见加密数据解密算法 |
| iv | string | 加密算法的初始向量,详细见加密数据解密算法 |
js
wx.authPrivateMessage({
shareTicket: 'xxxxxx',
success(res) {
console.log('authPrivateMessage success', res)
// res
// {
// errMsg: 'authPrivateMessage:ok'
// valid: true
// iv: 'xxxx',
// encryptedData: 'xxxxxx'
// }
},
fail(res) {
console.log('authPrivateMessage fail', res)
}
})
4、wx.showShareImageMenu(Object object)
打开分享图片弹窗,可以将图片发送给朋友、分享至朋友圈、收藏或下载。
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
path |
string | 是 | 要分享的图片地址,必须为本地路径或临时路径 | |
needShowEntrance |
boolean | true | 否 | 分享的图片消息是否要带小程序入口 |
entrancePath |
string | '' | 否 | 发送给朋友时,小程序入口打开小程序的路径,如果当前页面允许分享给朋友,则默认为当前页面路径,否则默认为小程序首页 |
success |
function | 否 | 接口调用成功的回调函数 | |
fail |
function | 否 | 接口调用失败的回调函数 | |
complete |
function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
js
wx.downloadFile({
url: 'https://res.wx.qq.com/wxdoc/dist/assets/img/demo.ef5c5bef.jpg',
success: (res) => {
wx.showShareImageMenu({
path: res.tempFilePath
})
}
})
5、wx.shareVideoMessage(Object object)
转发视频到聊天。
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
videoPath |
string | 是 | 要分享的视频地址,必须为本地路径或临时路径 | |
thumbPath |
string | 否 | 缩略图路径,若留空则使用视频首帧 | |
success |
function | 否 | 接口调用成功的回调函数 | |
fail |
function | 否 | 接口调用失败的回调函数 | |
complete |
function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
js
// callback 写法
wx.downloadFile({
url: URL, // 下载url
success (res) {
// 下载完成后转发
wx.shareVideoMessage({
videoPath: res.tempFilePath,
success() {},
fail: console.error,
})
},
fail: console.error,
})
// async await 写法
const { tempFilePath } = await wx.downloadFile({
url: URL, // 下载url
})
// 下载完成后转发
await wx.shareVideoMessage({
videoPath: res.tempFilePath,
})
6、wx.shareToOfficialAccount(Object object)
支持拉起贴图发表页,用户可将图片与文字内容发表为贴图。
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
title |
string | 是 | 贴图的标题 | |
content |
string | 否 | 贴图的正文 | |
tags |
Array.<string> | 否 | 贴图的标签 | |
images |
Array.<string> | 否 | 贴图的图片,必须为本地路径或临时路径 | |
path |
string | 否 | 开发者自定义小程序路径 | |
success |
function | 否 | 接口调用成功的回调函数 | |
fail |
function | 否 | 接口调用失败的回调函数 | |
complete |
function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
js
wx.shareToOfficialAccount({
title: '标题',
content: '正文',
tags: ['标签1', '标签2'],
success: (res) => {
// 贴图发表成功时触发
// 注:因平台隐私限制,无法拿到发表后的贴图链接
console.log(res)
},
fail: (err) => {
// 用户主动退出贴图发表页时触发
console.log(err)
},
complete: (res) => {
// 统计接口总共调用次数
console.log(res)
},
})
7、wx.shareFileMessage(Object object)
转发文件到聊天
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
filePath |
string | 是 | 要分享的文件地址,必须为本地路径或临时路径 | |
fileName |
string | 否 | 自定义文件名,若留空则使用filePath中的文件名 | |
success |
function | 否 | 接口调用成功的回调函数 | |
fail |
function | 否 | 接口调用失败的回调函数 | |
complete |
function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
js
// callback 写法
wx.downloadFile({
url: URL, // 下载url
success (res) {
// 下载完成后转发
wx.shareFileMessage({
filePath: res.tempFilePath,
success() {},
fail: console.error,
})
},
fail: console.error,
})
// async await 写法
const { tempFilePath } = await wx.downloadFile({
url: URL, // 下载url
})
// 下载完成后转发
await wx.shareFileMessage({
filePath: tempFilePath,
})
8、wx.onCopyUrl(function listener)
监听用户点击右上角菜单的「复制链接」按钮时触发的事件。
参数:function listener
用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数
参数:
Object res
| 属性 | 类型 | 说明 |
|---|---|---|
query |
string | 用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 wx.onCopyUrl 自定义 query,退出页面时调用 wx.offCopyUrl,防止影响其它页面。 |
title |
string | 短链中的自定义标题,显示在小程序名称之后,可以不填 |
js
// 绑定分享参数
wx.onCopyUrl(() => {
return { query: 'a=1&b=2' }
})
// 取消绑定分享参数
wx.offCopyUrl()
9、wx.offCopyUrl()
移除用户点击右上角菜单的「复制链接」按钮时触发的事件的全部监听函数
js
// 绑定分享参数
wx.onCopyUrl(() => {
return { query: 'a=1&b=2' }
})
// 取消绑定分享参数
wx.offCopyUrl()
10、wx.hideShareMenu(Object object)
隐藏当前页面的转发按钮
参数:Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
menus |
Array.<string> | 否 | 本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 | |
success |
function | 否 | 接口调用成功的回调函数 | |
fail |
function | 否 | 接口调用失败的回调函数 | |
complete |
function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
js
wx.hideShareMenu({
menus: ['shareAppMessage', 'shareTimeline']
})