<template>
  <div id="app" ref="app">
    <object  ref="CertCtl" classid="clsid:F48AE9BC-809E-423c-81E8-FE27F1C1A981"
        id="CertCtl" name="CVR_IDCard" width="0" height="0" >
    </object>
    <h1>身份证阅读器usb接入测试页面</h1>
    <button @click="connect">打开设备</button>
    <button @click="readCert">采集身份证UID号</button>
    <button @click="disconnect">关闭设备</button>
    <div id="box">
        <p>串口波特率</p>
            <select id="SelectBaudrate" ref="SelectBaudrate">
            <!-- <option value ="115200">115200</option> -->
            <option value ="9600">9600</option>
            </select>
    </div>
    <div id="box">
        <p>证件</p>
        <form id="formId" method="post" >
            <input type="text" id="certUID" size="49" style="width:400px;" ref="certUID">
            <button type="button"  id="sendMessage" @click="sendMessage">保存身份证UID号</button>
        </form>
    </div>
    <div id="box" style="display:none;">
        <p>结果</p>
        <textarea id="result" ref="result" rows="8" cols="47" style="width:400px;" readonly="readonly"></textarea>
    </div>

</div>
</template>

<script>
export default{
  name: 'UidCard',
  // el: '#app',
  // data() {
  //   return {}
  // },
  methods: {
    // 方法函数
    toJson(str) {
      var obj = JSON.parse(str)
        return obj
    },
    // 清空身份证uid框框
    clearForm() {
      // console.log()
      this.$refs.certUID.value = ''
    },
    connect() { // 连接设备
      console.log('我连接了')
      this.clearForm()// 清空uid框
      var CertCtl = this.$refs.CertCtl // 获取CertCtl控件
      try {
        var nBaudrate = this.$refs.SelectBaudrate.value
        var result = CertCtl.connectDevice(nBaudrate)
        this.$refs.result.value = result // textarea框的值
      } catch (e) {
        alert(e)
      }
    },
    readCert() {
      console.log('读身份证uid号')
      var CertCtl = this.$refs.CertCtl // 获取CertCtl控件
      var result = CertCtl.GetCardUid()// 获取控件方法
      this.$refs.result.value = result // textarea框的值
      var resultObj = this.toJson(result)
      // Console.log('.............resultObj',resultObj)
      if (resultObj.resultFlag == 0) {
        this.$refs.certUID.value = resultObj.cardUid
      }
      try {
      } catch (e) {
        alert(e)
      }
    },
    disconnect() {
      console.log('断开连接')
      this.clearForm()// 断开清空
      var CertCtl = this.$refs.CertCtl // 获取CertCtl控件
      try {
        var result = CertCtl.disconnect()
        this.$refs.result.value = result
      } catch (e) {
        alert(e)
      }
    },

    sendMessage() {
      console.log('保存身份证uid号')
      if (this.$refs.certUID.value !== '') {
        this.$emit('closeModule', this.$refs.certUID.value)
      }
    }
    // sendMessage() {
    //   // var certUidValue=this.$refs.certUID.value//身份证uid号
    //   console.log('....this.$refs.certUID.value', this.$refs.certUID.value)
    // }
  },
  mounted() {
    this.$nextTick(
      function() {
        console.log('............uid', this.$refs.certUID.value)
        console.log('获取CertCtl', this.$refs.CertCtl.classid)
      }
    )
  }

}
</script>

使用的时候,把单文件组件当做子组件在父组件引用,通过子组件将获取的值传给父组件

华视身份证读卡器获取uid号vue单文件组件版本的更多相关文章

  1. webpack入坑之旅(五)加载vue单文件组件

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  2. Vue单文件组件

    前面的话 本文将详细介绍Vue单文件组件 概述 在很多 Vue 项目中,使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页 ...

  3. vue 单文件组件

    在很多vue项目中,我们使用vue.component来定义全局组件,紧接着用new Vue({el:'#container'})在每个页面内指定一个容器元素 这种方式在很多中小规模的项目中运作的很好 ...

  4. webpack打包vue单文件组件

    一.vue单文件组件 ①文件扩展名为 .vue 的 就是single-file components(单文件组件) ②参考文档:单文件组件 二.webpack加载第三方包 ①项目中,如果需要用到一些第 ...

  5. ts-loader如何与vue单文件组件衔接

    .ts-loader是如何与vue单文件组件衔接作用的 https://github.com/microsoft/TypeScript-Vue-Starter https://www.npmjs.co ...

  6. 基于VSCode的vue单文件组件模板设置---一次设置,可爽终生

    第一步: 第二步: 第三步: 打开vue.json文件后,如果是初次设置,应该如下图所示,绿色注释部分不用管,注意那两个白色大括号 第四步:在大括号内全部粘贴如下代码,保存即可完成vue模板的设置 & ...

  7. vue 单文件组件最佳实践

    vue 单文件组件最佳实践 生命周期 template <template> <section> <h1>vue single file components te ...

  8. vue单文件组件的构建

    在很多Vue项目中,我们使用 Vue.component 来定义全局组件,这种方式在很多中小规模的项目中运作的很好. 但当在更复杂的项目中,就有了很大的弊端. 我们就可以用文件扩展名 .vue的单文件 ...

  9. Vue单文件组件基础模板

    背景 相信大家在使用Vue开发项目时,基本都是以单文件组件的形式开发组件的,这种方式好处多多: 1.代码集中,便于开发.管理和维护 2.可复用性高,直接将vue文件拷贝到新项目中 我暂时就想到这两点, ...

随机推荐

  1. 解压 xxxx.cpio.gz.u-boot

    xxxx.cpio.gz.u-boot 为 Ramdisk 文件. 是使用u-boot源码下 tools/mkimage 工具生成的. .u-boot = 64字节的头部信息 + Filesystem ...

  2. flask开发问题小记

    前因 最近在使用flask开发一个APP的后端时出现了一些小问题.我使用sqlalchemy建立了如下多对多关系: 中间表 user_manager_group = db.Table('manage_ ...

  3. 力扣——single number (只出现一次的数字) python实现

    题目描述: 中文: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 英 ...

  4. Centos yum的源 设置为阿里云源

    在 阿里巴巴镜像站页面,在centos 操作的帮助,有介绍 wget和curl 2种方式来下载CentOS-Base.repo 备份 mv /etc/yum.repos.d/CentOS-Base.r ...

  5. Spring讲解(三)

    依赖注入Bean属性,使用xml配置 1.构造方法注入 案例代码演示 public class User { private String username; private String passw ...

  6. Dictonary(Python)(一)

    基本用法: .keys .values .items >>> D = dict(a=1,b=2,c=3) >>> D {'a': 1, 'b': 2, 'c': 3 ...

  7. Python中的try-finally

    >>> try: ... raise KeyboardInterrupt ... finally: ... print('Goodbye, world!') ... Goodbye, ...

  8. 树莓派GPIO口驱动编写

    一.wiringpi写法 #include <wiringPi.h> #include <stdlib.h> int main(int argc,char *argv[]) { ...

  9. OC学习篇之---单例模式

    在之前的一片文章中介绍了对象的拷贝相关知识:http://blog.csdn.net/jiangwei0910410003/article/details/41926531,今天我们来看一下OC中的单 ...

  10. JDK各个版本比较

    JDK5 自动装箱与拆箱: 枚举 静态导入,如:import staticjava.lang.System.out 可变参数(Varargs) 内省(Introspector) 主要用于操作JavaB ...