小程序判断用户是否关注了关联的公众号

1,首先,微信公众号的获取的用户openId和小程序授权登录获取的openId不是同一个,需要的是一个不变的unionid进行间接性的一对一关系对比。unionid可以通过将小程序和微信公众号绑定相同的微信开放平台获取。绑定开放平台即会产生unionid。

2.其次,需要微信公众号的信息进行获取,Appid和AppSecret,以及配置ip白名单,后台配置请求接口,拿到token进行缓存;

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

通过获取的token进行请求公众号的关注列表,获取关注的用户进行存储;

https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID

3.然后进行存储的用户列表进行请求接口建立一一对应的关系,查询相应的unionid和其他的数据,比如关注状态subscribe等字段

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

4.此时,老粉丝用户的关系表存储已经,新老粉丝粉丝进入小程序是通过wx.login获取code后台解得小程序的openId和unionId,进行2中存储的关系表进行比对,可获取专注状态。老粉丝可直接对比返回关注状态,新粉丝可进行提示前去关注公众号,后者使用小程序official-account组件进行展示关注按钮,直接关注(需要服务器进行检测关注与取关事件进行相关关注状态的检测)。

tips: 

1.公众号新粉丝进入小程序授权产生的unionId无可对比条件,新粉丝关注公众号触发时间,服务器能获取新粉丝的公众号的openId,通过3解得unionId和关注状态,进行新粉丝对应条件

2.公众号进行服务器配置,启用之后会对自定义菜单影响,需要重新启动一下自定义菜单,

具体流程:

①关闭服务器配置

②启用自定义菜单配置

③再次启用服务器配置

④点击"+添加功能插件"页面,找到添加自定义菜单,点击-重启(此步最重要,否则不生效)

你可能感兴趣的:(小程序)