国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue2移動端使用vue-qrcode-reader實現(xiàn)掃一掃功能

這篇具有很好參考價值的文章主要介紹了vue2移動端使用vue-qrcode-reader實現(xiàn)掃一掃功能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

移動端實現(xiàn)掃一掃? ?掃碼功能

第一種:如果是用uniapp開發(fā)? 可以直接使用uni的語法 并且兼容多端

第二種:如果是開發(fā)瀏覽器的網(wǎng)頁,基于微信的話,也可以用微信的weixin-js-sdk

? ? ? ? 具體流程參考官網(wǎng):概述 | 微信開放文檔

第三種:用第三方vue-qrcode-reader實現(xiàn)掃一掃功能,

? ? ? ? 詳細流程參考官網(wǎng):Simple | Vue Qrcode Reader

以下內(nèi)容為用vue-qrcode-reader實現(xiàn)掃一掃功能步驟

1.下載vue-qrcode-reader依賴

//? ?npm 下載

npm install --save vue-qecode-reader

//? ?cnpm 下載

cnpm install --save vue-qrcode-reader

?2.此次流程是在A頁面添加掃一掃button,然后點擊跳轉(zhuǎn)到B頁面,然后掃一掃寫在B頁面,進入B頁面初始化,然后同意使用相機,在掃描到二維碼后攜帶掃到的內(nèi)容跳轉(zhuǎn)到A頁面

代碼如下

<template>
    <div class="saoma">
        <qrcode-stream  @decode="onDecode" @init="onInit" style="height: 100vh;width:100vw">
            <div>
                <div class="qr-scanner">
                <div class="box">
                    <div class="line"></div>
                    <div class="angle"></div>
                </div>
                </div>
            </div>
        </qrcode-stream>
    </div>
</template>

<script>
    import {
        QrcodeStream
    } from 'vue-qrcode-reader';
    export default {
        components: {
            QrcodeStream
        },
        data() {
            return {
                result: '', // 掃碼結(jié)果信息
                error: '' // 錯誤信息
            }
        },
        methods: {
            onDecode(result) {
                if(result){
                    this.$router.push({
                        path:'/',
                        query: {
                            code:result,
                        }
                    })
                }
            },
            async onInit(promise) {
                try {
                    await promise
                } catch (error) {
                    if (error.name === 'NotAllowedError') {
                        window.alert('您需要授予相機訪問權限')
                        this.$router.push({path:'/'})
                    } else if (error.name === 'NotFoundError') {
                        this.$router.push({path:'/'})
                        window.alert('這個設備上沒有攝像頭')
                    } else if (error.name === 'NotSupportedError') {
                        this.$router.push({path:'/'})
                        window.alert('所需的安全上下文(HTTPS、本地主機)')
                    } else if (error.name === 'NotReadableError') {
                        this.$router.push({path:'/'})
                        window.alert('相機被占用')
                    } else if (error.name === 'OverconstrainedError') {
                        this.$router.push({path:'/'})
                        window.alert('安裝攝像頭不合適')
                    } else if (error.name === 'StreamApiNotSupportedError') {
                        this.$router.push({path:'/'})
                        window.alert('此瀏覽器不支持流API')
                    }
                }
            },
        }
    }
</script>

