在工具栏或者附件栏向当前会话发送消息,支持多种消息格式,包括文本("text"),图片("image"),视频("video"),文件("file")、H5("news")和小程序("miniprogram")。
调用前提:
1. 必须先调用过wx.qy.login,且session_key未过期,开发者可调用checkSession 检查当前登录态
2. 当前成员必须在应用的可见范围,否则报错:user not in allow list
3. 需要从特定入口进入页面才可调用,否则会报错:without context of external contact,可先通过调用wx.qy.getContext来判断进入小程序的入口,允许调用的入口说明参见“不同入口所需的权限说明”。
4. 从不同的入口进入的页面,应用需要满足相应用的权限,否则会报“no permission”错误,所需的权限参见“不同入口所需的权限说明”。
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
msgtype | string | 是 | 消息类型 |
enterChat | Boolean | 否 | 为true时表示发送完成之后顺便进入会话,仅移动端3.1.10及以上版本支持该字段 |
text | Object | 否 | 文本消息 |
text::content | string | 否 | 文本消息内容 |
image | Object | 否 | 图片消息 |
image::mediaid | string | 否 | 图片的素材id,可通过素材管理接口获得 |
video | Object | 否 | 视频消息 |
video::mediaid | string | 否 | 视频的素材id,可通过素材管理接口获得 |
file | Object | 否 | 文件消息 |
file::mediaid | string | 否 | 文件的素材id,可通过素材管理接口获得 |
news | Object | 否 | H5消息 |
news::link | string | 否 | H5消息页面url |
news::title | string | 否 | H5消息标题 |
news::desc | string | 否 | H5消息摘要 |
news::imgUrl | string | 否 | H5消息封面图片URL |
miniprogram | Object | 否 | 小程序消息 |
miniprogram::appid | string | 是 | 小程序appid,必须是企业工作台已关联的小程序 |
miniprogram::title | string | 是 | 小程序消息标题 |
miniprogram::imgUrl | string | 是 | 消息显示图片的链接,可以是网络图片路径或本地图片文件路径或相对代码包根目录的图片文件路径。显示图片长宽比是 5:4。 若使用网络图片路径,必须带http或者https协议头,否则报错 $apiName$:fail invalid imgUrl |
miniprogram::page | string | 是 | 小程序打开后的路径,注意要以.html作为后缀,否则在微信端打开会提示找不到页面 |
success | Function | 否 | 群发成功的回调函数 |
fail | Function | 否 | 群发失败的回调函数 |
complete | Function | 否 | 调用结束的回调函数(群发成功、失败都会执行) |
wx.qy.sendChatMessage({
msgtype:"text", //消息类型,必填
enterChat: true, //为true时表示发送完成之后顺便进入会话,仅移动端3.1.10及以上版本支持该字段
text: {
content:"你好", //文本内容
},
image:
{
mediaid: "", //图片的素材id
},
video:
{
mediaid: "", //视频的素材id
},
file:
{
mediaid: "", //文件的素材id
},
news:
{
link: "", //H5消息页面url 必填
title: "", //H5消息标题
desc: "", //H5消息摘要
imgUrl: "", //H5消息封面图片URL
},
miniprogram:
{
appid: "wx8bd80126147df384",//小程序的appid
title: "this is title", //小程序消息的title
imgUrl:"/appData/pic/pic1.jpg",//小程序消息的封面图
page:"/index/page.html", //小程序消息打开后的路径,注意要以.html作为后缀,否则在微信端打开会提示找不到页面
},
success: function(res) {
//todo:
}
});