分享一个身份证阅读器安卓Web网页读取的例子,和windows可以通用前端代码

您所在的位置:网站首页 安卓身份证获取器 分享一个身份证阅读器安卓Web网页读取的例子,和windows可以通用前端代码

分享一个身份证阅读器安卓Web网页读取的例子,和windows可以通用前端代码

2024-07-18 05:13:05| 来源: 网络整理| 查看: 265

我们都知道Windows网页调用身份证阅读器硬件的话是没法直接调用阅读器的DLL文件的,得通过OCX或者Websoket方式才能实现调用。

安卓下面如何使用网页调用身份证读卡器进行读卡呢?

安卓一般是使用原生态app开发多,可以直接调用libdonsee.so这种读卡器库文件进行相关读写操作,网页的话可以参考Windows,也是以控件形式来实现。

首先安装读卡器的App,启动界面后如下图所示:

点击开启服务,然后最小化服务app即可

然后就是打开安卓的web测试页面了,如图所示即可进行读身份证操作

 

下面是CSDN驱动下载链接: 

 身份证读卡器安卓网页驱动下载链接

安卓身份证阅读机具网页开发包读卡驱动,支持Web系统和Uniapp等二次开发对接。支持H5、Vue、React、Node.js、jQuery、Electron、Uniapp、JSP、PHP、ASP、ASPX、JS、HTML等开发语言。

安卓网页前端调用也比较简单,采用纯js代码

