云开发如何通过机器人向企业微信发送消息
发布于 4 年前 作者 guiying32 3360 次浏览 来自 分享

需求描述

在日常工作中,我们可能希望将一些小程序的消息通知发送到企业微信当中去,以实现消息的及时推送和分发。

解决方案

1. 创建企业微信群机器人

在企业微信中,我们可以在群内添加群机器人,用于消息的通知,对于需要进行通知的我们来说,就需要实现相同的功能。

首先,你需要将需要接受消息通知的人拉入一个新的群内(当然,你也可以复用之前的群。如果一个消息你只希望自己可以收到,那么可以先把几个人拉入群内,在没有说话之前,踢出所有的人,这样就可以避免他们也会收到消息,同时还可以保留这个群,用于你接收消息)。

其次,在列表中找到你用于接受消息的群,在其上右击,选择__添加群机器人__,然后设置机器人的名字、头像等信息。

再次,点击群成员中机器人的头像,在弹出的窗口中,复制 WebHook 的连接。

2. 编写云函数

在上一环节中,我们获取到了刚刚创建的云函数的 WebHook 地址,接下来,我们就可以向企业微信群内发送具体的消息。

这里你需要阅读企业微信关于机器人的文档,这里我们只做简单消息的发送演示。

首先,我们创建一个云函数,命名为__sendToWeChatWork__,意为发送消息到企业微信。

然后,你需要先在云函数上右击,选择__使用终端打开__,然后在命令行中输入如下命令,安装依赖

npm install got --save

随后,使用微信开发者工具打开云函数,输入如下代码

// 云函数入口文件
const got = require('got');
const robotUrl = '你获得的连接' // 填入你的机器人连接

// 云函数入口函数
exports.main = async (event, context) => {
 return await got(robotUrl,{
   headers:{
     "Content-Type":"application/json"
   },
   body: JSON.stringify({
     "msgtype": "text",
     "text": {
       "content": `你有新的订单 ${event.orderId}`
     }
   })
 })
}

然后保存文件,并上传部署函数。

3. 触发发送企业微信消息

在完成了云函数的编写后,接下来,我们可以在小程序中触发事件,发送消息到企业微信。

let orderId = 'this is a orderId'
wx.cloud.callFunction({
    name: "sendToWeChatWork",
    data:{
        orderId: orderId,
    }
})

这样,我们就可以在企业微信中看到我们刚刚发送的消息。

总结

除了短信、微信,也有一些人在使用企业微信办公,又或是我们需要将消息发在一个群内,从这个角度来看,企业微信再合适不过了。

此外,企业微信除了做简单的文本消息,还可以发送更多其他类型的消息,相关的连接,你可以在企业微信的文档中找到

回到顶部