高展网为您带来《微信订阅号登陆(微信订阅号登录入口)》,本文围绕微信订阅号登陆展开分析,讲述了关于微信订阅号登陆相关的内容,希望您能在本文中获取到有价值的信息!
轮训三分钟过期, 停止轮训, 清理定时器
错误处理, 网路问题或者二维码图片展示出错时,显示错误的兜底,点击可以重新刷新
四:处理事件接口(微信服务器回调接口)
接口名称:/api/passport/wechat-checkSignature POST请求 (参数:String xml)
处理事件大概步骤:
通过eventType判断事件类型,根据事件类型去进行相应的处理。
获取access_token,通过access_token等获取用户的unionid.
官方文档地址:developers.weixin.qq.com/doc/offiacc…
注意事项:此处想要获取access_token需要在公众号配置页面配置IP白名单,否则获取不到access_token
然后处理事件消息,例如:订阅事件
A. 将此人的微信信息存入redis中,以eventkey(就是生成公众号二维码时的scene_str)为主键,
B. 然后前端以这个为请求参数轮询后端接口,如果轮循到,则说明该微信用户已经关注公众号,则对这个用户进行注册或登录操作。
C. 然后发送模板消息到其公众号。(两种方式:一种通过模板来发送,第二种就是可以通过客服消息发送模板消息)
模板消息官方文档地址:developers.weixin.qq.com/doc/offiacc…
客服消息官方文档地址:developers.weixin.qq.com/doc/offiacc…
五:轮询接口(前端接入,通过sceneid)
接口名称: /api/passport/poll-redis GET请求 (参数:String sceneId)
通过此轮询来判断用户是否关注了公众号,如果关注了则根据返回的数据去执行登录流程(或是注册流程)。
前端接入:
接口判断登陆注册分别走不同对应逻辑
六:登陆注册前置准备接口(前端接入)
接口名称:/api/passport/wechat-start POST请求 (参数: unionid; sceneStr; openid;requestType; nickname; headimgurl; phoneNo;deviceNo;deviceType; deviceVersion;)
然后进行具体的逻辑判断。下一步是注册还是登录。
七:微信扫码登录接口
接口名称:/api/passport/wechat-login POST请求 (参数:String token)
八:注册流程
接口名称:/api/passport/wechat-phone-singup POST请求 (参数:String openid;String unionid;String nickname;String sex; String headimgurl; String phoneNo;)
这里的参数就是在处理事件时(第四步)中存入redis中的信息,前端存储一下,再转发给后端。后端拿着这个微信用户的信息去注册。然后直接登录。
九:个人信息界面的解绑
接口名称:/api/personal/info/set/unBindWeChat GET请求 (参数:String phoneNo)
通过手机号进行解绑。
前端接入:
弹窗之间的处理逻辑为, 隐藏个人设置弹窗, 弹出扫码弹窗, 扫码后,刷新接口, 切换弹窗
注意: 弹窗之间如果不进行切换操作, 会导致弹窗不刷新, 不符合要求
十:个人信息界面的绑定
和扫描公众号二维码同一个接口。只不过是后端业务逻辑进行了区分和处理。
六:获取小程序二维码
前端通过小程序也可以获取到用户手机号,通过接口调用, 达到新用户,可以不输入手机号,则进入系统的作用,方便用户的操作, 减少操作步骤
小程序获取手机号的流程
通过调用wx.login 拿到code, 调用后端接口换取 sessionId 服务端是通过 code和密钥,appid拿到的用户信息
存储sessionId ,这个为每次调用接口,或者登录过期的凭证, 如果过期,需要重新调用wx.login 重新获取sessionId
《微信订阅号登陆(微信订阅号登录入口)》来自网络,本文围绕微信订阅号登陆的观点不代表本网站,仅作参考。