tsghost/doc/subscribe.md
2021-08-06 15:01:09 +08:00

58 lines
1.7 KiB
Markdown

#订阅消息流程
##1. 相关文档
[服务端发送接口](https://developers.weixin.qq.com/minigame/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html)
[前端接口](https://developers.weixin.qq.com/minigame/dev/api/open-api/subscribe-message/wx.requestSubscribeSystemMessage.html)
##2. 微信mp后台选择相关模板消息
mp.weixin.qq.com - 功能-订阅消息
选择对应的模板, 获得 模板ID 和 消息格式
##3. 金蚕mp后台-游戏配置-普通配置
增加 订阅消息配置(subscribe_cfg)
格式如下:
```json
{
"jsub_login": "wL3rEJ4zSbHpIiKX8ZPpO1z77dAOO8HdFbUZzfAh-VA",
"jsub_sign": "37Te9WPEzd-nB65_KxwiAF00DucDRjb4JzlWQBXjtsY"
}
```
jsub_login 指 离线收益消息
jsub_sign 指 每日签到消息
值为微信mp后台获取到的模板ID
##4. 金蚕mp后台-游戏配置-服务端配置
增加 订阅消息配置(subscribe_cfg)
格式如下(消息格式取自微信mp后台):
```json
{
"jsub_login": {
"thing4": "离线奖励快满了, 快来领取吧",
"date2": "$date"
},
"jsub_sign": {
"thing5": "今天还未签到, 快来签到领取好礼吧",
"date4": "$date"
}
}
```
##5. 客户端逻辑
客户端启动游戏时, 获取到相关订阅消息的模板id列表,
通过wx.requestSubscribeMessage取得用户授权后, 将对应的模板id通过上报接口传给服务端
##6. 服务端逻辑
服务端暂时采用定时发送的机制, 到达指定时间后, 会遍历所有可发送的记录, 优先发送签到消息
判断可发送的条件: count > 0 && lastCheck < 今天0点
发送成功后, 会更新lastCheck,
上报接口也会更新lastCheck的时间