华视 CVR-100UC 身份证读取 html二次开发模板

python读卡:python读卡

最近小唐应要求要开发一个前端的身份证读卡界面,结果华视CVR-100UC 的读取界面是在是有点,而且怎么调试连官方最基本的启动程序都执行不了。CertReader.ocx 已成功,后面在问询一系列前辈之后,大概知道可能是ActiveX组件禁用的问题,各种禁用【哭死】。后来去找到了一个比较远古的CVR-100UC读卡,是基于后端服务器的,exe双击运行即可

cpp 复制代码
资源:
链接:https://pan.baidu.com/s/1FtC12sv6g45lFMKI4SZMbQ?pwd=6boq 
提取码:6boq
#读卡
http://localhost:19196/readCard
#关闭连接
http://localhost:19196/CloseDevice
#打开连接
http://localhost:19196/openDevice

目录结构

代码如下

html

cpp 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <button id="lj">连接设备</button>
  <button id="read">读取信息</button>
  <button id="close">断开连接</button>
  <div>
    <img id="tx" src="" alt="身份证照片">
    <div id="data"></div>
    <script src="./js/dy.js"></script>
  </div>
</body>
</html>

js

cpp 复制代码
document.getElementById('lj').addEventListener('click', function() {
    const xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
      if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
        const data = JSON.parse(xhr.responseText);
        document.getElementById('data').innerHTML = JSON.stringify(data);
      }
    };
    xhr.open('GET', 'http://localhost:19196/openDevice');
    xhr.send();
  });
  document.getElementById('read').addEventListener('click', function() {
    const xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
      if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
        const data = JSON.parse(xhr.responseText);
        const imageBase64 = 'data:image/jpeg;base64,' + data.identityPic;
        document.getElementById('tx').src = imageBase64;
        document.getElementById('data').innerHTML = JSON.stringify(data);
      }
    };
    xhr.open('GET', 'http://localhost:19196/readCard');
    xhr.send();
  });
  document.getElementById('close').addEventListener('click', function() {
    const xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
      if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
        const data = JSON.parse(xhr.responseText);
        document.getElementById('data').innerHTML = JSON.stringify(data);
      }
    };
    xhr.open('GET', 'http://localhost:19196/CloseDevice');
    xhr.send();
  });
  

测试结果


相关推荐
KO想偷懒7 小时前
第七章 利用CSS和多媒体美化页面习题
前端·css·html·html5
前端Hardy9 小时前
HTML&CSS: 日落卡片
前端·javascript·css·html·css3
IT女孩儿10 小时前
HTML查缺补漏
前端·html
花开花落与云卷云舒11 小时前
新手 Vue 项目运行
前端·javascript·css·vue.js·前端框架·html·springboot
@动感superman11 小时前
DOM操作和事件监听综合练习 (具备三种功能的轮播图案例)
前端·javascript·css·html·html5
Java Fans11 小时前
使用 HTML、CSS 和 JavaScript 实现动态烟花效果
javascript·css·html
玖玖爱编程13 小时前
认识HTML(简介)
html
胡八一17 小时前
如何解决“无法在 ‘HTMLElement‘ 上设置 ‘innerText‘ 属性”的问题
linux·运维·vue·html
毋若成19 小时前
【前端】html的8个常用标签
前端·html
Louis@wl1 天前
导航栏小案例
前端·css·html