需求描述
在日常工作中,我们可能希望将一些小程序的消息通知发送到企业微信当中去,以实现消息的及时推送和分发。
解决方案
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,
}
})
这样,我们就可以在企业微信中看到我们刚刚发送的消息。
总结
除了短信、微信,也有一些人在使用企业微信办公,又或是我们需要将消息发在一个群内,从这个角度来看,企业微信再合适不过了。
此外,企业微信除了做简单的文本消息,还可以发送更多其他类型的消息,相关的连接,你可以在企业微信的文档中找到