统信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,一经查实,立即删除!

相关文章

【面向对象编程的三大特征:封装;继承;多态】

面向对象编程的三大特征&#xff1a;封装&#xff1b;继承&#xff1b;多态 前言&#xff1a; 最近在B站搜到韩顺平老师的java入门课&#xff0c;这里记录下实践&#xff1b; 熟悉&&掌握面向对象三大特征&#xff1a;封装&#xff1b;继承&#xff1b;多态; 多态是基…

设计模式--单例模式(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…

Reactive响应式编程系列:一个Demo了解如何将事件驱动变成响应式

Reactive响应式编程系列&#xff1a;解密Lettuce如何实现响应式_lettuce原理_飞向札幌的班机的博客-CSDN博客Reactive响应式编程系列&#xff1a;解密Lettuce如何实现响应式_lettuce原理_飞向札幌的班机的博客-CSDN博客上面两篇文章也许介绍的内容过细&#xff0c;导致无法清晰…

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

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

Jtti :sql server怎么备份数据库?

在 SQL Server 中备份数据库是一项重要的操作&#xff0c;它可以确保你的数据在意外情况下得以恢复。以下是在 SQL Server 中备份数据库的基本步骤&#xff1a; 使用 SQL Server Management Studio (SSMS) 进行备份&#xff1a; 打开 SQL Server Management Studio(SSMS)并连接…

【自动驾驶】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 成员变量只有…

【跟小嘉学 Rust 编程】十八、模式匹配(Patterns and Matching)

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…

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

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

Lambda 编程(Kotlin)一

学习记录&#xff0c;以下为个人理解 知识点&#xff1a; Lambda的定义&#xff1a;允许你把代码块当作参数传递给函数Lambda的语法约定&#xff1a;如果lambda 表达式是函数调用的最后一个实参&#xff0c;它可以放到括号的外边当lambda表达式时函数唯一的实参时&#xff0c…

01-jupyter notebook的使用方法

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