国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

android實(shí)現(xiàn)掃描網(wǎng)頁(yè)二維碼進(jìn)行網(wǎng)頁(yè)登錄功能

2019-12-12 01:32:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

先說(shuō)一下實(shí)現(xiàn)了什么效果,app掃描php寫的頁(yè)面(也可以java網(wǎng)頁(yè),都一樣的思路和步驟),掃描成功后跳轉(zhuǎn)進(jìn)入主頁(yè),光和你們這么說(shuō),肯定有人說(shuō)了,沒(méi)圖說(shuō)個(gè)jb,這就出來(lái)一個(gè)問(wèn)題,很多人寫博客,看這標(biāo)題特別符合自己的問(wèn)題,然后興致勃勃的進(jìn)來(lái)了,一看,我去...尼瑪全是代碼,也不知道是不是我的那種問(wèn)題和想要的那種效果,心里沒(méi)譜啊,好了,上圖:


別糾結(jié)這頁(yè)面咋這么丑,沒(méi)寫樣式,說(shuō)一下我實(shí)現(xiàn)的思路哈,首先在數(shù)據(jù)庫(kù)中新建一個(gè)表用來(lái)存儲(chǔ)掃碼登錄信息(id,username,randomnum),這三個(gè)分別是id自增長(zhǎng),用戶名,隨機(jī)數(shù)――>點(diǎn)擊生成二維碼,生成隨機(jī)數(shù),可以用

說(shuō)的簡(jiǎn)單的就是,生成二維碼的時(shí)候只存入隨機(jī)數(shù)(或者你自定義的隨便信息),使用app掃碼之后根據(jù)隨機(jī)數(shù)把用戶名存進(jìn)去,網(wǎng)頁(yè)每隔5s請(qǐng)求另外一個(gè)接口時(shí),如果username不為空好了跳轉(zhuǎn)操作。大體就是這樣的,有可能大神的實(shí)現(xiàn)也不是這樣的,我就是把我理解的說(shuō)出來(lái),如果你們有另外的實(shí)現(xiàn)方法也可以在下邊評(píng)論告訴我,共同學(xué)習(xí),下面貼代碼了。

部分php(新手可能不太規(guī)范,勿噴)login.php代碼:

else if ($_REQUEST['act'] != '' && $_REQUEST['act'] == 'codeCreate') {  //if userName為空--->表示網(wǎng)頁(yè)第一次點(diǎn)擊新建生成  //網(wǎng)頁(yè)生成二維碼操作,同時(shí)添加數(shù)據(jù)到表中  if ($_REQUEST['userName'] != '') {//不為空的時(shí)候表示修改    $userName = $_REQUEST['userName'];    $randomNum = $_REQUEST['randomNum'];    echo "掃碼成功";    $sql = "update UserCodeLogin set username='$userName' WHERE randomnum='$randomNum'";//    mysqli_query($conn, $sql);//插入成功  } else {//為空的時(shí)候表示是新建二維碼    //生成隨機(jī)數(shù)    $randomNum = "";    for ($i = 0; $i < 5; $i++) {      $randomNum .= rand(0, 9);    }    echo $randomNum;//顯示生成的隨機(jī)數(shù)    $sql = "insert into UserCodeLogin(username,randomnum) VALUES ('','$randomNum')";//    mysqli_query($conn, $sql);//插入成功  }  mysqli_query($conn, $sql);//插入成功} else if ($_REQUEST['act'] != '' && $_REQUEST['act'] == 'codeSelect') {//根據(jù)隨機(jī)數(shù)查詢表中的username是否為空  $randomNum = $_REQUEST['randomNum'];  if ($randomNum == '' && empty($randomNum)) {  } else if ($randomNum != '') {    $sql = "select username from UserCodeLogin where randomnum='$randomNum'";    $result = mysqli_query($conn, $sql);//    print_r($result);    if (mysqli_num_rows($result) > 0) {      while ($row = mysqli_fetch_assoc($result)) {        $userName = $row['username'];      }      if ($userName == '' && $userName == null) {        //說(shuō)明客戶端還未掃碼修改過(guò)      } else if ($userName != '') {        //客戶端掃碼完成        //跳轉(zhuǎn)頁(yè)面        echo "客戶端掃碼成功,跳轉(zhuǎn)中...";      }    }  }

然后是login.html

上邊就是服務(wù)端的部分代碼,放心有源碼,下邊寫完一起給

下面開(kāi)始android了關(guān)于android的掃碼第三方開(kāi)源的有挺多的,這里使用的是Zing,他可以實(shí)現(xiàn)的挺多的二維碼,條形碼,生成二維碼。。。

建類庫(kù),導(dǎo)jar包,掉用,你們可以直接拿過(guò)這個(gè)類庫(kù)去,然后自己改需要的樣式。

這個(gè)圖是目錄結(jié)構(gòu)

主要的就是mainActivity.java里邊的調(diào)用了

掃碼成功之后的回掉:

volleyScanCodeLogin()方法:

上邊那些就是主要的工程代碼,然后源碼我打包放到百度云盤中,鏈接:https://pan.baidu.com/s/1slsQM2D 密碼:gdyp

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 侯马市| 建始县| 千阳县| 共和县| 长春市| 望都县| 区。| 离岛区| 当雄县| 东城区| 承德县| 双鸭山市| 喀喇| 阜新市| 克拉玛依市| 广昌县| 阿克苏市| 沁源县| 汽车| 夏邑县| 台东市| 醴陵市| 广西| 额尔古纳市| 通州区| 正蓝旗| 抚顺市| 鲜城| 丹棱县| 华宁县| 津市市| 满城县| 图木舒克市| 吴堡县| 高唐县| 宣汉县| 郁南县| 马尔康县| 宣化县| 肃北| 青海省|