小程序开发之七(PC网页端扫小程序码登陆解决方案)
2018/05/24

最近做了一个小程序我爱阅读,是一款针对小学生阅读习惯培养的一个小程序工具,有兴趣的可以了解下。

小程序在学校反映不错,于是有了老师提出需要PC网页端的需求。因为老师平时办公一般在电脑上,在电脑上给学生布置阅读作业,会更方便得多,而移动小程序端对于老师来说更像一个辅助工具,平时用不到电脑时可以通过小程序操作。而且学生的阅读数据再网页展示也方便老师在课堂上给学生投影展示。

于是乎就有了网页端的需求。

登陆

这是要做网页端最开始要解决的问题。

一开始有一下解决方案

  1. 初始化账号密码,网页通过账号密码登陆
  2. 微信开发平台,公众号和小程序绑定,通过公众平台的网页二维码授权登陆。

但以上两种方法都不能很好地解决需求:

  • 第一种,初始化账号密码,秘密好办可以统一初始密码,但用什么作为账号呢?微信用户名,openid不可能,用户手机又不是全都用。就算解决了初始化账号密码问题,安全度也不高。
  • 第二种,有个缺陷就是用户必须关注了绑定的公众号后再进入小程序,才可以实现。我们现在主打的是小程序,公众号只是运行的一个中间平台。而且很多新用户是通过小程序分享的链接进入,完全没法先去关注公众号。所以这种方法也不适合。

转转游戏

以上两种方法行不通,于是网上找各种方法。最终找到了转转游戏,就是通过扫描小程序码登陆的,体验了一下,大概也了解了方法。

扫小程序码登陆逻辑

  1. 首先在小程序添加一个网页登陆的页面,页面接收一个登陆id(loginId)
  2. 网页端展示小程序网页登陆页的小程序码,附带登陆id(loginId)
  3. 用户通过扫描网页上的小程序码,手机微信进入相应小程序的网页登陆页,设置确认登陆和取消登陆按钮,同时网页端扫面后应开启socket或者定时去请求后台,当前登陆id(loginId)的使用状态。
    • 如果loginId使用后且确认登陆,应一起返回用户的token,网页就可以使用该token去当前单用户去请求接口了
    • 如果用户取消登陆或超时则网页提示相应信息,且重新获取新的小程序码。

总结

这样可以完美地使用小程序当前用户信息去登陆网页端,用户不用输入账号密码,也不用计账号密码,直接用微信扫一扫就可以登陆,真实方便简洁。完美~~