一个频道可以被多个微信订阅,一个微信也可以订阅多个频道。当有消息到达频道时,会向所有订阅的微信推送通知。
开发此项目的目的是实现一个自己的“Server酱”,方便自定义。
零痛苦部署,极度简单的API,代码开源,自由扩展。
准备好服务号或者测试号
如果注册不了服务号也一点关系没有,测试号完全可以满足个人使用的需求。打开这里进行注册。
先配置一个消息模板,需要带一个 text
字段。
没钱买服务器也没关系
LeanCloud 提供免费的后台托管,去这里注册一个。
然后新建一个应用,在控制台创建 Channel
和 UserToChannel
两个 Class
在云引擎的设置里面添加自定义环境变量:
WX_APP_ID
测试号 appIDWX_APP_SC
测试号 appsecretWX_TOKEN
需和接口配置信息的 Token 一致WX_TEMPLATE_ID
新建的模板 IDWX_TEMPLATE_DEST
模板的详情要打开的 URL,目前可以瞎填
绑定一个二级域名
准备部署
首先确认本机已经安装 LeanCloud 命令行工具,然后执行下列指令:
$ git clone https://github.com/brucx/mp-push-leancloud.git
$ cd mp-push-leancloud
登录并关联应用:
lean login
lean switch
部署到 LeanEngine:
lean deploy
确认接口配置信息
在测试号管理页面确认接口配置信息。
URL 为 https://二级域名.leanapp.cn/wx
Token 需和 WX_TOKEN
一致
测试接口
关注测试号,发送 link 频道名称
绑定频道。
发送 POST 请求触发推送
curl -X POST 'https://二级域名.leanapp.cn/push' \
-H 'content-type: application/json' \
-d '{ "channelName": "频道名称", "text": "OK" }'