android实现扫描网页二维码进行网页登录功能

  

先说一下实现了什么效果,应用扫描php写的页面(也可以java网页,都一样的思路和步骤),扫描成功后跳转进入主页,光和你们这么说,肯定有人说了,没图说个jb,这就出来一个问题,很多人写博客,看这标题特别符合自己的问题,然后兴致勃勃的进来了,一看,我去……尼玛全是代码,也不知道是不是我的那种问题和想要的那种效果,心里没谱啊,好了,上图:
  

  

 android实现扫描网页二维码进行网页登录功能“> <img src=

  


  

  

别纠结这页面咋这么丑,没写样式,说一下我实现的思路哈,首先在数据库中新建一个表用来存储扫码登录信息(id、用户名randomnum),这三个分别是id自增长,用户名,随机数,在点击生成二维码,生成随机数,可以用http://qr.topscan.com/api.php& # 63;文本=" +数据,可以使用这个生成二维码,当然你也可以自己写,这个操作就相当于某宝的那个二维码登录框,生成二维码之后,这个时候做了一个ajax请求操作,在刚才新建的那个表中插入数据,把生成的随机数保存到表中,这个时候用户为空,在打开应用程序进行扫码操作,应用扫描完成之后,进行网络请求,把你扫描到的二维码当成参数,做修改操作,修改用户为当前你的用户名——在网页使用每个几秒钟请求另外一个接口,根据随机数判断当前用户名是否为空,如果不为空(刚才扫码修改了用户名所以不为空)jquery操作做跳转操作,这个就是完整的流程。

  

说的简单的就是,生成二维码的时候只存入随机数(或者你自定义的随便信息),使应用程序用扫码之后根据随机数把用户名存进的去,网页每隔5 s请求另外一个接口时,如果用户名不为空好了跳转操作。大体就是这样的,有可能大神的实现也不是这样的,我就是把我理解的说出来,如果你们有另外的实现方法也可以在下边评论告诉我,共同学习、下面贴代码了。

  

部分php(新手可能不太规范,勿喷)登录。php代码:
  

        else if ($ _REQUEST['行动']!=",,$ _REQUEST['行动']==codeCreate) {//用户名是否为空——→表示网页第一次点击新建生成//网页生成二维码操作,同时添加数据到表中   如果($ _REQUEST['用户名']!=){//不为空的时候表示修改   $ userName=$ _REQUEST['用户名');   美元randomNum=$ _REQUEST [' randomNum '];   回声“扫码成功”;   $ sql=案耈serCodeLogin设置用户名=' $ username ' randomnum=randomnum美元”;//mysqli_query(康涅狄格州,sql美元);//插入成功   其他}{//为空的时候表示是新建二维码//生成随机数   美元randomNum=" ";   ($ i=0;美元我& lt;5;$我+ +){   randomNum美元。=兰德(0,9);   }   echo $ randomNum;//显示生成的随机数   $ sql=安迦險serCodeLogin(用户名、randomnum)值(”、“randomnum美元”)”;//mysqli_query(康涅狄格州,sql美元);//插入成功   }   mysqli_query(康涅狄格州,sql美元);//插入成功      }else if ($ _REQUEST['行动']!=",,$ _REQUEST['行动']==codeSelect){//根据随机数查询表中的用户名是否为空   美元randomNum=$ _REQUEST [' randomNum '];   如果($ randomNum==",,空(randomNum美元)){   }else if ($ randomNum !=") {   $ sql=把≡裼没覷serCodeLogin randomnum=randomnum美元”;   结果=美元mysqli_query(康涅狄格州,sql美元);//print_r(结果);   如果(mysqli_num_rows(结果)美元比;0){   而($行=mysqli_fetch_assoc(结果)美元){   用户名=美元行(“用户名”);   }   如果($ userName==",,$ userName==null) {//说明客户端还未扫码修改过   }else if($用户名!="){//客户端扫码完成//跳转页面   回声“客户端扫码成功,跳转中……”;   }   }   }      

然后是登录。html
  

        & lt; html>   & lt; head>   & lt; title>这是首页& lt;/title>   & lt;/head>   & lt;脚本type=" text/javascript " src=" https://www.yisu.com/zixun/js/jquery-1.12.3.js "祝辞& lt;/script>   & lt; body>   & lt;脚本type=" text/javascript祝辞   var类型=1;   var randomNum;      函数clickBtn () {   $ . post (“. ./login # 63;行动=codeCreate&用户名=",   函数(数据){   alert(" - - - - - -会:“+数据);   randomNum=数据;   $ (" # img”)。attr (“src”、“http://qr.topscan.com/api.php& # 63;文本=" +数据);   });   类型=2;   }   函数的时间(){   $ . post (“. ./login # 63;行动=codeSelect& randomNum=" + randomNum,   函数(数据){   如果(数据){   警报(数据);   美元(位置)。attr (“href”、“index . html”);   其他}{   }   })   }   setInterval(“时间()",4000);   & lt;/script>   & lt;按钮类型=疤峤弧眎d=癰tn”比;点击生成二维码& lt;/button>   & lt; !——src=" https://www.baidu.com/img/baidu_jgylogo3.gif "——比;   & lt; img id=癷mg”宽度=?50 px”/比;   & lt;/body>   & lt;/html>

android实现扫描网页二维码进行网页登录功能