//======================================================================== // **无缝支持新版本谷歌Chrome火狐Firefox网页浏览器,支持H5、Vue、React、Node.js、jQuery、Electron、Uniapp、JSP、PHP、ASP、ASPX、JS、HTML等开发语言 // ======================================================================= var socket; function openReader() { var host = "xxxxxxxx"; //客户端电脑本地IP,非服务器IP,无需修改 if(socket == null){ socket = new WebSocket(host); }else{ resultMsg("已初始化."); } try { socket.onopen = function () { resultMsg("初始化成功."); //可以注释 getVersion(); //可以注释:控件版本号 //readSAMID(); //可以注释:读卡器芯片号,全球唯一,通常可用来授权管理,只支持EST-100GS,不支持其他型号 //autoReadIDCard(); //自动读卡可以放这里,自动读卡放身份证的间隔要>300ms,否则会不读卡 }; socket.onclose = function () { resultMsg("读卡服务已经断开."); }; socket.onerror = function(){ resultMsg("请检查控件是否正常安装,下载地址:..."); }; socket.onmessage = function (msg) { if (typeof msg.data == "string") { var msgM=msg.data+""; var msgJson = JSON.parse(msgM); //resultMsg(msgM); switch(msgJson.fun) { case "EST_GetVersion#": resultMsg("版本号:"+msgJson.errMsg); break; case "EST_Reader_ReadIDCard#": if (msgJson.rCode == "0") { document.getElementById("text_name").value = msgJson.name; //姓名 document.getElementById("text_sex").value = msgJson.sex; //性别 document.getElementById("text_nation").value = msgJson.nation; //民族 document.getElementById("text_birthday").value = msgJson.birth; //出生日期 document.getElementById("text_address").value = msgJson.address; //住址 document.getElementById("text_idNum").value = msgJson.certNo; //身份证号码 document.getElementById("text_dept").value = msgJson.department; //签发机关 document.getElementById("text_effDate").value = msgJson.effectData; //有效期开始 document.getElementById("text_expDate").value = msgJson.expire; //有效期结束 document.getElementById("PhotoID").src = "data:image/jpeg;base64,"+msgJson.base64Data; //身份证头像,base64格式数据,实际尺寸:102x126px document.getElementById("PhotoIDFront").src = "data:image/jpeg;base64,"+msgJson.imageFront; //身份证正面照片,实际尺寸:540x340px,如无需使用,建议注释掉 document.getElementById("PhotoIDBack").src = "data:image/jpeg;base64,"+msgJson.imageBack; //身份证反面照片,实际尺寸:540x340px,如无需使用,建议注释掉 posBeep(); resultMsg(msgJson.errMsg); } else if(msgJson.rCode == "1"){ resultMsg("已停止自动读卡"); } else if(msgJson.rCode == "-2"){ resultMsg("请放身份证"); } else { resultMsg(msgJson.errMsg); } break; case "EST_ReadCertID#": //身份证物理ID if (msgJson.rCode == "0") { document.getElementById("text_ID").value = msgJson.UID; posBeep(); } else { resultMsg(msgJson.errMsg); } break; case "EST_ReadBankCard#": //银行卡卡号 if (msgJson.rCode == "0") { document.getElementById("text_Bank_ID").value = msgJson.bankCard; posBeep(); } else { resultMsg(msgJson.errMsg); } break; case "EST_ReadM1Card#": //IC卡卡号 if (msgJson.rCode == "0") { document.getElementById("text_IC_ID").value = msgJson.UID; posBeep(); } else { resultMsg(msgJson.errMsg); } break; case "EST_ReadSocialCard#": //社保卡信息,个别地区社保卡不按国家规范来的,会读取信息不全 if (msgJson.rCode == "0") { posBeep(); document.getElementById("S_text_name").value = msgJson.XM; //社保卡姓名 document.getElementById("S_text_sex").value = msgJson.XB; //社保卡性别 document.getElementById("S_text_nation").value = msgJson.MZ; //社保卡民族 document.getElementById("S_text_birthday").value = msgJson.CSRQ; //社保卡出生日期 document.getElementById("S_text_idNum").value = msgJson.SHBZHM; //社保卡身份证号 document.getElementById("S_text_effDate").value = msgJson.FKRQ; //社保卡有效期开始 document.getElementById("S_text_expDate").value = msgJson.KYXQ; //社保卡有效期结束 document.getElementById("S_text_kahao").value = msgJson.SBKH; //社保卡卡号 } else { resultMsg(msgJson.errMsg); } break; case "EST_Read15693#": if (msgJson.rCode == "0") { resultMsg("15693寻卡成功,UID:" + msgJson.Uid); } else { resultMsg(msgJson.errMsg); } break; case "EST_Read15693info#": if (msgJson.rCode == "0") { resultMsg("15693卡信息获取成功,卡信息:" + msgJson.Uid); } else { resultMsg(msgJson.errMsg); } break; case "EST_FindCardM1#": if (msgJson.rCode == "0") { resultMsg("寻卡成功,M1卡UID:" + msgJson.Uid); } else { resultMsg(msgJson.errMsg); } break; case "EST_VerifyKeyM1#": if (msgJson.rCode == "0") { resultMsg("秘钥认证成功"); } else { resultMsg(msgJson.errMsg); } break; case "EST_ReadCardM1#": if (msgJson.rCode == "0") { resultMsg("读卡成功,数据为:" + msgJson.readData); } else { resultMsg(msgJson.errMsg); } break; case "EST_WriteCardM1#": if (msgJson.rCode == "0") { resultMsg("写卡成功"); } else { resultMsg(msgJson.errMsg); } break; case "EST_PowerOnCpu#": //非接CPU卡上电信息 if (msgJson.rCode == "0") { resultMsg("复位信息:" + msgJson.ATR); } else { resultMsg(msgJson.errMsg); } break; case "EST_WriteCpu#": //非接CPU卡APDU指令响应信息 if (msgJson.rCode == "0") { resultMsg("响应数据:" + msgJson.Resp); } else { resultMsg(msgJson.errMsg); } break; case "EST_ReaderGertSAMID#": //获得读卡器芯片系列号,读卡器授权可以放这里来判断 if (msgJson.rCode == "0") { resultMsg("系列号:" + msgJson.SAMID); } else { resultMsg(msgJson.errMsg); } break; default: break; } } else{ alert("连接异常,请检查是否成功安装控件."); } }; } catch (ex) { alert("连接异常,请检查是否成功安装控件."); } } //提示信息 function resultMsg(msg) { document.getElementById("text_result").value += "\r\n" + msg; } //清空文本框信息 function clearinput() { document.getElementById("text_ID").value = ""; document.getElementById("text_IC_ID").value = ""; document.getElementById("text_Bank_ID").value = ""; document.getElementById("text_name").value = ""; document.getElementById("text_sex").value = ""; document.getElementById("text_nation").value = ""; document.getElementById("text_birthday").value = ""; document.getElementById("text_address").value = ""; document.getElementById("text_idNum").value = ""; document.getElementById("text_dept").value = ""; document.getElementById("text_effDate").value = ""; document.getElementById("text_expDate").value = ""; document.getElementById("text_result").value = ""; document.getElementById("PhotoID").src = ""; document.getElementById("S_text_name").value = ""; document.getElementById("S_text_sex").value = ""; document.getElementById("S_text_nation").value = ""; document.getElementById("S_text_birthday").value = ""; document.getElementById("S_text_idNum").value = ""; document.getElementById("S_text_effDate").value = ""; document.getElementById("S_text_expDate").value = ""; document.getElementById("S_text_kahao").value = ""; document.getElementById("PhotoIDBack").src = ""; document.getElementById("PhotoIDFront").src = ""; } //控件版本号 function getVersion() { socket.send("EST_GetVersion#"); } //蜂鸣器控制,可以自己选择是否蜂鸣 function posBeep() { if (socket.readyState == 1) { socket.send("EST_PosBeep#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } //单次读取身份证信息 function readIDCard() { try { if (socket.readyState == 1) { socket.send("EST_Reader_ReadIDCard#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //自动读取身份证信息,外部轮询实现,身份证不拿开会一直读 function autoReadIDCard2(){ readIDCard(); setInterval("readIDCard()", 1000); } //自动读取身份证信息,内部轮询实现 function autoReadIDCard() { try { if (socket.readyState == 1) { socket.send("EST_Reader_ReadIDCard#|1"); resultMsg("自动读卡,请放身份证..."); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //停止连续读取身份证信息 function stopAutoReadIDCard() { try { if (socket.readyState == 1) { socket.send("EST_StopReadIDCard#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //读取身份证物理ID,16位16进制数据,一般情况用不到,可以注释掉 function ReadCertID() { try { if (socket.readyState == 1) { socket.send("EST_ReadCertID#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //读取IC卡号,包括M1、CPU卡,8位16进制数据 function readM1Card() { try { if (socket.readyState == 1) { socket.send("EST_ReadM1Card#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //读取银行卡号,支持QUICK PASS闪付银行卡,大部分卡支持,少部分地方性银行会读取失败 function readBankCard() { try { if (socket.readyState == 1) { socket.send("EST_ReadBankCard#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //读社保卡,支持二代芯片社保卡,三代卡无秘钥不能读取 function readSocialCard() { try { if (socket.readyState == 1) { socket.send("EST_ReadSocialCard#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //15693寻卡 function read15693() { try { if (socket.readyState == 1) { socket.send("EST_Read15693#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //15693卡信息 function read15693info() { try { if (socket.readyState == 1) { socket.send("EST_Read15693info#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //IC卡读写操作函数,包括M1卡读写、CPU卡读写等功能,详细指令见开发文档中3.2.11 IC卡操作函数部分 function cardOperate() { try { if (socket.readyState == 1) { socket.send(document.getElementById("S_text_kacaozuo").value); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //获得读卡器芯片系列号,全球唯一,通常可用来授权管理 function readSAMID() { try { if (socket.readyState == 1) { socket.send("EST_ReaderGertSAMID#"); } else { resultMsg("未找到控件,请检查控件是否安装."); } } catch (ex) { resultMsg("连接异常,请检查是否成功安装控件."); } } //关闭soket function closeSocket() { try { if(socket != null){ socket.close(); socket = null; } } catch (ex) { } }; // 默认页面打开,就自动打开设备 window.onload=openReader();



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