對于回調(diào)方式,首先包含js文件
<script language="javascript" src="http://127.0.0.1:8008/YOWOCloudRFIDReader.js"></script>
對于異步方式(await/async),首先包含js文件,但是二者只能選擇一種
<script language="javascript" src="http://127.0.0.1:8008/YOWOCloudRFIDReaderAsync.js"></script>
在自己的文件中引用類:YOWORFIDReader, 如下代碼創(chuàng)建一個讀卡器的object。
try
{
var rfidreader=YOWORFIDReader.createNew();
}
catch(e)
{
var os=detectPlatform();
if(/Win32/i.test(os))//Windows系統(tǒng)
{
alert("沒有檢測到rfid讀寫器web插件,請先下載安裝!\n如果是最新版google瀏覽器,請使用診斷工具點(diǎn)擊診斷即可!");
top.location = "http://www.yxqyj.com/CloudReader/YOWORFIDReaderCloudForWeb.exe";
}else if(/Linux aarch64/i.test(os))//Arm64位linux系統(tǒng),包括ubuntu,銀河麒麟,統(tǒng)信UOS等國產(chǎn)系統(tǒng)
{
alert("點(diǎn)擊下載插件,雙擊安裝。");
top.location = "http://www.yxqyj.com/CloudReader/com.yoworfid.rfidreaderforweb_1.0_arm64.deb";
}else if(/Linux x86_64/i.test(os))//x64位linux系統(tǒng),包括ubuntu,銀河麒麟,統(tǒng)信UOS等國產(chǎn)系統(tǒng)
{
alert("點(diǎn)擊下載插件,雙擊安裝。");
top.location = "http://www.yxqyj.com/CloudReader/com.yoworfid.rfidreaderforweb_1.0_amd64.deb";
}
else
{
alert("暫時不支持的系統(tǒng),請咨詢友我科技");
}
}
if(!rfidreader.TryConnect())
{
alert("瀏覽器不支持,請更換瀏覽器后重試!");
}
然后就可以使用。
屬性名 | 類型 | 默認(rèn)值 | 名稱 | 備注 |
---|---|---|---|---|
Connected | bool | false | 是否連接Web插件 | |
Version | 字符串 | “” | Web插件版本 | Web插件的版本號,如“1.0.0.0”,此版本號可以通過回調(diào)函數(shù)取得 |
ReaderID | 數(shù)字 | 1 | 讀卡器ID | 此參數(shù)在使用USB接口的讀卡器時可以忽略,無須設(shè)置。 |
UID | 數(shù)字 | 0 | 自己定義的序號 | 自定義序號會隨著回調(diào)函數(shù)返回,即可以在回調(diào)函數(shù)中確定是在哪里調(diào)用函數(shù)的。但是前提是這個序號必須是唯一的。 |
RequestActive | 數(shù)字 | 1 | 尋卡模式 0:尋所有的卡 1:尋激活的卡
|
所有的卡,包括了halt休眠的卡,激活的卡不含halt休眠的卡。 |
KeyMode | 數(shù)字 | 0 | 密鑰類型 0:A密鑰 1:B密鑰 |
|
KeyString | 字符串 | "FFFFFFFFFFFF" | 密鑰字符串 | 對于高頻HF的卡片:如果是16進(jìn)制字符串,必須是6字節(jié)12個16進(jìn)制字符。如果是普通字符串可以隨意長度,不足部分自動補(bǔ)0x00,超出部分自動截掉。 如果使用下載的密鑰,則此處為密鑰序號。 對于超高頻UHF標(biāo)簽:4字節(jié)16進(jìn)制密碼或者數(shù)字密碼。 |
KeyStringMode | 數(shù)字 | 0 | 密鑰字符串的格式 0:16進(jìn)制字符串 1:普通字符串 2:使用下載的密鑰 |
|
Repeat | 數(shù)字 | 0 | 重復(fù)執(zhí)行標(biāo)志 0:只執(zhí)行一次 1:重復(fù)執(zhí)行 |
重復(fù)執(zhí)行得情況下,如果執(zhí)行成功,通過回調(diào)函數(shù)返回結(jié)果,如果失敗,則不返回任何結(jié)果。 只執(zhí)行一次的情況下,不管成功還是失敗都會通過回調(diào)函數(shù)返回結(jié)果。 對于異步await/async方式,此屬性無效. |
BeepOnSuccess | 數(shù)字 | 1 | 如果函數(shù)執(zhí)行成功,蜂鳴器Beep次數(shù) | |
BeepOnFail | 數(shù)字 | 0 | 如果函數(shù)執(zhí)行失敗,蜂鳴器Beep次數(shù) | |
HaltAfterSuccess | 數(shù)字 | 0 | 如果函數(shù)執(zhí)行成功,是否將卡休眠 0:不休眠 1:休眠 |
|
DesDir | 數(shù)字 | 0 | 數(shù)據(jù)加密方向 0:不加密 1:加密 2:解密 |
|
DesMode | 數(shù)字 | 0 | 加解密原數(shù)據(jù)處理方式: 0:原數(shù)據(jù) 1:對原數(shù)據(jù)取反 2:原數(shù)據(jù)+原數(shù)據(jù)取反 |
對于DesMode=2時,如果原數(shù)據(jù)為8字節(jié),則處理后的數(shù)據(jù)為16字節(jié)。所以寫塊操作時,如果加密寫塊,同時DesMode=2,則塊數(shù)據(jù)只能為8字節(jié)。 |
DesKey | 字符串 | "" | DES密鑰,可以為16進(jìn)制字符串或者普通字符串 |
DesKey的字節(jié)長度只能為8或者16,為8時為64位DES加解密,等于16字節(jié)時,為128位3DES加解密。 |
DesKeyMode | 數(shù)字 | 0 | DesKey密鑰的格式: 0:16進(jìn)制字符串 1:普通字符串 |
IC卡web插件YOWORFIDReader的回調(diào)函數(shù):onResult
可以做如下調(diào)用:
rfidreader.onResult(function(resultdata)
{
}
參數(shù)resultdata是一個結(jié)構(gòu),結(jié)構(gòu)類型如下:
FunctionID:數(shù)字,執(zhí)行的函數(shù)編號,
Result:數(shù)字,函數(shù)執(zhí)行后的返回值,小于0位失敗,大于0為成功。
UID:數(shù)字,執(zhí)行函數(shù)前,自定義的序號,
ReaderID:數(shù)字,讀卡器的ID,
CardNo:字符串,所操作的卡的卡號,16進(jìn)制正常順序,
strData:字符串,執(zhí)行函數(shù)根據(jù)函數(shù)參數(shù)返回的數(shù)據(jù),
ValData:數(shù)字,執(zhí)行函數(shù)根據(jù)函數(shù)參數(shù)返回數(shù)字結(jié)果
IC卡web插件YOWORFIDReader的異步(await/async)函數(shù)的返回值
所有的異步api接口必須使用await關(guān)鍵字調(diào)用,返回一個結(jié)構(gòu),結(jié)構(gòu)類型如下:
FunctionID:數(shù)字,執(zhí)行的函數(shù)編號,
Result:數(shù)字,函數(shù)執(zhí)行后的返回值,小于0位失敗,大于0為成功。
UID:數(shù)字,執(zhí)行函數(shù)前,自定義的序號,
ReaderID:數(shù)字,讀卡器的ID,
CardNo:字符串,所操作的卡的卡號,16進(jìn)制正常順序,
strData:字符串,執(zhí)行函數(shù)根據(jù)函數(shù)參數(shù)返回的數(shù)據(jù),
ValData:數(shù)字,執(zhí)行函數(shù)根據(jù)函數(shù)參數(shù)返回數(shù)字結(jié)果
例如:
let result = await rfidreader.M1ReadBlock(4, 0);
if(result.Result>0)
{
console.log(result.CardNo);
console.log(result.strData);
}
else
{
console.log(GetErrStr(result.Result));
}
}
IC卡web插件API函數(shù)接口按照使用的IC卡參考如下:
RFID讀寫器,SDK,IC卡讀卡器,開發(fā)包,二次開發(fā),智能卡讀卡器,RFID讀卡器,CPU卡讀寫器,讀卡模塊 微信掃一掃聯(lián)系我們 |