华大多功能四合一HD-100多功能智能卡读写器OCX插件配置使用教程

  • 一、简介
  • 二、配置使用
  • 三、代码分享

一、简介

华大HD-100多功能智能卡读写器作为IC卡系统集成必备的前端处理设备,极大地提高了系统的安全性和应用的方便性,能更加优秀的服务于卫生、社保、二代证查询、工商、电信、邮政、税务、银行、保险、医疗以及各种收费、储值、查询等智能卡管理应用行业。

1.HD-100有几种不同配置,功能分别如下:
四合一:身份证、社保卡、磁条卡、就诊卡 (此次教程叫的就是四合一)
三合一:社保卡、磁条卡、就诊卡

2.华大HD-100多功能读卡器产品特点:

  • 支持 ISO/IEC 7816-1/2/3 标准 CPU 卡,T=0、T=1、逻辑加密卡及memory卡,社保卡、医保卡等

  • 支持 Mifare 卡和符合 ISO14443 标准的 A 类和 B 类卡,ISO 15693 等卡片, 通讯速率最高支持 424 Kbps

  • 支持身份证卡片

  • 支持 4个 PSAM 卡安全模块、支持高速 PSAM 卡安全交易认证,符合 ISO7816 标准

  • 安装方便,可靠性高,适合联机使用

  • 全速 USB 接口, RS232,以太网等

  • 人机界面:一个指示灯,指示电源和操作状态

  • 支持在线程序升级,提供 Windows/Linux/Unix 等各种平台下的应用程序标 准 DLL 动态库接口

二、配置使用

读卡器图片,如下图

注意:安装前先把360等杀毒软件退出,否则可能会影响读卡器的正常使用
准备:先将读卡机设备连接到电脑usb接口,确定连接成功之后在进行一下操作

1.以管理员点击运行(华大多合一控件安装.exe)文件,如下图

2. 安装时一直点击下一步即可,安装成功会显示以下页面

3.完成安装之后打开页面时需要使用 360浏览器或者IE浏览器 打开浏览器–>工具–>Internet选项–>自定义级别 (Internet和本地Internet都需要设置),如下图



4.选择启用

5.选择 是,之后打开页面之后选择兼容模式

6.选择允许阻止内容

7.选择 是

8.选择 是

9.硬件配置已完成接下来就可以使用啦!

三、代码分享

1.华大读卡器会给一套js代码,首先,需要引入到页面中进行调用。

<script th:src="@{/js/common/hd_card.js}"></script>

hd_card.js的代码内容如下:

