flashsoft 发表于 2019-5-18 15:01:36

基于企业微信的一对多消息送达服务-完美替代pushbear


基于企业微信的一对多消息送达服务-完美替代pushbear
----

因为`Pushbear`遭到的很多人的滥用及无聊人士的举报,造成该服务将在五月底下线,对比表示非常伤心。
![图片](https://raw.githubusercontent.co ... master/images/1.png)

经过各位伙伴探索发现可以使用企业微信完美实现此想服务,经过(https://github.com/FlashSoft/),(https://github.com/Lumy88)和(https://github.com/smarthomefans) 多日努力,发布`node-red-contrib-bizwechat 1.0.3` 版本,基本已经可以完美替代 `pushbear`

![图片](https://raw.githubusercontent.co ... master/images/2.jpg)




node-red-contrib-bizwechat
---
企业微信推送有以下优点:
* 自建服务,除非企业微信停服
* 可以接收用户发送的`文字` `语音`(配置百度已经自动转换文字了) 等等
* 更好的私密性

但是同时具有最大的缺点就是:**需要你有公网服务**


手摸手从零开始教程
----
* 注册企业微信

注册地址如下[https://work.weixin.qq.com/wework_admin/register_wx](https://work.weixin.qq.com/wework_admin/register_wx), 没啥要求,随意注册即可使用

* 创建应用

![图片](https://raw.githubusercontent.co ... master/images/3.png)

![图片](https://raw.githubusercontent.co ... master/images/4.png)

* 获取配置信息
直接进入应用里面可以获取到*AgentId* *Secret*
![图片](https://raw.githubusercontent.co ... master/images/5.png)

*企业id* 在*我的企业*最下面可以找到
![图片](https://raw.githubusercontent.co ... master/images/7.png)

*接收消息* 模块中有*设置API接收*,用来设置企业微信请求的*URL* *Token* *EncodingAESKey*

**特别注意: 先把这些信息填写到node-red节点信息中, 然后才能验证通过此步**
**特别注意: 先把这些信息填写到node-red节点信息中, 然后才能验证通过此步**
**特别注意: 先把这些信息填写到node-red节点信息中, 然后才能验证通过此步**
![图片](https://raw.githubusercontent.co ... master/images/6.png)

* 安装 node-red节点

```js

node-red-contrib-bizwechat
```

* 配置节点信息

节点分为 *服务端*,*输出*, *推送*   
1. 服务端: 用来接收企业微信发来的信息,你可以在后面获取企业微信发过来的信息,但是同时你`需要给它反馈`不然它认为你没有收到,重复发送三次,*只是确认收到消息,直接返回一个空,即msg.payload = ''*
2. 输出: 用于返回`服务端`信息,一般跟在`服务端`后面,不可以单独使用
3. 推送: 发送消息给指定的人或多个人,默认为*群发*,指定人是通过*通讯录里面的账号*, 可以自行查看

* bizwechat 配置信息
一下信息可以从上面说明如何获取, 填写百度语音配置时,会自动把企业微信发过来的语音消息转换为文字,可以输出信息看一下

![图片](https://raw.githubusercontent.co ... master/images/8.png)

* 测试服务状态   
1. 访问你的机器`ip:节点里面的端口`, 出现一下界面表示服务正常   
2. 访问你外网的地址,出现相同的界面表示外网访问也正常

**特别说明:如果你是通过路由器端口映射到内网这台机器端口的,放url请填写 域名:端口访问**
**特别特别注意:这里的端口不是node-red的1880端口,而已你节点信息里面填写的端口**

![图片](https://raw.githubusercontent.co ... master/images/9.png)


* 如何添加人到企业微信

找到通讯录栏目,添加人员。 可以采用直接`微信邀请`或`添加成员方式`。

![图片](https://raw.githubusercontent.co ... aster/images/10.png)


* 如何使用微信接收消息

找到*我的企业*里面的*微工作台*找到邀请关注,如下图:

![图片](https://raw.githubusercontent.co ... aster/images/11.png)
![图片](https://raw.githubusercontent.co ... aster/images/13.png)


范例流程
---

```json
[{"id":"8de36836.2ad578","type":"tab","label":"流程9","disabled":false,"info":""},{"id":"d2cfbe29.54fd9","type":"debug","z":"8de36836.2ad578","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":401,"y":246,"wires":[]},{"id":"f1a926c1.47a0c8","type":"bizwechat-input","z":"8de36836.2ad578","name":"1","bizwechat":"66803d6f.5417b4","x":209,"y":391,"wires":[["d2cfbe29.54fd9","5b134336.fa0bec"]]},{"id":"c022aade.b76af8","type":"bizwechat-output","z":"8de36836.2ad578","name":"","bizwechat":"66803d6f.5417b4","x":748,"y":314,"wires":[]},{"id":"5b134336.fa0bec","type":"function","z":"8de36836.2ad578","name":"","func":"\nmsg.payload = \"\"\nreturn msg;","outputs":1,"noerr":0,"x":486,"y":329,"wires":[["c022aade.b76af8"]]},{"id":"2976594b.99a2e6","type":"bizwechat-pushbear","z":"8de36836.2ad578","name":"","bizwechat":"66803d6f.5417b4","touser":"","toparty":"测试","title":"修改标题","description":"","x":510,"y":509,"wires":[["d2cfbe29.54fd9"]]},{"id":"e89a3e0a.48d71","type":"inject","z":"8de36836.2ad578","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":194,"y":507,"wires":[["d34c6f27.c06ed"]]},{"id":"d34c6f27.c06ed","type":"function","z":"8de36836.2ad578","name":"","func":"\nmsg.payload = `我们为记录思想和分享知识提供更专业的工具。 您可以使用 Cmd Markdown:\n\n> * 整理知识,学习笔记\n> * 发布日记,杂文,所见所想\n> * 撰写发布技术文稿(代码支持)\n> * 撰写发布学术论文(LaTeX 公式支持)\n\n!(https://www.zybuluo.com/static/img/logo.png)`\nreturn msg;","outputs":1,"noerr":0,"x":365,"y":509,"wires":[["2976594b.99a2e6"]]},{"id":"66803d6f.5417b4","type":"bizwechat-configurator","z":"","name":"","port":"3001","corpid":"wxc9daffb2cdab64b1","agentid":" ","corpsecret":" ","url":"","token":" ","aeskey":" ","client_id":"","client_secret":""}]
```
































antsunzj 发表于 2019-5-18 18:17:11

本帖最后由 antsunzj 于 2019-5-18 18:55 编辑

感谢各位大神为我们带来如此好玩的工具,我来补充接进微信的方法,具体如下:









sfjnjau 发表于 2019-5-18 15:22:23

前排支持,感谢分享!

daliang1215 发表于 2019-5-18 15:23:48

沙发,先收藏,回头来验证。 只是还是不太明白 http 地址应该填哪一个?
加入 node-red 访问地址是内网的 http://192.168.88.1:30001,加入域名是 a.b.com那是不是需要在路由器上映射,假如在路由器上映射30001 到内网192.168.88.1 的30001端口, 那此处的 http 就应该填写成 http://a.b.com:30001 地址

xieahui 发表于 2019-5-18 16:12:53

66666, F大我在你的github看到这个项目了
上面没介绍;P 想不到现在教程来了

xieahui 发表于 2019-5-18 16:33:06

已经出现服务正常!!   加油 还要努力 :$

xieahui 发表于 2019-5-18 16:34:22

本帖最后由 xieahui 于 2019-5-18 16:36 编辑

daliang1215 发表于 2019-5-18 15:23
沙发,先收藏,回头来验证。 只是还是不太明白 http 地址应该填哪一个?
加入 node-red 访问地址是内网的...
写 http://a.b.com:30001
做个端口回流 没内网什么事

xieahui 发表于 2019-5-18 16:46:10



感谢F大,可以用了,很多要改哦,慢慢研究

发表于 2019-5-18 16:52:18

感觉企业微信也要被玩坏的节奏:lol

daliang1215 发表于 2019-5-18 17:47:02

xieahui 发表于 2019-5-18 16:34
写 http://a.b.com:30001
做个端口回流 没内网什么事

已经按照教程配置成功,但是就能从后台看到从微信发过来的数据, 接下来就不会操作了, 也不知道怎么样才能发到自己的微信上了!还是 个人能力水平不行。 看到你配置成功了,羡慕呀,是否能出个手把手教程。

xieahui 发表于 2019-5-18 17:54:15

你做到哪一步了,
上面不是有个示范的NR
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 基于企业微信的一对多消息送达服务-完美替代pushbear