push-server教程
1. 注册企业微信
谁都可以注册企业微信,无需认证,按说明注册并使用微信扫二维码完成管理员绑定

2.微信插件
选择我的企业,点击微信插件,使用手机扫码关注

3. 添加应用

添加logo 和应用名称以及可见范围,选择一个部门或者自己都行,创建应用

4. 配置应用
4.1 查看Secret
创建完成后会进入当前页面,点击查看可以看Secret

点击发送,可前往企业微信查看消息

点击查看,保存好,不要泄露,至关重要

4.2 配置可信IP
在配置可信IP之前,我们需要先设置可信域名
可信域名需要校验域名,点击 申请校验域名 获得认证信息
下载文件放置到一个网站的根目录下,我这里放置到了自己在cloudflare的Workers 和 Pages 博客上 https://mazepeng.com/
当文件可以访问到的时候就可以设置可信域名了


现在推送消息的服务必须有可信IP,如何获得自己的IP呢
访问https://ifconfig.me/ 或者直接百度IP 就可以看到自己的公网 IP了
点击应用管理,点击应用,拉倒最下面,配置可信IP


5. 运行push-server
https://github.com/qingzhou-dev/push-server
这是开源的微信推送服务,支持docker部署和本地应用部署,这里我就介绍一下docker部署
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| docker run -d \ --name push-server \ -p 8000:8000 \ -e PUSH_AUTH_KEY="替换为自己的key" \ -e PUSH_WECOM_APP_KEY="你的应用AppKey" \ -e PUSH_WECOM_APP_SECRET="你的应用AppSecret" \ -e PUSH_WECOM_AGENT_ID="1000001" \ qingzhoudev/push-server:latest
# 安全设置,默认值为下方值,需要修改添加环境变量修改 docker run -d \ --name push-server \ -p 8000:8000 \ -e PUSH_AUTH_KEY="替换为自己的key" \ -e PUSH_WECOM_APP_KEY="你的应用AppKey" \ -e PUSH_WECOM_APP_SECRET="你的应用AppSecret" \ -e PUSH_WECOM_AGENT_ID="1000001" \ -e PUSH_SECURITY_BLOCK_MINUTES="30" \ -e PUSH_SECURITY_FAIL_WINDOW_MINUTES="5" \ -e PUSH_SECURITY_MAX_FAILS="5" \ -e PUSH_SECURITY_RATE_LIMIT_CAPACITY="10" \ -e PUSH_SECURITY_RATE_LIMIT_QPS="1" \ qingzhoudev/push-server:latest
|
- PUSH_AUTH_KEY 请求头密钥,需要自己设置一个复杂的即可
- PUSH_WECOM_APP_KEY 就是企业ID
- PUSH_WECOM_APP_SECRET 就是保存的Secret
- PUSH_WECOM_AGENT_ID 应用ID
替换后直接docker启动

5.1 企业ID

5.2 应用ID

6 推送消息
和正常接收微信消息一样,没有什么区别
请注意target 指的是接收人账号,@all指所有人,多个账户可以使用 | 分隔
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| curl -X POST http://localhost:8000/api/v1/push \ -H "X-API-Key: 替换为自己的key" \ -H "Content-Type: application/json" \ -d '{ "target": "ZhangSan|LiSi", "type": "TEXT", "content": "系统通知:您的任务已构建完成。" }' curl -X POST http://localhost:8000/api/v1/push \ -H "X-API-Key: 替换为自己的key" \ -H "Content-Type: application/json" \ -d '{ "target": "MaZePeng", "type": "TEXT_CARD", "title": "测试Push Server", "content": "我是 Push Server,这是我作为服务端的第一条消息", "url": "https://www.mazepeng.com" }' curl -X POST http://localhost:8000/api/v1/push \ -H "X-API-Key: 替换为自己的key" \ -H "Content-Type: application/json" \ -d '{ "target": "MaZePeng", "type": "NEWS", "articles": [ { "title": "测试 Article", "description": "我是描述", "url": "https://www.mazepeng.com", "picUrl": "https://mazepeng.com/img/bg/a_larger_image_of_the_homepage.jpg" } ] }'
|
类型有:
- TEXT
- MARKDOWN(微信不支持)
- TEXT_CARD
- NEWS