<style scoped>
    .saoma {
        width: 100vw;
        height: 100vh;
    }
    
    .qr-scanner {
    background-image:
        linear-gradient(0deg,
            transparent 24%,
            rgba(32, 255, 77, 0.1) 25%,
            rgba(32, 255, 77, 0.1) 26%,
            transparent 27%,
            transparent 74%,
            rgba(32, 255, 77, 0.1) 75%,
            rgba(32, 255, 77, 0.1) 76%,
            transparent 77%,
            transparent),
        linear-gradient(90deg,
            transparent 24%,
            rgba(32, 255, 77, 0.1) 25%,
            rgba(32, 255, 77, 0.1) 26%,
            transparent 27%,
            transparent 74%,
            rgba(32, 255, 77, 0.1) 75%,
            rgba(32, 255, 77, 0.1) 76%,
            transparent 77%,
            transparent);
        background-size: 3rem 3rem;
        background-position: -1rem -1rem;
        width: 100%;
        /* height: 100%; */
        height: 100vh;
        position: relative;
        background-color: #1110;
      /* background-color: #111; */
    }
    .qr-scanner .box {
        width: 213px;
        height: 213px;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        overflow: hidden;
        border: 0.1rem solid rgba(0, 255, 51, 0.2);
        /* background: url('http://resource.beige.world/imgs/gongconghao.png') no-repeat center center; */
    }
    .qr-scanner .line {
        height: calc(100% - 2px);
        width: 100%;
        background: linear-gradient(180deg, rgba(0, 255, 51, 0) 43%, #00ff33 211%);
        border-bottom: 3px solid #00ff33;
        transform: translateY(-100%);
        animation: radar-beam 2s infinite alternate;
        animation-timing-function: cubic-bezier(0.53, 0, 0.43, 0.99);
        animation-delay: 1.4s;
    }
    .qr-scanner .box:after,
    .qr-scanner .box:before,
    .qr-scanner .angle:after,
    .qr-scanner .angle:before {
        content: '';
        display: block;
        position: absolute;
        width: 3vw;
        height: 3vw;
        border: 0.2rem solid transparent;
    }
    .qr-scanner .box:after,
    .qr-scanner .box:before {
        top: 0;
        border-top-color: #00ff33;
    }
    .qr-scanner .angle:after,
    .qr-scanner .angle:before {
        bottom: 0;
        border-bottom-color: #00ff33;
    }
    .qr-scanner .box:before,
    .qr-scanner .angle:before {
        left: 0;
        border-left-color: #00ff33;
    }
    .qr-scanner .box:after,
    .qr-scanner .angle:after {
        right: 0;
        border-right-color: #00ff33;
    }
    @keyframes radar-beam {
        0% {
            transform: translateY(-100%);
        }
        100% {
            transform: translateY(0);
        }
    }
</style>

以上內(nèi)容即為使用vue-qrcode-reader實現(xiàn)掃一掃功能的流程

可以直接復制粘貼使用哦

如果此文章對您有用,請留下您寶貴的一鍵三連,給作者一點鼓勵文章來源地址http://www.zghlxwxcb.cn/news/detail-469991.html

到了這里,關于vue2移動端使用vue-qrcode-reader實現(xiàn)掃一掃功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【項目復盤Vue2-移動端】IOS使用Vant表單組件輸入框獲取焦點后放大頁面,安卓軟鍵盤遮擋問題

    【項目復盤Vue2-移動端】IOS使用Vant表單組件輸入框獲取焦點后放大頁面,安卓軟鍵盤遮擋問題

    使用Vue+Vant做的移動端項目,在登錄界面使用Vant的表單組件van-input時發(fā)現(xiàn)在真機測試IOS會出現(xiàn)獲取焦點輸入時會撐大原頁面的寬度,每一個輸入框獲取到焦點就會頁面就會放大一點點,需要雙指縮放才能回到原來的比例。 經(jīng)過一番百度后發(fā)現(xiàn): 在移動端開發(fā)項目中,發(fā)現(xiàn)頁

    2024年02月12日
    瀏覽(35)
  • Vue中使用qrcode說明

    Vue中使用qrcode說明

    npm i qrcode@1.5.3 import QRCode from \\\'qrcode\\\' 說明:拿到服務器傳來的字符串,轉(zhuǎn)換成base64,然后通過img標簽展示。 ? ? 總結(jié):? ?

    2024年02月13日
    瀏覽(31)
  • vue2和vue3拖拽移動div

    直接上代碼,代碼可以直接運行, vue2拖拽移動div: vue3拖拽移動div: 設置div居中后,發(fā)現(xiàn)一開始拖拽時,div會跑到最左邊,vue3優(yōu)化代碼如下:

    2024年02月07日
    瀏覽(22)
  • 【vue2】使用vue常見的業(yè)務流程與實現(xiàn)思路

    【vue2】使用vue常見的業(yè)務流程與實現(xiàn)思路

    ???博???????主: 初映CY的前說(前端領域) ??個人信條: 想要變成得到,中間還有做到! ?? 本文核心 :vue的業(yè)務處理思路。前臺數(shù)據(jù)渲染與后臺的增刪改查操作 【前言】 當大家會點開這一篇文章,大家可能會對vue全家桶與vue基礎知識有了一個整體的認識。比如我要實

    2024年02月03日
    瀏覽(28)
  • Vue2 實現(xiàn)購物車功能(可直接使用)

    Vue2 實現(xiàn)購物車功能(可直接使用)

    vue2.0實例簡單購物車 頁面展示效果如下:? 該購物車實現(xiàn)了自動計算小計、總價。 代碼實現(xiàn) js代碼 歡迎大家有問題指出

    2024年02月12日
    瀏覽(18)
  • 【Vue】Vue2創(chuàng)建移動端項目實戰(zhàn)教程,創(chuàng)建移動端項目保姆級教程,設置axios,utils工具包,vue.fonfig.js配置項 (下)

    【Vue】Vue2創(chuàng)建移動端項目實戰(zhàn)教程,創(chuàng)建移動端項目保姆級教程,設置axios,utils工具包,vue.fonfig.js配置項 (下)

    這里是創(chuàng)建移動端項目 【Vue】Vue2.x創(chuàng)建項目全程講解,保姆級教程,手把手教,Vue2怎么創(chuàng)建項目(上) 【Vue】Vue2創(chuàng)建移動端項目實戰(zhàn)教程,創(chuàng)建移動端項目保姆級教程,接上一篇創(chuàng)建Vue2項目(中) 【Vue】Vue2創(chuàng)建移動端項目實戰(zhàn)教程,創(chuàng)建移動端項目保姆級教程,設置ax

    2024年02月13日
    瀏覽(25)
  • 【Vue3/Vue2】判斷設備是移動端還是pc端跳轉(zhuǎn)不同路由router

    【Vue3/Vue2】判斷設備是移動端還是pc端跳轉(zhuǎn)不同路由router

    ? ? ? APP文件中寫入js代碼 1、首先,通過 isMobile() 函數(shù)判斷用戶的設備類型。該函數(shù)使用正則表達式匹配 navigator.userAgent 字符串,以確定用戶是在移動設備上訪問網(wǎng)頁還是在桌面設備上訪問網(wǎng)頁 2、然后,在 onMounted() 鉤子函數(shù)中,根據(jù)當前的路由路徑來判斷是否需要進行重定

    2024年01月16日
    瀏覽(43)
  • 微前端qiankun架構(gòu) (基于vue2實現(xiàn))使用教程

    微前端qiankun架構(gòu) (基于vue2實現(xiàn))使用教程

    node -- 16+ @vue/cli -- 5+ 創(chuàng)建文件夾qiankun-test。 使用vue腳手架創(chuàng)建主應用main和子應用dev ? 安裝 qiankun: 使用qiankun: 在 utils 內(nèi)創(chuàng)建 微應用文件夾 microApp,在該文件夾內(nèi)創(chuàng)建微應用出口文件 index.js,路由文件 microAppRouter,配置函數(shù)文件 microAppSetting。 路由文件 microAppRouter 配置函數(shù)文件

    2023年04月19日
    瀏覽(26)
  • VUE2+THREE.JS 按照行動軌跡移動人物模型并相機視角跟隨人物

    VUE2+THREE.JS 按照行動軌跡移動人物模型并相機視角跟隨人物

    人物按照上一篇博客所設定的關鍵點位置,勻速移動 全局定義的參數(shù):

    2024年02月20日
    瀏覽(83)
  • vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

    vue2/3項目中使用Vue Carousel 3D實現(xiàn) Carousel 3D 輪播

    項目需求大概是這個樣子,這種并不能通過圍成一周再旋轉(zhuǎn)父級實現(xiàn),因此圖方便選擇了組件 輪播 ? ?vue2,可以直接使用?Playground - Vue Carousel 3D - 3D Carousel for Vue.js ?進行改造成自己需要的樣子。文檔為英文,中文可參考這位 Vue 3D輪播插件vue-carousel-3d_memory_zzz的博客-CSDN博客

    2024年02月08日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包