// version:2019011
// 华大读卡器 head 中加 <OBJECT classid=clsid:A02C6AFF-89E7-41232-9DF3-508DD546543F9E2 width=0 height=0 align="center" id="bsHDdev" HSPACE=0 VSPACE=0></OBJECT>
/** ***************基础工具*********************** *//*** 华大读卡器。读身份证或社保卡。返回:{type:类型, realname:姓名,gender:性别,nation:民族,brithday:出生日期,address:家庭住址,idCardNum:身份证号, sidCardNum:社保号, photoBase64: 照片base64字符串}*/
function tg_readCard4HD(deviceObjectId, slot) {var result = tg_readIdCard4HD(deviceObjectId); // 先读身份证if (!result.success) { // 身份证读取失败result = tg_readSidCard4HD(deviceObjectId, slot); // 读取社保卡}return result;
}
/*** 华大读卡器。读身份证 返回:{type:类型, realname:姓名,gender:性别,nation:民族,brithday:出生日期,address:家庭住址,idCardNum:身份证号, photoBase64: 照片base64字符串}<br>* 相片显示:document.getElementById("photo").src="https://img-blog.csdnimg.cn/2022010711192871364.png"+photoBase64;*/
function tg_readIdCard4HD(deviceObjectId) {var result = { // 返回结果type : 'idCard' // 身份证};var deviceObject = document.getElementById(deviceObjectId); // 得到设备控件 deviceObjectIdvar readResult = deviceObject.iReaderIDCard("C:\\zp.jpg"); // 读卡,传入照片路径if (readResult == 0) { // 读卡成功var cardInfo = deviceObject.pOutInfo;var base64Str = deviceObject.base64Data;var idCardInfo = cardInfo.split('|').slice(0, 6);result.success = true;result.realname = idCardInfo[0];result.gender = idCardInfo[1];result.nation = idCardInfo[2];result.brithday = idCardInfo[3];result.address = idCardInfo[4];result.idCardNum = idCardInfo[5];result.photoBase64 = base64Str;} else { // 读卡失败console.log(deviceObject.pMsgErr);}return result;
}/*** 华大读卡器。读社保卡 返回:{type:类型, sidCardNum:社保号,idCardNum:身份证号,realname:姓名,gender:性别,nation:民族,brithday:生日}*/
function tg_readSidCard4HD(deviceObjectId, slotParm) {var result = { // 返回结果type : 'sidCard' // 社保卡};var deviceObject = document.getElementById(deviceObjectId); // 得到设备控件 deviceObjectIdvar slot = 17; // 传入卡座号 17 -20if (slotParm) {slot = slotParm;}var readResult = deviceObject.iReadSicard(slot); // 读卡if (readResult == 0) { // 读卡成功var cardInfo = deviceObject.pOutInfo;var scardInfo = cardInfo.split('|').slice(0, 6);result.success = true;result.sidCardNum = scardInfo[0];result.idCardNum = scardInfo[1];result.realname = scardInfo[2];result.gender = scardInfo[3];result.nation = scardInfo[4];result.brithday = scardInfo[5];} else { // 读卡失败console.log(deviceObject.pMsgErr);}return result;
}

2.会有一个object classid 需要引入,下面的是我乱写的classid,每个设备都不一样。

<object classid="clsid:A02C6AFF-89E7-41232-9DF3-508DD546543F9E2" id="bsHDdev" width="0" height="0" hspace="0" vspace="0" />

3.页面使用代码示例(会自带测试页面也可以使用)

<div class="layui-card layadmin-header"><div class="layui-breadcrumb" lay-filter="breadcrumb"><a lay-href="">主页</a> <a><cite>会员业务</cite></a> <a href="#/manage/member/"><cite>挂号</cite></a></div><object classid="clsid:A02C6AFF-89E7-41232-9DF3-508DD546543F9E2" id="bsHDdev" width="0" height="0" hspace="0" vspace="0" />
</div>
<!--/*******页面内容*******/-->
<div class="layui-fluid"><div class="layui-card"><div class="layui-card-body"><form id="tg_member_add_form" lay-filter="tg_member_add_form_filter" class="layui-form layui-form-pane"><!--/*防止重复提交*/--><!--<input name="tgAvoidRepeatSubmitToken" th:value="" type="text" hidden="true" />--><div class="layui-form-item"><div class="layui-inline"><div class="layui-input-inline"><img src="" id="photoBase64" /></div></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">姓名<span style="color: red"> *</span></label><div class="layui-input-inline"><input name="realname" id="realname" disabled placeholder="请输入姓名"  required maxlength="31" autocomplete="off" autofocus="autofocus" class="layui-input" type="text" /></div></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">性别<span style="color: red"> *</span></label><div class="layui-input-inline"><input id="genderStr" disabled placeholder="请输入性别"  required maxlength="31" autocomplete="off" autofocus="autofocus" class="layui-input" type="text" /> <input id="gender" name="gender" type="text" hidden="true" /></div></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">民族<span style="color: red"> *</span></label><div class="layui-input-inline"><input name="nation" id="nation" disabled placeholder="请输入民族"  required maxlength="31" autocomplete="off" autofocus="autofocus" class="layui-input" type="text" /></div></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">出生日期<span style="color: red"> *</span></label><div class="layui-input-inline"><input name="brithday" id="brithday" disabled placeholder="请输入出生日期"  required maxlength="31" autocomplete="off" autofocus="autofocus" class="layui-input" type="text" /></div></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">身份证号<span style="color: red"> *</span></label><div class="layui-input-inline"><input name="idCardNum" id="idCardNum" disabled placeholder="请输入身份证号"  required maxlength="31" autocomplete="off" autofocus="autofocus" class="layui-input" type="text" /></div></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">社保号<span style="color: red"> *</span></label><div class="layui-input-inline"><input name="sidCardNum" id="sidCardNum" disabled placeholder="请输入社保号"  required maxlength="31" autocomplete="off" autofocus="autofocus" class="layui-input" type="text" /></div></div></div><div class="layui-form-item"><label class="layui-form-label">地址<span style="color: red"> *</span></label><div class="layui-input-block"><input name="address" id="address" disabled placeholder="请输入地址"  required maxlength="31" autocomplete="off" autofocus="autofocus" class="layui-input" type="text" /></div></div><div class="layui-form-item"><div class="layui-input-block"><div class="layui-footer"><input type="button" id="tg_readCard_add_submit_but" value="读卡" class="layui-btn layui-btn-lg layui-btn-normal" lay-submit="" lay-filter="tg_readCard_add_submit_but_filter"><button id="tg_member_add_form_submit_but" lay-filter="tg_member_add_form_submit_but_filter" class="layui-btn layui-btn-lg" lay-submit="">挂号</button></div></div></div></form></div></div>
</div>
<!--/*******当前页js*******/-->
<script>layui.use([ 'member', 'form', 'layer' ], function() {var member = layui.member, form = layui.form, $ = layui.$, layer = layui.layer;form.render(null, 'tg_member_add_form_filter'); // 渲染该模板动态表单// 监听读卡 form.on('submit(tg_readCard_add_submit_but_filter)', function(data) {var result = tg_readCard4HD("bsHDdev", 17);if (result.success) {// 设置input值$("#realname").attr("value", result.realname); // 姓名$("#genderStr").attr("value", result.gender); // 性别if(result.gender == "男"){$("#gender").attr("value", 1);} else {$("#gender").attr("value", 2);}var year = result.brithday.substr(0, 4);var month = result.brithday.substr(4, 2);var day = result.brithday.substr(6, 2);$("#nation").attr("value", result.nation); // 民族$("#brithday").attr("value", year + "-" + month + "-" + day); // 出生日期$("#address").attr("value", result.address); // 地址$("#idCardNum").attr("value", result.idCardNum); // 身份证号$("#sidCardNum").attr("value", result.sidCardNum); // 社保号if( result.photoBase64 != null ){$("#photoBase64").attr("src", 'data:image/jpeg;base64,' + result.photoBase64); // 照片base6}// 读卡提交到后台的值data.field.realname = result.realname; // 姓名data.field.gender = $("#gender").val(); // 性别data.field.nation = result.nation; // 民族data.field.brithday = year + "-" + month + "-" + day; // 出生日期data.field.address = result.address; // 地址data.field.idCardNum = result.idCardNum; // 身份证号data.field.sidCardNum = result.sidCardNum; // 社保号data.field.photoBase64 = result.photoBase64; // 照片base6tg_submitForm('tg_readCard_add_submit_but', BASE_URL + 'm/cardRecord/add.htm', data.field, function(d) {}); return false; // 阻止form跳转}});// 监听提交 form.on('submit(tg_member_add_form_submit_but_filter)', function(data) {if(data.field.realname != ""){tg_submitForm('tg_member_add_form_submit_but', BASE_URL + 'm/signRecord/add.htm', data.field, function(d) {tg_alert_success_location('/manage/member/show/id=' + data.field.idCardNum); // 成功提醒并跳转});}else{layer.msg("请读取卡片");}return false; // 阻止form跳转}); });
</script>

以上就是华大多功能四合一HD-100多功能智能卡读写器配置的使用教程,希望可以帮助到你,如有疑问欢迎私信探讨交流。

华大多功能四合一HD-100多功能智能卡读写器OCX插件配置使用教程相关推荐

  1. 精伦多功能读写器OCX插件配置使用教程

    精伦多功能读写器OCX插件配置使用教程 一.简介 二.配置使用 三.接口文档说明 四.代码示例 一.简介 精伦多功能射频卡读写器iDR210是最新推出销售的一款多功能.免装驱动程序的射频卡读写器,可根 ...

  2. HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞|type c 扩展坞接口功能说明

    硕盟SM-T54是一款 TYPE C转HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞,支持四口同时使用,您可以将含有USB 3.1协议的电脑主机,通过此产品连接到具有HDMI或VGA的显 ...

  3. 硕盟type-c转接头HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞

    硕盟SM-T54是一款 TYPE C转HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞,支持四口同时使用,您可以将含有USB 3.1协议的电脑主机,通过此产品连接到具有HDMI或VGA的显 ...

  4. hub设备_倍思小圆盒四合一HUB转换器功能使用

    使用USB接口的设备繁多,但电脑上的USB接口数量有限,当需要同时使用多个USB设备时,接口不够用怎么办?这时USB-HUB就能派上用场了.倍思小圆盒4合一HUB智能转换器,它带有一个USB3.0规格 ...

  5. 【不忘初心】Win11_21H2_22000.100_X64_四合一[纯净精简版][2.9G](2021.8.5)

    此版更新补丁未知,WIN11全新的UI界面出炉!可以说这一次Windows 11全新升级,无论是从Logo上还是UI界面设计,都有很大的变化,不过WIN11目前还不够稳定,小问题比较多!母版来自MSD ...

  6. 警灯,警铃四合一【Arduino玩具】

    警灯,警铃四合一[Arduino玩具] 功能: 1.只有警灯工作.警铃不工作. 2.警灯警铃同时工作. 3.喇叭(由最右侧的按钮开关控制). 4.第二种警铃(由第二个按钮开关控制). *第2,3,4模 ...

  7. as5300 linux多路径,加持四合一接口,AS5300再出黑科技

    原标题:加持四合一接口,AS5300再出黑科技 [IT168 资讯]刚接触企业级存储的人,常被各种存储接口弄晕圈.FC.FCoE.千兆iSCSI.万兆iSCSI.SAS.SATA.PCIe.IDE-- ...

  8. 霍尼韦尔epks 操作 组态 维护 使用 硬件 手册_标准四合一气体检测仪霍尼韦尔MiniMAX X4...

    原标题:标准四合一气体检测仪霍尼韦尔MiniMAX X4 多种气体检测仪在工业中符合当前多数市场需求,当前的市场中各种复合气体检测仪层出不穷,检测质量与效率也完全不同,快速反应及时检测量程要准也是一款 ...

  9. 2011计算机2级,全国计算机等级考试四合一过关训练:2级C语言程序设计(2011版)...

    <全国计算机等级考试四合一过关训练:二级C语言程序设计(2010版)>提供了全国计算机等级考试二级c语言程序设计的笔试和上机模拟试卷及真题,并给出精准的答案.详细的分析.考核的知识点.重点 ...

最新文章

  1. 3D车道线检测:Gen-LaneNet
  2. 路由器与计算机IP配置,路由器设置之前 如何给电脑设置IP地址
  3. DRV8711总是报Pre-driver fault错误原因与处理方法
  4. xbox手柄接收器驱动_xbox手柄连接 win10电脑
  5. 公众号下载资源汇总(一)
  6. Docker与.Net项目类型
  7. ftp、sftp简介
  8. 【第二周】吴恩达团队AI for Medical Diagnosis课程笔记
  9. 华为云数据库跃进式发展
  10. R循环有两个_海德汉数控系统G代码、M代码、循环大全
  11. juju debug hacks (by quqi99)
  12. 可行性、易用性性与用户体验的区别
  13. VS2005下MFC开发的ActiveX控件的部分总结 inf 篇
  14. Python3.8+OpenCV4 实现二维码扫码
  15. 打印准考证没电脑怎么办
  16. 【100个 Unity踩坑小知识点】| Unity 的 LOD技术(多细节层次)
  17. lwIP TCP/IP 协议栈笔记之十九: JPerf 工具测试网速
  18. 谈谈我对Mac笔记本的使用感受
  19. 雄迈设备获取原始flash方法
  20. python选取元音开头的单词_元音音素开头的单词

热门文章

  1. 越狱Season 1-Episode 12:Odd Man Out
  2. 一次ES性能优化,我发现了搞大数据的真相……
  3. oracle simphony_绿云成为Oracle Hospitality解决方案和甲骨文产品最新分销商
  4. linux下磁盘sda,Linux下磁盘设备文件(sda,sdb,sdc….)变化问题
  5. VB 让图片自动适应picturebox控件大小的方法
  6. Conflux 吐槽君:Hashgraph 是一个真正的企业级去中心化平台吗?
  7. Fw:[一恒茶社] 作为大学教师,我 感到羞耻??教师节有感及其他[转贴]
  8. 离线安装docker-compose
  9. 仿云音乐黑胶唱片功能
  10. 【tk跨境电商】tk跨境电商合法吗?现在好做吗?