一 建数据表 scancode
randnumber字段存储的是一个随机码,可以用uuid
token是一个提取用户信息的字段,说白了就是user表的唯一键,如果不担心用户id外泄,用user_id也行吧。。。
表建好了,剩下的就是代码啦,不过不着急,先讲一下实现的原理
服务器产生一个随机码,用随机码生成二维码,每次刷新页面的时候生成一次,不过最好用session存起来,不然每刷新一次就生成一条数据,把app客户端传来的randnumber和token存进表里,之后就是js轮询这个表的数据,当检测到表中的randnumber跟session中的randnumber一致,并且token的值是存在的,就跳过密码验证,直接登入PC端。
代码呈上:
首先要过的一关就是yii自带的验证,[‘?’]表示任意用户,[‘@’]表示登入的用户,啥都没写的默认是谁都可以访问的。
这个一定要认真填写,不然后面各种访问限制会弄得你头大。
这一段看图就知道啦
说到yii的密码验证,就得到
跳过密码验证
还有一个控制器就是获取app传来的参数
控制器就这么多了,剩下的就是views试图层