企业微信 ‘sendChatMessage‘ 分享H5消息到当前对话

前两天公司让给企业微信自建应用添加一个分享h5消息到当前会话,由于之前没接触过所以走了很多弯路,现在分享给大家,需要能用到的可以看看。

正文:

刚开始写接触的宝宝,一定要看企业微信文档:分享消息到当前会话 - 接口文档 - 企业微信开发者中心 (qq.com)https://developer.work.weixin.qq.com/document/path/94797

我们先看一下官方文档:

1. 必须先成功调用agentConfig,否则调用时会报“no permission”错误。
2. media_id可以通过素材管理接口获得,暂不支持公众平台的mediaid。
3. 需要从特定入口进入页面才可调用,否则会报错:without context of external contact,可先通过调用getContext来判断进入小程序的入口,允许调用的入口说明参见“不同入口所需的权限说明”。
4. 从不同的入口进入的页面,应用需要满足相应用的权限,否则会报“no permission”错误,所需的权限参见“不同入口所需的权限说明”。
5. 企业微信3.1.0及以后版本支持小程序类型的消息格式(mac端暂不支持)。

 1. 需要引入 jwxwork sdk

<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>

 2. 配置

  配置客户联系功能权限:概述 - 接口文档 - 企业微信开发者中心 (qq.com)https://developer.work.weixin.qq.com/document/path/92109#%E9%85%8D%E7%BD%AE%E5%8F%AF%E4%BD%BF%E7%94%A8%E5%AE%A2%E6%88%B7%E8%81%94%E7%B3%BB%E5%8A%9F%E8%83%BD%E7%9A%84%E6%88%90%E5%91%98

 3. 分享自定义消息到当前会话

我写的的分享H5页面,其他也有很多可以看文档哈!

代码:

   getWorkAgentConfig(location.href).then(res => {
          jWeixin.agentConfig({
            corpid: res.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
            agentid: res.data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
            timestamp: res.data.timestamp, // 必填,生成签名的时间戳
            nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
            signature: res.data.signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
            jsApiList: ["getCurExternalContact", "getCurExternalChat", "getContext", "chooseImage", "sendChatMessage", ], 
            success: function(res) {
              console.log(res)
            },
          });
          jWeixin.invoke('sendChatMessage', {
            msgtype: "news", //消息类型,必填
            enterChat: true, //为true时表示发送完成之后顺便进入会话,仅移动端3.1.10及以上版本支持该字段
            news: {
              link: "https://test.pro.wuht.net/pages/goods_details/index?id=" + item.id, //H5消息页面url 必填
              title: item.store_name, //H5消息标题
              desc: "", //H5消息摘要
              imgUrl: item.image, //H5消息封面图片URL
            },
          }, function(res) {
            if (res.err_msg == 'sendChatMessage:ok') {
              console.log('发送成功', res)
              //发送成功
            } else {
              //发送失败
              console.log('发送失败', res)
            }
          })
        })

(我这里用的是jWeixin代替wx,因为uniapp和wx冲突,打包后会忽略wx,所以你们如果用wx无效那就使用jWeixin)

企业微信JS-SDK关于分享自定义消息:

分享接口 - 接口文档 - 企业微信开发者中心 (qq.com)https://developer.work.weixin.qq.com/document/path/90490

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值