工作

企业微信 sendChatMessage接口,聊天工具栏分享消息

2020-11-16  本文已影响0人  kkkkkkee
微信一惯的怎么为难开发者怎么来,分享一个使用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') {
               //发送成功
           }
       })

需要注意的三点:

  1. 调用agentConfig (文档有详细说明)

  2. 调用getContext,sendChatMessage接口只能从聊天工具栏进入页面调用才能唤起。
    getContext接口内容返回见下图


    image.png
  1. 如果发送的消息是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。

上一篇下一篇

猜你喜欢

热点阅读