如何实现扫码功能?

之前讲过前端生成二维码,那H5 APP如何实现扫码功能;

扫码功能的实现

(一)、使用H5 API barcode实现扫码功能
# 模板
    <template>
        <div>
            <div class="scan">
                <div id="bcid"></div>
                <footer>
                    <button v-if="Start" @click="startRecognize">扫 码 加 油</button>
                </footer>
            </div>
        </div>
    </template>

    <script>
        // 扫描对象
        var scan = null;
        data(){
            return {
                Begin:true
            }
        },
        methods:{
            startRecognize(){
                const that = this;
                this.Begin = false;
                if(!window.plus) return;
                scan = new plus.barcode.Barcode('bcid');
                // 开始扫描
                scan.start();
                // 扫码成功之后的回调函数 type是类型 result 结果
                scan.onmarked = function(type,result){
                    const text = '';
                    switch(type){
                        case plus.barcode.QR:
                            type = 'QR';
                            break;
                        case plus.barcode.EAN13:
                            type = "EAN13";
                            break;
                        case plus.barcode.EAN8:
                            type = "EAN8";
                            break;
                        default:
                            type = "其它" + type;
                            break;
                    }
                    result = result.replace(/\n/g,"");
                    const id = result.match(/\d+/)[0];
                    const Token = localStorage.getItem('token');
                    that.$router.push({
                        name:'OrderDetail',
                        params: {
                            id:id,
                            token:token
                        }
                    });
                    scan.close();
                }
            },
            // 关闭扫码识别控件
            closeScan(){
                if(!window.plus) return;
                scan.close();
                this.$router.push('./qrcode');
            }
        }
    </script>

    <style lang="less" scoped>
    .scan {
        height: 96vh;
        background-color: #EFEFEF;

        #bcid {
            width: 100vw;
            height: 96vh;
            text-align: center;
            color: #fff;
        }

        footer {
            width: 100%;
            height: 8rem;
            line-height: 2rem;
            font-size: 14px;
            position: absolute;
            left: 0;
            bottom: 10rem;
            z-index: 999;

            button {
                width: 8rem;
                height: 8rem;
                border: 4px solid #1f4ba5;
                border-radius: 50%;
                font-size: 16px;
                font-family: PingFangSC-Medium;
                background-color: #fff;
            }
    }
}

    </style>

原文地址:https://www.cnblogs.com/judeyq/p/12124818.html

时间: 2024-09-29 00:37:47

如何实现扫码功能?的相关文章

微信扫一扫的扫码功能是本地实现还是联网实现的?

微信扫一扫的扫码功能很弱,速度慢,经常有二维码识别不了.Dynamsoft的同事怀疑微信的扫码不是在本地完成的,而是把数据传输到了server端来解码.如何才能得到答案? 微信扫一扫网速检测 为什么会有人怀疑微信的扫码是需要连接server的,原因在于在断网的情况下,微信扫描是不可用的.那么在联网的情况下怎么可以知道数据传输了没有?我在手机上打开状态栏网速显示. 数值很小,不可能有图像数据传输.扫码应该是本地完成的.再进一步验证下. 窥探微信安装包 手机应用的安装包其实就是一个压缩包,用7zip

Android平台,利用zxing库开发扫码功能

Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平台上应用比较成熟,而在Android平台上主流还是用zxing库,因此这里主要讲述如何利用zxing进行二维码开发. 1.如何将zxing的Android源码导入工程. 在导入zxing的android源码之前,先去官方下载zxing的源码:http://code.google.com/p/zxin

iOS实现一个简单的扫码功能

用到的是AVFoundation 需要用到Capture,Input,Output,Session,previewLayer相关类 #import "ScanQRCodeController.h" #import <AVFoundation/AVFoundation.h> #define WIDTH [UIScreen mainScreen].bounds.size.width #define HEIGHT [UIScreen mainScreen].bounds.size

配置微信api调扫码功能

var url = encodeURIComponent(location.href.split('#')[0]); $.get(iapi+'/htweb/wx/getJsSdkSign?url='+url,function(data){ var data = JSON.parse(data); data = data["reason"]; wx.config({ debug:false, appId:data.appId, nonceStr: data.nonceStr, signa

(转)微信扫码登录网页实现原理

扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用“扫一扫”功能扫描网页上的二维码 手机扫描成功后,提示“登录网页版微信”:网页上显示“成功扫描 请在手机点击确认以登录” 手机端点击“登录网页版微信”,网页跳转到用户的微信操作界面 整个扫码登录的操作过程还是挺简单的,而且交互地实时性比较好,如果网络不是非常阻塞,整个过程还是非常快的. 扫码登录原理 扫码登录大概的思路是:微信手机客户端从网页二维码里面得到一些信息,然后发送给网页微信的服务

四川景区引入二维码售检票系统,扫码入园特欢迎

近日,四川一智慧景区颠覆了传统的售票模式,通过利用闸机的扫描窗口直接扫手机电子二维码门票这种便捷.炫酷的入园方式受到了广泛游客的欢迎.这一智能化应用的投入使用,有效的解决了暑假高峰期大量游客排队购票的困扰,同时提升了景区的服务质量. "景区引进了二维码电子票务系统与智能闸机完美结合,对接上微信公众号构建电子票务分销平台,从而实现"互联网+智慧景区",在门禁设备方面,智能闸机内嵌有二维码扫描器,融合了条码识别技术和移动物联网科技手段,整合"扫码检票"的功能与

iOS开发——iOS7(及以后版本) SDK自带二维码(含条形码)扫码、二维码生成

本文转载至 http://www.cnblogs.com/leotangcn/p/4357907.html 现在很多APP都涉及了二维码扫码功能,这个功能简单实用,很多情况下用户乐于使用,现在本文带来iOS7自带二维码扫码的教程,也包括扫条形码,足以满足简单的扫码要求,而且避免使用第三方的繁琐. 后期项目中需要生成二维码,我在git上找到一个很方便使用的轻量级开源库,推荐给有需要的朋友:https://github.com/moqod/ios-qr-code-encoder 下面介绍如何使用iO

JS实现App扫码网页端登录

最近做了一个扫码登录的功能,简单说明一下思路: 网页端生成一个二维码,二维码内容是一串随机乱码 然后拿app里的扫码功能去扫,读取到乱码后,和app当前用户的uid绑定在一起提交给服务器 网页端在生成二维码的30秒内,不停地拿着乱码给服务器发请求,看有没有对应的uid,没有的话30秒过后就跳转,有的话就拿到uid跳转到用户界面,并删除掉此次生成的对应关系 几个关键的点 画二维码用的是js的qrcode库,很容易 然后用setInterval和setTimeout定时向服务器发送ajax请求 就行

LV4500L二维码模块助阵高速公路远距离收费:扫码通关应用

LV4500L二维扫描模块是一款集远距.高性能.大范围广角扫码等优点的优质二维码扫描器,它设计的初衷就是考虑到解决一些远距离扫码的需求,如智能交通领域上停车场/高速公路远距离扫码缴费使用.据调研发现,如今很多O2O自助设备都需要支持自感应"二维码扫码"功能,但支持远距离读码的少之甚少,此情此景下专为远距扫码而生的LV4500L就解决了很多行业的需求.据了解,LV4500L二维码扫描模块常被集成内嵌到停车场自助缴费机.高速公路扫码缴费设备等用于读取手机屏幕上的支付码信息.它采用自主研发的