微信一惯的怎么为难开发者怎么来,分享一个使用sendChatMessage的过程。
微信官方文档给出的使用方法
wx.invoke('sendChatMessage', {
msgtype:"text", //消息类型,必填
text: {
content:"你好", //文本内容
},
image:
{
mediaid: "", //图片的素材id
},
video:
{
mediaid: "", //视频的素材id
},
file:
{
mediaid: "", //文件的素材id
},
news:
{
link: "", //H5消息页面url 必填
title: "", //H5消息标题
desc: "", //H5消息摘要
imgUrl: "", //H5消息封面图片URL
}
}, function(res) {
if (res.err_msg == 'sendChatMessage:ok') {
//发送成功
}
})
其中msgtype属性有:文本(“text”),图片(“image”),视频(“video”),文件(“file”)以及H5(“news”)。
实际使用
wx.invoke('sendChatMessage', {
msgtype:"news", //消息类型,必填
news:
{
link: "", //H5消息页面url 必填
title: "", //H5消息标题
desc: "", //H5消息摘要
imgUrl: "", //H5消息封面图片URL
}
}, function(res) {
console.log('服务指引返回结果',res);
if (res.err_msg == 'sendChatMessage:ok') {
//发送成功
}
})
需要注意的三点:
调用agentConfig (文档有详细说明)
-
调用getContext,sendChatMessage接口只能从聊天工具栏进入页面调用才能唤起。
getContext接口内容返回见下图
- 如果发送的消息是text类型,接口里面就只配置text,如果发送的消失是news就只配置news。
//发送h5 news类型消息
wx.invoke('sendChatMessage', {
msgtype:"news", //消息类型,必填
news:
{
link: "", //H5消息页面url 必填
title: "", //H5消息标题
desc: "", //H5消息摘要
imgUrl: "", //H5消息封面图片URL
}
}, function(res) {
console.log('服务指引返回结果',res);
if (res.err_msg == 'sendChatMessage:ok') {
//发送成功
}
})
//发送text类型消息
wx.invoke('sendChatMessage', {
msgtype:"text", //消息类型,必填
text: {
content:"你好", //文本内容
},
}, function(res) {
console.log('服务指引返回结果',res);
if (res.err_msg == 'sendChatMessage:ok') {
//发送成功
}
})
如果配置了多个属性,如下
wx.invoke('sendChatMessage', {
msgtype:"news", //消息类型,必填
text: {
content:"你好", //文本内容
},
news:
{
link: "", //H5消息页面url 必填
title: "", //H5消息标题
desc: "", //H5消息摘要
imgUrl: "", //H5消息封面图片URL
}
}, function(res) {
if (res.err_msg == 'sendChatMessage:ok') {
//发送成功
}
})
结果就是即使msgtype配置的是news类型,实际调用接口msgtype还是默认排在第一个的属性text。
以上,end。