前言
上一篇文章(使用小程序内的扫码功能实现网站和小程序端用户账号统一)发表后,社区大佬杨泉和拾忆分别给出了改进建议,总结两人的建议,就有了用户体验更好的方法,直接使用微信扫码来实现网站和小程序端用户账号统一。
先说一下前提,这次的方法都要用到扫普通链接二维码打开小程序来实现功能。在小程序后台完成相关配置后,直接用微信扫码就会打开小程序指定页面个并将网址直接通过参数q带给页面。
小程序扫码登录网站
在小程序后台配置中,将二维码规则设置为附带登录码的网址(比如:http://www.abc.com/?loginCode=),小程序功能页面建议设置为需要登录才能访问的页面,小程序中这个页面直接访问时需要判断是否登录,未登录状态要触发登录功能,登录后原样返回。
网页端业务逻辑不变,要登录时先生成一个唯一的登录码,比如:1234,然后放在小程序后台配置的二维码规则网址中,比如:http://www.abc.com/?loginCode=1234,然后把这个网址生成二维码展示。
用户使用微信扫码后会自动打开小程序对应页面,并将二维码对应网址通过参数q带给页面,在onLoad事件中提取q参数并提取出其中的登录码,提交到后端接口,后端接口查询该登录码绑定的用户返回后在小程序端完成登录。网页端在展示二维码后,开启一个轮询,定时访问后端接口查询该登录码的登录状态,