微信小程序本身提供了openid等信息的无感知获取,基于此来实现微信扫码登录,主要包含以下几个步骤:

1. WEB登陆页面的实现

打开登录页面时,生成一个带有唯一ID的小程序码,小程序码图片加载以后,通过WebSocket或者轮询确认此唯一ID是否已经确认登陆或者超时。

这一步比较简单,进入登录页面,通过调用生成小程序码接口,就可以生成一个带有特定参数的小程序码。

通过图片的onload的属性,可以启动一个定时器或者WebSocket连接到后端,获取是否已经确认登陆或者超时过期。

2. 微信小程序端的实现

通过onLoad可以获取到携带的唯一ID,调用login接口后可以获取code,合并到一起提交到后端登陆接口,后端可以通过调用code获取到session信息,用以区分不同用户。

查询到用户以后,将对应的用户标记为登陆状态即可,具体实现可以按照应用逻辑来。

3. 后端的实现

后端主要包括:

  1. 小程序码接口,用于展示小程序码图片
  2. 登录接口,接受code和唯一ID
  3. 状态查询接口,或者WebSocket服务,用于前端查询或者推送唯一ID过期或者确认登陆状态,实现登陆后的跳转。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注