方案介绍
话不多说,先上图,有图有真相。
微信公众号官方平台只能接入一个系统,为了接入更多的系统,需要一个中间服务对接微信,然后由中间服务向其它系统提供服务。中间服务只需要三个接口:用户授权(用于获取openid)、AccessToken(用于微信接口)、JSAPI_Ticket(用于微信分享)
中间服务
- 用户授权(把微信的用户授权openid结果返回第三方系统)
- AccessToken(按系统标识code进行AccessToken缓存,并返给第三方系统)
- JSAPI_Ticket(返给第三方系统JSSDK ticket)
- 在用户关注公众号时调用第三方接口的相应接口,通知第三方系统用户已关注公众号(openid)
- 在用户取消公众号关注时调用第三方接口的相应接口,通知第三方系统用户已取消公众号关注(openid)
第三方系统
- 用户授权(带着系统标识code,去中间服务进行用户授权,获取openid)
- AccessToken(带着系统标识code,去中间服务获取AccessToken)
- JSAPI_Ticket(带着系统标识code,去中间服务获取SSDK ticket,然后进行JSSDK接口的签名)
- 关注公众号接口(获取openid,得知哪个用户关注公众号)
- 取消公众号关注接口(获取openid,得知哪个用户取消公众号关注)