微信中控台架构设计

分类:环境配置来源:站内 最近更新:2022-07-16 16:38:02浏览:1682留言:0

微信中控台架构设计

为什么要建设中控台

  • 1.微信公众号中的access_token是调取微信接口的全局唯一的凭据,公众号调用各接口时都需使用access_token,有效期目前为2个小时。新access_token获取后,老的(上一次的)在5分钟内依旧可以使用。如果公司多个业务线都去不定期获取access_token,会导致刚获取的一会儿就失效了,所以必须有一个中控服务器统一获取和刷新access_token,其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新。

  • 2.当某个用户关注,取关,扫码,回复等事件触发时,业务平台需接收用户反馈事件,同时回复用户消息。这时就需要在微信控制台添加回调地址,方便微信公众号把事件或消息通过回调地址发给业务服务器。可是一个微信公众号只支持一个回调地址,如果要多个业务服务怎么办,所以只有通过中控服务器做中转。

    WX20220716-162842@2x.png

  • 3.有个业务场景是这样的,希望通过微信访问,自动获取微信唯一标识(之前可以获取昵称,头像,现在不允许了)。但是要获取微信公众号用户唯一标识,需要配置网页授权域名,而且域名不能超过2个,但是按照公司的业务线满足不了需求且不能做更多的扩展。所以需要一个中台做转发

  • WX20220716-162931@2x.png

中控架构设计

WX20220716-161444.png

业务场景

获取accesstoken

中控台每1.5小时会主动向微信公众号获取新的accesstoken,并存入内存,业务平台通过获取accesstoken接口获取,建议缓存5分钟。一般新获取的accesstoken失败概率很小,请检查自身接口问题,不建议频繁调用重新获取accesstoken接口,如果在一分钟以内多次重新获取,中控台依旧返回最近一次的。流程图见下图:

WX20220716-163301.png

事件推送

事件一般需要立刻回复微信,下图以微信扫码为例

微信公众号通过获得的accesstoken调用微信临时二维码凭证接口得到ticket,拼接地址,就可以获得二维码绝对路径,用户微信扫码关注或已经关注,微信会收到触发事件,就把xml事件信息发给中控台,中控台把xml转化为json,匹配应用在后台配置的场景标识,推送给相应的应用,不匹配的不推动。

WX20220716-163458.png

普通消息

当客户通过公众号发送普通文本消息时,公众号接收到消息,根据业务应用在后台配置的消息规则,找到对应的匹配的应用,然后中控台把消息推送给它。

WX20220716-163547.png

H5免登陆

 微信对于网页授权有了新的限制

https://developers.weixin.qq.com/community/minihome/doc/000c2c34068880629ced91a2f56001

WX20220716-163705.png



0

发表评论

评论列表(0)

  • 暂时没有留言
热门