微信中控台架构设计

为什么要建设中控台

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

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

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

中控架构设计

业务场景

获取accesstoken

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

事件推送

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

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

普通消息

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

H5免登陆

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

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

文章已经和自己个人网站同步

微信中控台架构设计_我叫火柴-个人博客如果公司多个业务线都去不定期获取access_token,会导致刚获取的一会儿就失效了,所以必须有一个中控服务器统一获取和刷新access_token,其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新。https://www.gcb1988.cn/article/1988_078.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值