云开发如何通过微信发送通知
发布于 4 年前 作者 zhumin 2076 次浏览 来自 分享

需求描述

在昨天的内容中,我们介绍了如何使用短信发送消息通知,但是,短信通知是收费的,我们似乎也不需要实时性那么高的消息通知方式。

有没有一个实时性还不错,但是免费的方案呢?

答案是有的,那就是借助微信发送消息通知。

解决方案

服务说明

你一定知道,微信本身对于发送消息是有限制的,一般来说,需要我们自己有一个服务号,才能发送消息。

但是,开发一个服务号对于我们来说,成本太高了,因此,我们可以考虑借助一些开放的第三方服务,来完成我们自己的需求。这次,我们借助于一个第三方服务 —— 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:"这是描述"
    }
})

总结

昨天,我们介绍了如何发送短信,今天我们介绍了如何低成本的完成消息的推送。明天,我们将介绍,如何向企业微信发送消息。

延伸阅读

回到顶部