微信一惯的怎么为难开发者怎么来,分享一个使用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。