云开发如何通过微信发送通知
需求描述
在昨天的内容中,我们介绍了如何使用短信发送消息通知,但是,短信通知是收费的,我们似乎也不需要实时性那么高的消息通知方式。
有没有一个实时性还不错,但是免费的方案呢?
答案是有的,那就是借助微信发送消息通知。
解决方案
服务说明
你一定知道,微信本身对于发送消息是有限制的,一般来说,需要我们自己有一个服务号,才能发送消息。
但是,开发一个服务号对于我们来说,成本太高了,因此,我们可以考虑借助一些开放的第三方服务,来完成我们自己的需求。这次,我们借助于一个第三方服务 —— Server 酱 来完成我们的需求。
Server 酱是一个第三方服务,可以用来给我们自己发送通知,你需要做的,仅仅是关注 Server 酱的服务号。
Server 酱的工作原理见下图
[图片]
注册 Server 酱 ,并绑定微信
访问 https://sc.ftqq.com/3.version ,使用你的 Github 账号登陆,
如果你没有 Github 帐号,可以先去注册一个。如果你不知道 Github 是什么,可以等一等明天的企业微信教程。
登录成功,点击顶部菜单栏中的微信推送,扫码,绑定你自己的微信号。
[图片]
发送测试消息
点击顶部菜单栏中的发送消息,可以进入到消息的发送页面。
<img src=“https://postimg.aliavv.com/picgo/20191119210457.png” style=“zoom:80%;” />
在下方的输入框内输入测试的信息,点击发送消息,就可以发送一条测试消息。
当你看到 [代码]{"errno":0,"errmsg":"success","dataset":"done"}[代码] 的返回,则说明发送成功,这个时候,打开微信,你可以看到这样的消息。
[图片]
这样就说明你的微信绑定成功了,可以进行下一步的开发了。
在进行云函数的编写之前,你需要拿到一个通信的 URL,用于后续的开发。
你可以在 Server 酱的发送消息的页面找到这个 URL。
[图片]
复制这个 URL,作为后续开发所需。
编写云函数
完成了服务的基本配置以后,接下来,我们可以编写一个云函数,来发送消息。
在云函数目录下创建一个名为[代码]sendToWeChat[代码] 的云函数,然后在这个函数上右击,选择在终端中打开
[图片]
在终端中,执行命令安装依赖
[代码]npm install got --save
[代码]
[图片]
接下来,在小程序开发者工具中,打开 [代码]sendToWeChat[代码] 函数的 [代码]index.js[代码] 文件,
在其中添加如下代码
[代码]// 云函数入口文件
const cloud = require('wx-server-sdk')
const got = require('got');
const url = '上面拿的消息通信 URL'
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
await got(`${url}?text=${encodeURI(event.text)}&desp=${encodeURI(event.desp)}`);
return "ok";
}
[代码]
这里记得将 URL 的值替换为刚刚你复制的通信 URL 。
设置完成后, 记得上传并部署你的云函数。
发送消息
当你的云函数部署完成后,你就可以通过调用云函数的方式,发送消息,具体的方法如下
[代码]wx.cloud.callFunction({
name:"sendToWeChat",
data:{
text:"这是标题",
desp:"这是描述"
}
})
[代码]
总结
昨天,我们介绍了如何发送短信,今天我们介绍了如何低成本的完成消息的推送。明天,我们将介绍,如何向企业微信发送消息。
延伸阅读
云开发如何实现管理员通知消息