统信OS国产操作系统身份证读卡器社保卡读卡web网页开发使用操作流程

用于DONSEE系列身份证阅读器谷歌Chrome火狐Firefox插件,支持的型号有:EST-100、EST-100GS、EST-100G、EST-100U、EST-200G、EST-J13X等。

本方案无缝支持最新版本谷歌Chrome火狐Firefox等网页浏览器,支持H5、Vue、React、Node.js、Electron、Uniapp、jQuery、JSP、PHP、ASP、ASPX、JS、HTML等开发语言。

支持麒麟OS、统信OS等主流国产操作系统,支持ARM、AMD、LoongArch64、MIPS64等构架。

统信OS安装方法:

1、打开应用商店,搜索 东信智能


2、点击安装

3、安装后打开 启动器,选择打开读卡器快捷方式

4、进入读卡界面

 4、进入读卡代码集成阶段

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>HTML5</title><script type="text/javascript" src="jquery-1.12.3.min.js"></script><script type="text/javascript" src="cardReader-1.0.js"></script><style type="text/css">*{font-family: '微软雅黑';font-size: 14px;}button{margin: 8px 15px 8px 0px;padding: 5px 10px;border: 1px solid #2E3436;}button:hover{background-color: white;}select, input{height:31px;}fieldset{border-color: gray;margin-top: 10px;}img{border: 1px solid gray;height:126px;width: 102px;}label{cursor: pointer;}.dborder{border: 1px gray solid;box-sizing: border-box;}#div4442>button{width: 60px;margin-right: 10px;padding-left: 0px;padding-right: 0px;margin-bottom: 0px;}#div15396>button, #div1604>button, #divm1>button{width: 60px;margin-right: 5px;padding-left: 0px;padding-right: 0px;margin-bottom: 0px;}#divmore>button{width: 100px;margin-top: 20px;}.divTab{display: flex;}.divTab>div{text-align: center;min-width: 70px;padding: 5px;border-top: 1px solid;border-bottom: 1px solid #FFFFFF;border-right: 1px solid;cursor: pointer;background-color: #CCCCCC;}.divTab>div:hover{background-color: #EEEEEE;}.divTab>div:first-child{border-left: 1px solid;}.tabSelect{background-color: #FFFFFF !important;font-weight: bold;}.divContent>div{padding-top: 20px;padding-bottom: 10px;padding-left: 10px;border:1px solid;margin-top: -1px;display: none;}</style>
</head>
<body style="background-color: gray;" onselectstart="return false;"><div style="width: 100%;justify-content: center;display: flex;"><div style="min-width: 1080px; max-width: 1080px; padding: 0px 30px 20px 30px;flex-wrap: wrap;background-color: white;" class="dborder"><div style="width: 100%;margin: 10px 0px;font-weight: bold;font-size: 18px;text-align: center;">网页调用读卡器测试</div><div class="divTab"><div>设备操作</div><div>身份证</div><div>CPU卡接触</div><div>CPU卡非接</div><div>磁条卡</div><div>M1卡</div><div>4442/4428卡</div><div>15693卡</div><!--<div>指纹</div>--><div>更多</div></div><div class="divContent"><!--设备操作--><div><button act="open">打开端口</button><button act="close">关闭端口</button></div><!--身份证--><div><table><tr><td width="120px;"><img id="imgIdCard"></td><td><button style="width: 120px;" act="readIDCardUID">读身份证UID</button><br><button style="width: 120px;" act="readIDCard" >身份证</button><br><button style="width: 120px;" act="readIDCardEX" >身份证(指纹)</button></td></tr></table></div><!--CPU卡接触--><div><button act="cardClodPowerOn" ref="slotNo">冷复位</button><button act="cardHotPowerOn"  ref="slotNo">热复位</button><select style="width: 90px;" act="slotNo"><option value="01">大卡</option><option value="02">副卡</option><option value="11">PSAM1</option><option value="12">PSAM2</option><option value="13">PSAM3</option><option value="14">PSAM4</option></select><input type="text" style="width:248px;margin-top: 10px;" placeholder="APDU命令 HEX串" value="0084000008" act="apdu"><button act="cardPowerOff" ref="slotNo">下电</button><button style="margin-left: 95px;" act="cardRun" ref="slotNo,apdu">APDU命令</button></div><!--CPU卡非接--><div><input type="text" style="width:252px;margin-top: 10px;" placeholder="APDU命令 HEX串" value="0084000008" act="apdu"><button style="margin-right: 0px;padding: 5px 5px;" act="mcardPowerOn">TypeA 上电</button><!-- <button style="margin-left:10px;margin-right: 10px;padding: 5px 5px;" act="mcardPowerOff">TypeA 下电</button>--><button style="margin-right: 0px;padding: 5px 5px;" act="mcardRun" ref="apdu">APDU</button></div><!--磁条卡--><div><select style="margin-right: 35px;" act="outInfo"><option value="0">全部数据</option><option value="1">去除起始结束字符</option><option value="2">仅输出数字</option></select><select style="" act="appendEnter"><option value="0">回车关闭</option><option value="1" selected>回车开启</option></select><div style="margin-top: 8px;"><input type="radio" name="mg" act="mgNum" id="mg1" value="1" style="height: 10px;"><label for="mg1">磁道1</label><input type="radio" name="mg" act="mgNum" id="mg2" value="2" style="height: 10px;" checked><label for="mg2">磁道2</label><input type="radio" name="mg" act="mgNum" id="mg3" value="3" style="height: 10px;"><label for="mg3">磁道3</label><input type="radio" name="mg" act="mgNum" id="mg4" value="4" style="height: 10px;"><label for="mg4">磁道2/3</label><select style="margin-right: 0px;" act="outType"><option value="0">主动输出</option><option value="1" selected>被动输出</option></select>超时(秒)<input type="text" style="width:30px;" value="15" maxlength="12" act="outTime"></div><button style="margin-right: 0px;padding-left: 0px;padding-right: 0px;" act="scardSet" ref="outInfo,appendEnter,outType,mgNum">磁条输出设置</button><button style="margin-right: 8px;margin-left: 8px;padding-left: 5px;padding-right: 5px;" act="scardGet">输出获取</button><button style="margin-right: 0px;padding-left: 0px;padding-right: 0px;" act="scardRead" ref="outTime,mgNum">获取磁道信息</button></div><!--M1卡--><div><div style="height: 32px;margin-bottom: 7px;"><input type="radio" style="height: 10px;" name="kpm1" id="kpm11" checked act="keyType" value="A"><label for="kpm11">KeyA</label><input type="radio" style="height: 10px;" name="kpm1" id="kpm12" act="keyType" value="B"><label for="kpm12" style="margin-right: 33px;">KeyB</label>地址块<select style="width:70px;" id="addrm1" act="addr"></select></div><div style="padding: 10px 0px;">密钥<input type="text" style="width:230px;" value="FFFFFFFFFFFF" maxlength="12" act="key"></div>数据<input type="text" style="width:230px;font-size: 12px;" maxlength="32" VALUE="000102030405060708090A0B0C0D0E0F" act="data"><div style="padding-top: 10px;">初始化值<input type="text" style="width:30px;margin-right: 20px;" value="256" maxlength="12" act="numInit">增/减值<input type="text" style="width:30px;" value="10" maxlength="12" act="numValue"></div><div id="divm1" style="padding-top: 9px;"><button act="cardm1Find">寻卡</button><button act="cardm1Auth" ref="addr,key,keyType">认证PIN</button><!--<button act="cardm1DownKey" ref="addr,key,keyType">下载密钥</button>--><!--<button act="cardm1Auth" ref="addr,key,keyType" param="{authType:'2'}" style="margin-right: 0px">下载认证</button>--><button act="cardm1Read" ref="addr">读数据</button><!--<button act="cardm1Read" param="{addr:'all'}" style="display: none;">读所有</button>--><button act="cardm1Write" ref="addr,data">写数据</button><!--<button act="cardm1Write" param="{addr:'all'}" ref="data" style="margin-right: 0px;display: none;">写所有</button><br>--><button act="cardm1NumInit"  ref="addr,numInit" style="margin-right: 0px">初始化值</button><button act="cardm1NumAdd"  ref="addr,numValue" style="margin-right: 0px">增值</button><button act="cardm1NumDe"  ref="addr,numValue" style="margin-right: 0px">减值</button><button act="cardm1NumRead"  ref="addr" style="margin-right: 0px">读值</button></div></div><!--4442/4428卡--><div><div style="height: 32px;"><input type="radio" style="height: 10px;" name="kplx" id="kplx1" value="4428" act="type" checked onclick="setI44(this)"><label for="kplx1">4428</label><input type="radio" style="height: 10px;" name="kplx" id="kplx2" value="4442" act="type" onclick="setI44(this)"><label for="kplx2">4442</label></div><br>起始地址<input type="text" style="width:48px;margin-right: 25px;" value="0" act="offset" id="i44begin">长度<input type="text" style="width:48px;margin-right: 25px;" value="1024" act="size" id="i44len">密钥<input type="text" style="width:60px;" value="FFFF" act="key" id="i44key"><div style="padding: 15px 0px 3px;">数据<input type="text" style="width:326px;" act="data"></div><div id="div4442"><button act="card44PowerOn" ref="type">上电</button><button act="card44PowerOff" ref="type">下电</button><button act="card44Read" ref="type, offset, size">读数据</button><button act="card44Write" ref="type, offset, size, data">写数据</button><br><button act="card44AuthPIN" ref="type,key">认证PIN</button><button act="card44EditPIN" ref="type,key">修改PIN</button><button act="card44AuthNum" ref="type">认证数</button><button act="card44ReadPro" ref="type, offset, size" style="width:80px;">读保护数据</button><button act="card44WritePro" ref="type, offset, size" style="width:80px;">写保护数据</button></div></div><!--15693卡--><div>地址<select style="margin-right: 35px;width:54px;" id="addr15693" act="addr"></select>数据<input type="text" style="width:100px;" value="12345678" act="data">AFI/DSFID<input type="text" style="width:50px;" value="2" act="afidsiddata"><div id="div15396"><button act="card15693Find">寻卡</button><button act="card15693Read" ref="addr">读卡</button><button act="card15693Write" ref="addr,data">写卡</button><button act="card15693WriteAFI" ref="afidsiddata" style="margin-right: 0px">写AFI</button><button act="card15693LockAFI" ref="addr,data">锁AFI</button><button act="card15693WriteDSFID" ref="afidsiddata">写DSFID</button><button act="card15693LockDSFID" ref="addr,data">锁DSFID</button><button act="card15693Lock" ref="addr" style="margin-right: 0px">锁定块</button><button act="card15693Info">卡片信息</button><!--<button act="card15693Write" param="{addr:'all'}">读所有</button><button act="card15693Write" ref="data" param="{addr:'all'}">写所有</button>--></div></div><!--指纹<div><div style="display: flex;"><div><img style="height:120px;width:85px" id="imgFP"></div><div style="display: inline-block;margin-left: 30px;"><button act="collectFingerPrint" onclick="ctnFingerPrint=true;" id="btnFingerPrint"  style="margin-right: 0px">开始采集指纹</button><br><button act="" onclick="ctnFingerPrint = false;" style="margin-right: 0px">取消采集指纹</button></div></div></div>--><!--更多--><div id="divmore"><button act="version">版本信息</button><button act="serialNum">芯片序列号</button><button act="closeAnt">关闭天线</button><button act="openAnt">打开天线</button><button act="beep">蜂鸣器</button><button act="readBankNO">银行卡号</button><button act="readSci">读取社保卡</button></div></div><div id="msg" onselectstart="event.stopPropagation();" style="margin-top: 20px; word-break: break-all;padding:3px 3px;border: 2px solid #214283;height: 443px;font-size: 14px;line-height: 27px;box-sizing: border-box;overflow-y: scroll;" ondblclick="$('#msg').html('')">消息区<br>--双击可清空消息--<br></div></div></div>
</body>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/55251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式--单例模式(Singleton Pattern)

一、什么是单例模式 单例模式是一种创建型设计模式&#xff0c;它旨在确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。换句话说&#xff0c;单例模式限制了类的实例化次数为一个&#xff0c;并提供一种在应用程序中共享一个实例的方式。这对于需要只有…

Linux系统编程:线程控制

目录 一. 线程的创建 1.1 pthread_create函数 1.2 线程id的本质 二. 多线程中的异常和程序替换 2.1 多线程程序异常 2.2 多线程中的程序替换 三. 线程等待 四. 线程的终止和分离 4.1 线程函数return 4.2 线程取消 pthread_cancel 4.3 线程退出 pthread_exit 4.4 线程…

Day44|leetcode 518.零钱兑换II、377. 组合总和 Ⅳ

完全背包理论基础 视频链接&#xff1a;带你学透完全背包问题&#xff01; 和 01背包有什么差别&#xff1f;遍历顺序上有什么讲究&#xff1f;_哔哩哔哩_bilibili 完全背包与01背包不同的地方就是&#xff1a;01背包每种物品只能取一次&#xff0c;而完全背包每种物品可以取…

2023年国赛数学建模思路 - 案例:粒子群算法

文章目录 1 什么是粒子群算法&#xff1f;2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法&#xff1f; 粒子群算法&#xff08;Pa…

yolov5中添加ShuffleAttention注意力机制

ShuffleAttention注意力机制简介 关于ShuffleAttention注意力机制的原理这里不再详细解释.论文参考如下链接here   yolov5中添加注意力机制 注意力机制分为接收通道数和不接受通道数两种。这次属于接受通道数注意力机制,这种注意力机制由于有通道数要求,所示我们添加的时候…

学习JAVA打卡第四十四天

Scanner类 ⑴Scanner对象 scanner对象可以解析字符序列中的单词。 例如&#xff1a;对于string对象NBA 为了解析出NBA的字符序列中的单词&#xff0c;可以如下构造一个scanner对象。 将正则表达式作为分隔标记&#xff0c;即让scanner对象在解析操作时把与正则表达式匹配的字…

【Linux】多线程概念线程控制

文章目录 多线程概念Linux下进程和线程的关系pid本质上是轻量级进程id&#xff0c;换句话说&#xff0c;就是线程IDLinux内核是如何创建一个线程的线程的共享和独有线程的优缺点 线程控制POSIX线程库线程创建线程终止线程等待线程分离 多线程概念 Linux下进程和线程的关系 在…

使用StreamLold写入 Starrocks报错:Caused by org

问题描述 使用StreamLoad写入Starrocks报错&#xff0c;报这个错误:Caused by: org.apache.http.ProtocolException: Content-Length header already present 代码案例 引入依赖 <!-- Starrocks使用StreamLoad发送Http请求 --><dependency><groupId>or…

系统架构设计高级技能 · 面向服务架构设计理论与实践

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA&#xff08;一&#xff09;【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估&#xff08;二&#xff09;【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…

【自动驾驶】TI SK-TDA4VM 开发板上电调试,AI Demo运行

1. 设备清单 TDA4VM Edge AI 入门套件【略】USB 摄像头(任何符合 V4L2 标准的 1MP/2MP 摄像头,例如:罗技 C270/C920/C922)全高清 eDP/HDMI 显示屏最低 16GB 高性能 SD 卡连接到互联网的 100Base-T 以太网电缆【略】UART电缆外部电源或电源附件要求: 标称输出电压:5-20VDC…

Jmeter 接口测试总结

背景介绍 对于 Android 项目来说&#xff0c;使用的是 Java 开发&#xff0c;网络请求接口的数量庞大且复杂&#xff0c;测试人员无法很直观的判断、得出网络请求是否存在问题。另一方面&#xff0c;为了验证请求接口是否能够在大负荷条件下&#xff0c;长时间、稳定、正常的运…

【JMeter】常用线程组设置策略

目录 一、前言 二、单场景基准测试 1.介绍 2.线程组设计 3.测试结果 三、单场景并发测试 1.介绍 2.线程组设计 3.测试结果 四、单场景容量/爬坡测试 1.介绍 2.线程组设计 3.测试结果 五、混合场景容量/并发测试 1.介绍 六、稳定性测试 1.介绍 2.线程组设计 …

C++中的const成员变量和成员函数

在类中&#xff0c;如果你不希望某些数据被修改&#xff0c;可以使用const关键字加以限定。const 可以用来修饰成员变量和成员函数。 const成员变量 const 成员变量的用法和普通 const 变量的用法相似&#xff0c;只需要在声明时加上 const 关键字。初始化 const 成员变量只有…

深度学习优化入门:Momentum、RMSProp 和 Adam

目录 深度学习优化入门&#xff1a;Momentum、RMSProp 和 Adam 病态曲率 1牛顿法 2 Momentum:动量 3Adam 深度学习优化入门&#xff1a;Momentum、RMSProp 和 Adam 本文&#xff0c;我们讨论一个困扰神经网络训练的问题&#xff0c;病态曲率。 虽然局部极小值和鞍点会阻碍…

01-jupyter notebook的使用方法

一、Tab补全 在shell中输入表达式&#xff0c;按下Tab&#xff0c;会搜索已输入变量&#xff08;对象、函数等等&#xff09;的命名空间&#xff1a; 除了补全命名、对象和模块属性&#xff0c;Tab还可以补全其它的。当输入看似文件路径时 &#xff08;即使是Python字符串&…

文心一言 VS 讯飞星火 VS chatgpt (79)-- 算法导论7.4 4题

四、请用go语言&#xff0c;证明:RANDOMIZED-QUICKSORT 期望运行时间是 Ω(nlgn)。 文心一言&#xff1a; 首先&#xff0c;为了证明RANDOMIZED-QUICKSORT的期望运行时间是Ω(nlg n)&#xff0c;我们需要证明在最坏的情况下&#xff0c;该算法的运行时间是O(nlg n)。然后&…

网络:RIP协议

1. RIP协议原理介绍 RIP是一种比较简单的内部网关协议&#xff08;IGP协议&#xff09;&#xff0c;RIP基于距离矢量的贝尔曼-福特算法(Bellman - Ford)来计算到达目的网络的最佳路径。最初的RIP协议开发时间较早&#xff0c;所以在带宽、配置和管理方面的要求也较低。 路由器运…

dockerfile镜像及Harbor私有仓库搭建的应用

目录 搭建私有仓库harbordockerfile构建镜像1&#xff0c;先创建一个目录2&#xff0c;编写dockerfile3&#xff0c;构建4&#xff0c; 验证镜像5&#xff0c;标记镜像6&#xff0c;上传镜像 搭建私有仓库harbor 首先安装容器编排工具&#xff1a;docker compose 我使用的是离…

信创国产系统麒麟arm架构中nginx安装过程

前言 在事业单位或国企&#xff0c;信创项目在步步推进&#xff0c;下面将在国产系统通信arm架构中nginx的安装过程记录分享出来&#xff0c;希望帮助到有需要的小伙伴。 1、nginx下载 1.1、在线下载 进入指定目录&#xff0c;如/usr/local&#xff0c;执行如下命令&#x…