gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

詳解Vue PC端如何實現掃碼登錄功能

本篇文章給大家帶來了關于Vue的相關知識,其中主要介紹了在PC端實現掃碼的原理是什么?怎么生成二維碼圖片?怎么用Vue實現前端掃碼登錄?感興趣的朋友,下面一起來看一下吧,希望對大家有幫助。

需求描述

目前大多數PC端應用都有配套的移動端APP,如微信,淘寶等,通過使用手機APP上的掃一掃功能去掃頁面二維碼圖片進行登錄,使得用戶登錄操作更方便,安全,快捷。

思路解析

PC 掃碼原理?

掃碼登錄功能涉及到網頁端、服務器和手機端,三端之間交互大致步驟如下:

  • 網頁端展示二維碼,同時不斷的向服務端發送請求詢問該二維碼的狀態;

  • 手機端掃描二維碼,讀取二維碼成功后,跳轉至確認登錄頁,若用戶確認登錄,則服務器修改二維碼狀態,并返回用戶登錄信息;

  • 網頁端收到服務器端二維碼狀態改變,則跳轉登錄后頁面;

  • 若超過一定時間用戶未操作,網頁端二維碼失效,需要重新刷新生成新的二維碼。

前端功能實現

如何生成二維碼圖片?

  • 二維碼內容是一段字符串,可以使用uuid 作為二維碼的唯一標識;
  • 使用qrcode插件 import QRCode from 'qrcode'; 把uuid變為二維碼展示給用戶

import {v4 as uuidv4} from "uuid" import QRCode from "qrcodejs2"  let timeStamp = new Date().getTime() // 生成時間戳,用于后臺校驗有效期  let uuid = uuidv4()  let content = `uid=${uid}&timeStamp=${timeStamp}`  this.$nextTick(()=> {      const qrcode = new QRCode(this.$refs.qrcode, {        text: content,        width: 180,        height: 180,        colorDark: "#333333",        colorlight: "#ffffff",        correctLevel: QRCode.correctLevel.H,        render: "canvas"      })      qrcode._el.title = ''
登錄后復制

如何控制二維碼的時效性?

使用前端計時器setInterval, 初始化有效時間effectiveTime, 倒計時失效后重新刷新二維碼

