总结了之前 差评提醒 和 黑马词订阅 两个项目的相关操作流程和基本实现,给后面类似的项目提供参考。
一、 用户订阅
用户订阅是通过微信扫描二维码实现的。用户扫描二维码之后,关注”名不虚传”的服务号,并将用户信息及订阅配置传递给后端服务。
扫码时序图如下:

注:用户提交的配置数据实际上统一存放在了Wechat-Service 的数据库中,微信提醒应用服务 不存储用户配置数据;当 应用服务 需要用户配置数据的时候,需要通过 Wechat-Service 提供的接口获取。
用户订阅信息可以封装成一个抽象数据类,具体的订阅配置由子类添加:
| 
 | 
 | 
Subscription 子类示例:
| 
 | 
 | 
注:前端请求的 Json 数据格式需要匹配具体的 Subscription 子类;后面的修改也基于这个子类。
应用服务 发送订阅信息到 Wechat-Service 的数据类示例:
| 
 | 
 | 
参考文档
Wechat-Service 绑定操作接口文档:
Wechat-Service 绑定信息查询接口文档:
二、ONS消息处理
阿里云提供了ONS消息处理的SDK,使用比较方便。
开启ONS消息订阅示例:
| 
 | 
 | 
三、发送微信提醒消息
提醒消息在微信中为 模板消息 ,需要绑定微信公众号后台提供的消息模板。
模板消息 类示例:
| 
 | 
 | 
注:模板消息发送是直接调用微信后台接口,Wechat-Service 只做转发,参考文档。
四、对外接口
- 新增配置信息接口[POST]。此接口包含了二维码 ticket和绑定状态,也是二维码获取和绑定状态查询接口。
- 更改配置信息接口[PUT]。
- 获取用户及配置列表接口[GET]。
- 删除配置信息接口[DELETE]。
- 微信消息详情页数据接口[GET]。根据具体业务提供数据。