目标:
通过友我科技的服务RFID读写器,实现跨浏览器的高频IC卡(S50含M1卡)的读卡(使用读卡器YW-605HA)
基于RFID读写器云服务的web开发指南:
1、下载客户端的服务RFID读写器,并安装
2、安装后在页面中包括js文件
<script language="javascript" src="http://127.0.0.1:8008/YOWOCloudRFIDReader.js">script> <script language="javascript" src="<%=path%>/YOWOReaderBase.js">script>
YOWOReaderBase.js
try { var rfidreader=YOWORFIDReader.createNew(); if(!rfidreader.TryConnect()) { alert("浏览器不支持,请更换浏览器后重试!"); } } catch(e) { alert("创建友我科技RFID云服务连接失败,请访问http://www.youwokeji.com.cn/下载安装!"); //top.location = "http://www.youwokeji.com.cn/CloudReader/YOWORFIDReaderCloudForWeb.exe"; }
window.onunload=function() {
rfidreader.Disconnect(); } function CheckConnected() { if(!rfidreader.Connected()) { alert("连接RFID读写器云服务失败,重新下载安装!"); return false; } return true; } function GetErrStr(ErrCode) { var ErrText="未知错误"; switch(ErrCode) { case -1:ErrText="没有找到IC卡读卡器,支持型号:YW-605HA或者YW-607";break; case -3:ErrText="寻卡失败";break; case -4:ErrText="寻卡失败";break; case -5:ErrText="卡休眠失败";break; case -6:ErrText="密钥认证失败";break; case -7:ErrText="读块失败";break; case -8:ErrText="写块失败";break; case -9:ErrText="钱包初始化失败";break; case -10:ErrText="钱包读余额失败";break; case -11:ErrText="钱包充值失败";break; case -12:ErrText="钱包减值失败";break; case -13:ErrText="复位错误";break; case -14:ErrText="COS执行错误";break; case -101:ErrText="参数错误";break; } return ErrText; }
3、读卡:
添加图标,当单击后,触发读卡:
//回调函数,读卡的回调
rfidreader.onResult(function(resultdata) { switch(resultdata.FunctionID) { case 5:
console.log(resultdata.CardNo);//卡号
console.log(resultdata.strData); break; } } function read() { //分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位.每个扇区有独立的一组密码及访问控制每张卡有唯一序列号,为32位 rfidreader.KeyMode=0;//A秘钥。默认
rfidreader.KeyStringMode=0;//16进制字符串
rfidreader.KeyString="FFFFFFFFFFFF";//默认秘钥字符串
rfidreader.Repeat=0;//只执行一次
rfidreader.M1ReadBlock("5", 0);//读取5扇区的数据,秘钥是FFFFFFFFFFFF。不管卡号 }
参考: [友我科技读卡器开发指南](#hf)