export default {   name: "qrCode",   data() {     return {       codeStatus: 1, // 1- 未掃碼 2-掃碼通過 3-過期       effectiveTime: 30, // 有效時間       qrCodeTimer: null // 有效時長計時器       uid: '',       time: ''     };   },    methods: {     // 輪詢獲取二維碼狀態     getQcodeStatus() {       if(!this.qsCodeTimer) {         this.qrCodeTimer = setInterval(()=> {           // 二維碼過期           if(this.effectiveTime <=0) {             this.codeStatus = 3             clearInterval(this.qsCodeTimer)             this.qsCodeTimer = null             return           }           this.effectiveTime--         }, 1000)       }      },         // 刷新二維碼     refreshCode() {       this.codeStatus = 1       this.effectiveTime = 30       this.qsCodeTimer = null       this.generateORCode()     }   },
登錄后復制

前端如何獲取服務器二維碼的狀態?

前端向服務端發送二維碼狀態查詢請求,通常使用輪詢的方式

  • 定時輪詢:間隔1s 或特定時段發送請求,通過調用setInterval(), clearInterval()來停止;
  • 長輪詢:前端判斷接收到的返回結果,若二維碼仍未被掃描,則會繼續發送查詢請求,直至狀態發生變化(失效或掃碼成功)
  • Websocket:前端在生成二維碼后,會與后端建立連接,一旦后端發現二維碼狀態變化,可直接通過建立的連接主動推送信息給前端。

使用長輪詢實現:

 // 獲取后臺狀態     async checkQRcodeStatus() {        const res = await checkQRcode({          uid: this.uid,          time: this.time        })        if(res && res.code == 200) {          let codeStatus - res.codeStatus          this.codeStatus =  codeStatus          let loginData = res.loginData          switch(codeStatus) {            case 3:               console.log("二維碼過期")               clearInterval(this.qsCodeTimer)               this.qsCodeTimer = null               this.effectiveTime = 0             break;             case 2:               console.log("掃碼通過")               clearInterval(this.qsCodeTimer)               this.qsCodeTimer = null               this.$emit("login", loginData)             break;             case 1:               console.log("未掃碼")               this.effectiveTime > 0  && this.checkQRcodeStatus()             break;             default:             break;          }        }      },
登錄后復制

推薦學習:《vue.js視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
国产av熟女一区二区三区| 五月婷婷六月合| 中文字幕12页| 亚洲36d大奶网| 8x8x最新地址| 亚洲视频第二页| 涩涩网站在线看| 小说区视频区图片区| 黄色小视频免费网站| 91看片在线免费观看| 国产一区二区在线免费播放| www.涩涩涩| 污污视频在线免费| 最新av在线免费观看| a级网站在线观看| 日本高清xxxx| 99热在线这里只有精品| 国产不卡一区二区视频| 国产精品后入内射日本在线观看| aa在线观看视频| 国产裸体免费无遮挡| 中文字幕12页| 免费一级淫片aaa片毛片a级| 1024精品视频| 亚洲欧美在线精品| 在线观看成人免费| 水蜜桃色314在线观看| 日韩手机在线观看视频| 污视频免费在线观看网站| 特黄特黄一级片| 成人黄色av片| 天堂在线中文在线| 欧美视频在线第一页| 国产精品宾馆在线精品酒店| 久热在线视频观看| 91九色丨porny丨国产jk| 男人天堂成人在线| 在线观看污视频| 亚欧在线免费观看| 久久精品在线免费视频| 无码人妻丰满熟妇区毛片| 91亚洲精品久久久蜜桃借种| 蜜臀av无码一区二区三区| 久久人人爽av| 成人av一级片| 日本a在线天堂| 日韩在线不卡一区| 免费无码不卡视频在线观看| 久久久国产精华液999999 | 男操女免费网站| 97免费视频观看| 五月天婷婷在线观看视频| 红桃av在线播放| 成年人视频网站免费| 中文字幕永久有效| 欧美精品第三页| 欧美人成在线观看| 最新视频 - x88av| 亚洲图色中文字幕| 免费看污污网站| 日本成人黄色网| 春日野结衣av| 欧美韩国日本在线| 男女午夜激情视频| a√天堂在线观看| 国产中文字幕视频在线观看| 成人在线国产视频| 欧美做暖暖视频| 成人免费看片'免费看| 日韩中文在线字幕| 视色,视色影院,视色影库,视色网| 尤物国产在线观看| 久久婷婷中文字幕| 午夜影院免费版| 三级在线免费观看| 欧美一区二区激情| 欧美三级一级片| 精品www久久久久奶水| 成年人在线看片| 天堂在线资源视频| 99九九精品视频| 青青草综合视频| 无码人妻少妇伦在线电影| a级黄色一级片| 久久久精品在线视频| 无码日韩人妻精品久久蜜桃| 在线免费观看av的网站| 国产乱叫456| 糖心vlog在线免费观看| 国产精品久久..4399| 日韩在线xxx| 亚洲三级在线观看视频| 免费的av在线| 哪个网站能看毛片| 在线观看免费黄色片| 女人帮男人橹视频播放| 国产1区2区在线| 亚洲一区二区三区四区精品| 久久久久久久9| 天天干天天爽天天射| 菠萝蜜视频在线观看入口| 久草精品在线播放| 青青草影院在线观看| 日韩欧美xxxx| 妺妺窝人体色www看人体| 久久久久久久激情| 亚洲国产精品女人| 亚洲第一中文av| 亚洲精品久久久久久久蜜桃臀| 亚洲成熟丰满熟妇高潮xxxxx| 中文字幕一区二区三区四区五区人| 777精品久无码人妻蜜桃| 成人日韩在线视频| 日韩av资源在线| 800av在线免费观看| 国产美女18xxxx免费视频| 激情伊人五月天| 超级碰在线观看| 中文av字幕在线观看| 黄色免费网址大全| 成 年 人 黄 色 大 片大 全| 欧美xxxxxbbbbb| 色天使在线观看| 国产嫩草在线观看| 日韩精品一区中文字幕| 六月婷婷在线视频| 996这里只有精品| 丰满人妻一区二区三区53号| 亚洲网中文字幕| 欧美在线a视频| 天天影视色综合| 视频免费1区二区三区| 香蕉视频禁止18| 日韩av片网站| 亚洲77777| 欧美日韩精品区别| 日本中文字幕影院| 在线视频日韩欧美| 国产一区一区三区| 中文精品无码中文字幕无码专区 | 毛片毛片毛片毛片毛| 91香蕉国产线在线观看| 日韩欧美亚洲另类| 特级西西444www| 在线观看污视频| 国产精品又粗又长| 黄色一级大片在线观看| 最新中文字幕免费视频| 三级性生活视频| 国产卡一卡二在线| 成人在线观看你懂的| 日韩精品一区二区三区不卡| 黄色在线视频网| 国产在线观看中文字幕| 精品91一区二区三区| 丰满少妇久久久| 999在线免费视频| 亚洲午夜激情影院| 亚洲国产精品无码观看久久| 97av视频在线观看| 午夜视频在线网站| 日韩黄色片在线| 久久黄色免费看| 天堂v在线视频| 免费毛片小视频| 超碰91在线播放| 无码精品a∨在线观看中文| 色免费在线视频| 91动漫在线看| 五月花丁香婷婷| 国产中文字幕在线免费观看| 久久黄色片网站| 欧美一级视频免费看| 99热这里只有精品在线播放| 免费高清一区二区三区| xx欧美撒尿嘘撒尿xx| 99色这里只有精品| 1314成人网| 一区二区xxx| 日本a在线免费观看| 懂色av一区二区三区四区五区| 精品国产一区三区| 四虎精品欧美一区二区免费| 欧美日韩第二页| 欧美啪啪免费视频| 欧美无砖专区免费| 永久免费黄色片| 久久久久久久高清| 国产精品久久a| 久久人妻精品白浆国产| 国产精品专区在线| 999一区二区三区| 国产亚洲精品久久久久久久| 亚洲综合伊人久久| 色一情一区二区三区| 福利在线一区二区三区| 国产男女无遮挡| 国产一区亚洲二区三区| 99精品视频在线看| 99精品免费在线观看|