|
@@ -0,0 +1,509 @@
|
|
|
+export var READER_TYPE = {
|
|
|
+ _reader_type_contactLess: 1,
|
|
|
+ _reader_type_contact: 2,
|
|
|
+ _reader_type_keyBoard: 3,
|
|
|
+ _reader_type_compro: 4,
|
|
|
+ };
|
|
|
+
|
|
|
+export var FUNCIDS = {
|
|
|
+ _fid_adaptReader: 0,
|
|
|
+ _fid_initialcom: 1,
|
|
|
+ _fid_exit: 2,
|
|
|
+ _fid_beep: 3,
|
|
|
+ _fid_GetDevSN: 4,
|
|
|
+ _fid_srd_eeprom: 5,
|
|
|
+ _fid_swr_eeprom: 6,
|
|
|
+ _fid_setBright: 7,
|
|
|
+ _fid_dispstr_ex: 8,
|
|
|
+ _fid_dispClear: 9,
|
|
|
+ _fid_passInReady: 10,
|
|
|
+ _fid_getPassPressed: 11,
|
|
|
+ _fid_getPassConfirmed: 12,
|
|
|
+ _fid_passInEnd: 13,
|
|
|
+ _fid_loadKey: 30,
|
|
|
+ _fid_findCard: 31,
|
|
|
+ _fid_findCardStr: 32,
|
|
|
+ _fid_findCardHex: 33,
|
|
|
+ _fid_authenClass: 34,
|
|
|
+ _fid_readAsStr: 35,
|
|
|
+ _fid_readAsHex: 36,
|
|
|
+ _fid_writeAsStr: 37,
|
|
|
+ _fid_writeAsHex: 38,
|
|
|
+ _fid_initVal: 39,
|
|
|
+ _fid_increment: 40,
|
|
|
+ _fid_decrement: 41,
|
|
|
+ _fid_readVal: 42,
|
|
|
+ _fid_transfer: 43,
|
|
|
+ _fid_changeKey: 44,
|
|
|
+ _fid_halt: 45,
|
|
|
+ _fid_resetRF: 46,
|
|
|
+ _fid_tagSetPwd: 47,
|
|
|
+ _fid_tagAuthenPwd: 48,
|
|
|
+ _fid_fcpuReset: 50,
|
|
|
+ _fid_fcpuAPDU: 51,
|
|
|
+ _fid_mifareProReset: 52,
|
|
|
+ _fid_mifareProAPDU: 53,
|
|
|
+ _fid_fmCosSelectApp: 60,
|
|
|
+ _fid_fmCosCreateMainApp: 61,
|
|
|
+ _fid_fmCosDeleteFileSys: 62,
|
|
|
+ _fid_fmCosVerifyKey: 63,
|
|
|
+ _fid_fmCosCreateDirectory: 64,
|
|
|
+ _fid_fmCosSelectDirectory: 65,
|
|
|
+ _fid_fmCosCreateKeyFile: 66,
|
|
|
+ _fid_fmCosAddKey: 67,
|
|
|
+ _fid_fmCosAddKeyEx: 68,
|
|
|
+ _fid_fmFWCosCreateBinaryFile: 69,
|
|
|
+ _fid_fmFWCosCreateRecordFile: 70,
|
|
|
+ _fid_fmCosCreateADF: 71,
|
|
|
+ _fid_fmCosActiveDirectory: 72,
|
|
|
+ _fid_fmCosReadBinaryFile: 73,
|
|
|
+ _fid_fmCosUpdateBinaryFile: 74,
|
|
|
+ _fid_fmCosAppendRecord: 75,
|
|
|
+ _fid_fmCosUpdateRecord: 76,
|
|
|
+ _fid_fmCosReadRecord: 77,
|
|
|
+ _fid_fmCosCredit: 78,
|
|
|
+ _fid_fmCosPurchase: 79,
|
|
|
+ _fid_fmCosGetBalance: 80,
|
|
|
+ _fid_fmCosUpdateKey: 81,
|
|
|
+ _fid_fmCosUpdatePin: 82,
|
|
|
+ _fid_fmCosPinReload: 83,
|
|
|
+ _fid_fmCosPinUnlock: 84,
|
|
|
+ _fid_icode_inventory: 85,
|
|
|
+ _fid_icode_select_uid: 86,
|
|
|
+ _fid_icode_readblockAsStr: 87,
|
|
|
+ _fid_icode_readblockAsHex: 88,
|
|
|
+ _fid_icode_writeblockAsStr: 89,
|
|
|
+ _fid_icode_writeblockAsHex: 90,
|
|
|
+ _fid_icode_lock_block: 91,
|
|
|
+ _fid_icode_get_systemInfo: 92,
|
|
|
+ _fid_request_b: 150,
|
|
|
+ _fid_CommandLink_at: 151,
|
|
|
+ _fid_config_card: 399,
|
|
|
+ _fid_getIDCardSN: 400,
|
|
|
+ _fid_getAutoReturnData: 450,
|
|
|
+ _fid_strToHex: 500,
|
|
|
+ _fid_hexToStr: 501,
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+export const SmartReader = {
|
|
|
+ OBJ: function () {
|
|
|
+ var reader = {};
|
|
|
+ var SocketOpen = false;
|
|
|
+ var socket = null;
|
|
|
+ var target = null;
|
|
|
+ var adaptedID = READER_TYPE._reader_type_contactLess;
|
|
|
+
|
|
|
+ reader.onResult = function (func) {
|
|
|
+ target.addEvent("Result", func);
|
|
|
+ };
|
|
|
+
|
|
|
+ var WSonOpen = function () {
|
|
|
+ var pseudoName = "webReader";
|
|
|
+ var curTime = new Date();
|
|
|
+ var lTime = Date.parse(curTime);
|
|
|
+ var ms = curTime.getMilliseconds();
|
|
|
+
|
|
|
+ socket.send('0' + pseudoName + lTime + ms);
|
|
|
+ SocketOpen = true;
|
|
|
+ reader.adaptReader(adaptedID);
|
|
|
+ };
|
|
|
+ var WSonMessage = function (msg) {
|
|
|
+ var str = "";
|
|
|
+ str = msg.data;
|
|
|
+ var id = str.substr(0, 1);
|
|
|
+ var separator = str.indexOf("|");
|
|
|
+ var funcid = "";
|
|
|
+ var arg1 = "";
|
|
|
+
|
|
|
+ if (separator != -1) {
|
|
|
+ funcid = str.substr(1, separator - 1);
|
|
|
+ arg1 = str.substr(separator + 1);
|
|
|
+ } else
|
|
|
+ funcid = str.substr(1);
|
|
|
+
|
|
|
+ //alert("id:" + id + ",funcid:" + funcid +",arg1:" + arg1);
|
|
|
+
|
|
|
+ var resultData = {
|
|
|
+ type: "Result",
|
|
|
+ FunctionID: parseInt(funcid),
|
|
|
+ RePara_Int: parseInt(_getCmdResult(arg1)),
|
|
|
+ RePara_Str: _getResultPara(arg1)
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ if (target != null)
|
|
|
+ target.fireEvent(resultData);
|
|
|
+ };
|
|
|
+ var WSonClose = function () {
|
|
|
+ SocketOpen = false;
|
|
|
+ };
|
|
|
+ var WSonError = function () {
|
|
|
+ alert("Server not running");
|
|
|
+ };
|
|
|
+ reader.createSocket = function () {
|
|
|
+ try {
|
|
|
+ if ("WebSocket" in window) {
|
|
|
+ socket = new WebSocket("ws://localhost:81/webReaderServer");
|
|
|
+ console.log("WebSocket连接成功")
|
|
|
+ } else if ("MozWebSocket" in window) {
|
|
|
+ socket = new MozWebSocket("ws://localhost:81/webReaderServer");
|
|
|
+ } else {
|
|
|
+ alert("None");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ socket.onopen = WSonOpen;
|
|
|
+ socket.onmessage = WSonMessage;
|
|
|
+ socket.onclose = WSonClose;
|
|
|
+ socket.onerror = WSonError;
|
|
|
+ target = new EventTarget();
|
|
|
+ return true;
|
|
|
+ } catch (ex) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ reader.Disconnect = function () {
|
|
|
+ if (socket != null)
|
|
|
+ socket.close();
|
|
|
+ };
|
|
|
+
|
|
|
+ reader.getOBJ = function (id) {
|
|
|
+ adaptedID = id;
|
|
|
+ return reader;
|
|
|
+ };
|
|
|
+
|
|
|
+ var SendCmd = function (FuncName, FunctionID, ParamStr) {
|
|
|
+ var entryCmd;
|
|
|
+ if (true == SocketOpen) {
|
|
|
+ entryCmd = '1' + FunctionID + "|" + FuncName + "|" + ParamStr;
|
|
|
+ socket.send(entryCmd);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ reader.adaptReader = function (readerType) {
|
|
|
+ SendCmd("adaptReader", FUNCIDS._fid_adaptReader, readerType);
|
|
|
+ };
|
|
|
+ reader.initialcom = function (portType, baud) {
|
|
|
+ SendCmd("initialcom", FUNCIDS._fid_initialcom, portType + "," + baud);
|
|
|
+ };
|
|
|
+ reader.exit = function (hdev) {
|
|
|
+ SendCmd("exit", FUNCIDS._fid_exit, hdev);
|
|
|
+ };
|
|
|
+ reader.beep = function (hdev, delay) {
|
|
|
+ SendCmd("beep", FUNCIDS._fid_beep, hdev + "," + delay);
|
|
|
+ };
|
|
|
+ reader.GetDevSN = function (hdev) {
|
|
|
+ SendCmd("GetDevSN", FUNCIDS._fid_GetDevSN, hdev);
|
|
|
+ };
|
|
|
+ reader.srd_eeprom = function (hdev, offset, length) {
|
|
|
+ SendCmd("srd_eeprom", FUNCIDS._fid_srd_eeprom, hdev + "," + offset + "," + length);
|
|
|
+ };
|
|
|
+ reader.swr_eeprom = function (hdev, offset, length, wData) {
|
|
|
+ SendCmd("swr_eeprom", FUNCIDS._fid_swr_eeprom, hdev + "," + offset + "," + length + "," + wData);
|
|
|
+ };
|
|
|
+ reader.lcd_setBright = function (hdev, fBright) {
|
|
|
+ SendCmd("lcd_setBright", FUNCIDS._fid_setBright, hdev + "," + fBright);
|
|
|
+ };
|
|
|
+ reader.lcd_dispstr_ex = function (hdev, str, line, offset, str_len, flag) {
|
|
|
+ SendCmd("lcd_dispstr_ex", FUNCIDS._fid_dispstr_ex, hdev + "," + str + "," + line + "," + offset + "," + str_len + "," + flag);
|
|
|
+ };
|
|
|
+ reader.lcd_dispclear = function (hdev) {
|
|
|
+ SendCmd("lcd_dispclear", FUNCIDS._fid_dispClear, hdev);
|
|
|
+ };
|
|
|
+ reader.passInReady = function (hdev, waitTime) {
|
|
|
+ SendCmd("passInReady", FUNCIDS._fid_passInReady, hdev + "," + waitTime);
|
|
|
+ };
|
|
|
+ reader.getPassPressed = function (hdev) {
|
|
|
+ SendCmd("getPassPressed", FUNCIDS._fid_getPassPressed, hdev);
|
|
|
+ };
|
|
|
+ reader.getPassConfirmed = function (hdev) {
|
|
|
+ SendCmd("getPassConfirmed", FUNCIDS._fid_getPassConfirmed, hdev);
|
|
|
+ };
|
|
|
+ reader.passInEnd = function (hdev) {
|
|
|
+ SendCmd("passInEnd", FUNCIDS._fid_passInEnd, hdev);
|
|
|
+ };
|
|
|
+
|
|
|
+ reader.loadkey = function (hdev, mode, sector, strKey) {
|
|
|
+ SendCmd("loadkey", FUNCIDS._fid_loadKey, hdev + "," + mode + "," + sector + "," + strKey);
|
|
|
+ };
|
|
|
+ reader.findcard = function (hdev, mode) {
|
|
|
+ SendCmd("findcard", FUNCIDS._fid_findCard, hdev + "," + mode);
|
|
|
+ };
|
|
|
+ reader.findcardStr = function (hdev, mode) {
|
|
|
+ SendCmd("findcardStr", FUNCIDS._fid_findCardStr, hdev + "," + mode);
|
|
|
+ };
|
|
|
+ reader.findcardHex = function (hdev, mode) {
|
|
|
+ SendCmd("findcardHex", FUNCIDS._fid_findCardHex, hdev + "," + mode);
|
|
|
+ };
|
|
|
+ reader.authentication = function (hdev, mode, sector) {
|
|
|
+ SendCmd("authentication", FUNCIDS._fid_authenClass, hdev + "," + mode + "," + sector);
|
|
|
+ };
|
|
|
+ reader.read = function (hdev, block) {
|
|
|
+ SendCmd("read", FUNCIDS._fid_readAsStr, hdev + "," + block);
|
|
|
+ };
|
|
|
+ reader.directRead = function (hdev, block) {
|
|
|
+ SendCmd("directRead", FUNCIDS._fid_readAsHex, hdev + "," + block);
|
|
|
+ };
|
|
|
+ reader.write = function (hdev, block, wdata) {
|
|
|
+ SendCmd("write", FUNCIDS._fid_writeAsStr, hdev + "," + block + "," + wdata);
|
|
|
+ };
|
|
|
+ reader.directWrite = function (hdev, block, wdata) {
|
|
|
+ SendCmd("directWrite", FUNCIDS._fid_writeAsHex, hdev + "," + block + "," + wdata);
|
|
|
+ };
|
|
|
+ reader.initialval = function (hdev, block, value) {
|
|
|
+ SendCmd("initval", FUNCIDS._fid_initVal, hdev + "," + block + "," + value);
|
|
|
+ };
|
|
|
+ reader.increment = function (hdev, block, value) {
|
|
|
+ SendCmd("increment", FUNCIDS._fid_increment, hdev + "," + block + "," + value);
|
|
|
+ };
|
|
|
+ reader.decrement = function (hdev, block, value) {
|
|
|
+ SendCmd("decrement", FUNCIDS._fid_decrement, hdev + "," + block + "," + value);
|
|
|
+ };
|
|
|
+ reader.readval = function (hdev, block) {
|
|
|
+ SendCmd("readval", FUNCIDS._fid_readVal, hdev + "," + block);
|
|
|
+ };
|
|
|
+ reader.transfer = function (hdev, block) {
|
|
|
+ SendCmd("transfer", FUNCIDS._fid_transfer, hdev + "," + block);
|
|
|
+ };
|
|
|
+ reader.changkey = function (hdev, sector, strKeyA, strCtrlW, bk, strKeyB) {
|
|
|
+ SendCmd("changekey", FUNCIDS._fid_changeKey, hdev + "," + sector + "," + strKeyA + "," + strCtrlW + "," + bk + "," + strKeyB);
|
|
|
+ };
|
|
|
+ reader.halt = function (hdev) {
|
|
|
+ SendCmd("halt", FUNCIDS._fid_halt, hdev);
|
|
|
+ };
|
|
|
+ reader.reset = function (hdev, ms) {
|
|
|
+ SendCmd("reset", FUNCIDS._fid_resetRF, hdev + "," + ms);
|
|
|
+ };
|
|
|
+ reader.tagSetPwd = function (hdev, tagType, pwd, protectType, startAddrToProtect, maxErrorVerify, lockConfig) {
|
|
|
+ SendCmd("tagSetPwd", FUNCIDS._fid_tagSetPwd, hdev + "," + tagType + "," + pwd + "," + protectType + "," + startAddrToProtect + "," + maxErrorVerify + "," + lockConfig);
|
|
|
+ };
|
|
|
+ reader.tagAuthenPwd = function (hdev, pwd) {
|
|
|
+ SendCmd("tagAuthenPwd", FUNCIDS._fid_tagAuthenPwd, hdev + "," + pwd);
|
|
|
+ };
|
|
|
+ reader.mifareproReset = function (hdev) {
|
|
|
+ SendCmd("mifareProReset", FUNCIDS._fid_mifareProReset, hdev);
|
|
|
+ };
|
|
|
+ reader.mifareproCommandlink = function (hdev, strCmd) {
|
|
|
+ SendCmd("mifareproCommandlink", FUNCIDS._fid_mifareProAPDU, hdev + "," + strCmd);
|
|
|
+ };
|
|
|
+ reader.fcpureset = function (hdev, rlen) {
|
|
|
+ SendCmd("fcpureset", FUNCIDS._fid_fcpuReset, hdev + "," + rlen);
|
|
|
+ };
|
|
|
+ reader.fcpuCommandlink = function (hdev, slen, strSendCmd, ftt, fFG) {
|
|
|
+ SendCmd("cpuCommand", FUNCIDS._fid_fcpuAPDU, hdev + "," + slen + "," + strSendCmd + "," + ftt + "," + fFG);
|
|
|
+ };
|
|
|
+ reader.GetIDCardSN = function (hdev) {
|
|
|
+ SendCmd("getIDCardSN", FUNCIDS._fid_getIDCardSN, hdev);
|
|
|
+ };
|
|
|
+
|
|
|
+ reader.FWCosSelecteApp = function (hdev) {
|
|
|
+ SendCmd("FMCosSelectApp", FUNCIDS._fid_fmCosSelectApp, hdev);
|
|
|
+ };
|
|
|
+ reader.FWCosCreateMainApp = function (hdev) {
|
|
|
+ SendCmd("FMCosCreateMainApp", FUNCIDS._fid_fmCosCreateMainApp, hdev);
|
|
|
+ };
|
|
|
+ reader.FWCosDeleteFileSys = function (hdev) {
|
|
|
+ SendCmd("FMCosDeleteFileSys", FUNCIDS._fid_fmCosDeleteFileSys, hdev);
|
|
|
+ };
|
|
|
+ reader.FWCosVerifyKey = function (hdev, pbKey, ulKeyType) {
|
|
|
+ SendCmd("FMCosVerifyKey", FUNCIDS._fid_fmCosVerifyKey, hdev + "," + pbKey + "," + ulKeyType);
|
|
|
+ };
|
|
|
+ reader.FWCosCreateDirectory = function (hdev, usDirFileID, usDirSize, ulCreateSec, ulDeleteSec) {
|
|
|
+ SendCmd("FMCosCreateDirectory", FUNCIDS._fid_fmCosCreateDirectory,
|
|
|
+ hdev + "," + usDirFileID + "," + usDirSize + "," + ulCreateSec + "," + ulDeleteSec);
|
|
|
+ };
|
|
|
+ reader.FWCosSelectDirectory = function (hdev, usDirID) {
|
|
|
+ SendCmd("FMCosSelectDirectory", FUNCIDS._fid_fmCosSelectDirectory, hdev + "," + usDirID);
|
|
|
+ };
|
|
|
+ reader.FWCosCreateKeyFile = function (hdev, usDirFileID, usFileID, uFileLen, ulGenSec) {
|
|
|
+ SendCmd("FMCosCreateKeyFile", FUNCIDS._fid_fmCosCreateKeyFile,
|
|
|
+ hdev + "," + usDirFileID + "," + usFileID + "," + uFileLen + "," + ulGenSec);
|
|
|
+ };
|
|
|
+ reader.FWCosAddKey = function (hdev, bKeyType, pbKeyValue) {
|
|
|
+ SendCmd("FMCosAddKey", FUNCIDS._fid_fmCosAddKey, hdev + "," + bKeyType + "," + pbKeyValue);
|
|
|
+ };
|
|
|
+ reader.FWCosAddKeyEx = function (hdev, bKeyType, ucKeyID, pbKeyValue, ucSecUpdate, ucNextSt, ucMaxCntError, cryptType) {
|
|
|
+ SendCmd("FMCosAddKeyEx", FUNCIDS._fid_fmCosAddKeyEx,
|
|
|
+ hdev + "," + bKeyType + "," + ucKeyID + "," + pbKeyValue + "," + ucSecUpdate + "," + ucNextSt + "," + ucMaxCntError + "," + cryptType);
|
|
|
+ };
|
|
|
+ reader.FWCosCreateBinaryFile = function (hdev, usDirFileID, usFileID, usFileLen, cryptType, ulReadSec, ulUpdateSec, ulDeleteSec) {
|
|
|
+ SendCmd("FMCosCreateBinaryFile",
|
|
|
+ FUNCIDS._fid_fmFWCosCreateBinaryFile, hdev + "," + usDirFileID + "," + usFileID + "," + usFileLen + "," + cryptType + "," + ulReadSec + "," + ulUpdateSec);
|
|
|
+ };
|
|
|
+ reader.FWCosCreateRecordFile = function (hdev, usDirFileID, ucFRecord, usFileID, bRecordNum, bRecordLen, cryptType, ulReadSec, ulUpdateSec, ulDeleteSec) {
|
|
|
+ SendCmd("FMCosCreateRecordFile", FUNCIDS._fid_fmFWCosCreateRecordFile, hdev + "," + usDirFileID + "," + ucFRecord + "," + usFileID + "," + bRecordNum + "," + bRecordLen + "," +
|
|
|
+ cryptType + "," + ulReadSec + "," + ulUpdateSec + "," + ulDeleteSec);
|
|
|
+ };
|
|
|
+ reader.FWCosCreateADF = function (hdev, usDirFileID, ulCreateSec, ulDeleteSec, pbDirName) {
|
|
|
+ SendCmd("FMCosCreateADF", FUNCIDS._fid_fmCosCreateADF, hdev + "," + usDirFileID + "," + ulCreateSec + "," + ulDeleteSec + "," + pbDirName);
|
|
|
+ };
|
|
|
+ reader.FWCosActiveDirectory = function (hdev, usDirFileID) {
|
|
|
+ SendCmd("FMCosActiveDirectory", FUNCIDS._fid_fmCosActiveDirectory, hdev + "," + usDirFileID);
|
|
|
+ };
|
|
|
+ reader.FWCosReadBinaryFile = function (hdev, usFileID, usOffset, usReadLen, cryptType, pProKey) {
|
|
|
+ SendCmd("FMCosReadBinaryFile", FUNCIDS._fid_fmCosReadBinaryFile,
|
|
|
+ hdev + "," + usFileID + "," + usOffset + "," + usReadLen + "," + cryptType + "," + pProKey);
|
|
|
+ };
|
|
|
+ reader.FWCosUpdateBinaryFile = function (hdev, usFileID, usOffset, pbBinData, cryptType, pProKey) {
|
|
|
+ SendCmd("FMCosUpdateBinaryFile", FUNCIDS._fid_fmCosUpdateBinaryFile,
|
|
|
+ hdev + "," + usFileID + "," + usOffset + "," + pbBinData + "," + cryptType + "," + pProKey);
|
|
|
+ };
|
|
|
+ reader.FWCosAppendRecord = function (hdev, bRecordFileID, pbRecData, cryptType, pProKey) {
|
|
|
+ SendCmd("FMCosAppendRecord", FUNCIDS._fid_fmCosAppendRecord,
|
|
|
+ hdev + "," + bRecordFileID + "," + pbRecData + "," + cryptType + "," + pProKey);
|
|
|
+ };
|
|
|
+ reader.FWCosUpdateRecord = function (hdev, ucRecord, bRecordFileID, bRecordNum, pbRecData, cryptType, pProKey) {
|
|
|
+ SendCmd("FMCosUpdateRecord", FUNCIDS._fid_fmCosUpdateRecord,
|
|
|
+ hdev + "," + ucRecord + "," + bRecordFileID + "," + bRecordNum + "," + pbRecData + "," + cryptType + "," + pProKey);
|
|
|
+ };
|
|
|
+ reader.FWCosReadRecord = function (hdev, ucFRecord, bRecordFileID, bRecordNum, bRecordLen) {
|
|
|
+ SendCmd("FMCosReadRecord", FUNCIDS._fid_fmCosReadRecord,
|
|
|
+ hdev + "," + ucFRecord + "," + bRecordFileID + "," + bRecordNum + "," + bRecordLen);
|
|
|
+ };
|
|
|
+ reader.FWCosCredit = function (hdev, ucKeyID, value, terminalID, pbCreditKey) {
|
|
|
+ SendCmd("FMCosCredit", FUNCIDS._fid_fmCosCredit,
|
|
|
+ hdev + "," + ucKeyID + "," + value + "," + terminalID + "," + pbCreditKey);
|
|
|
+ };
|
|
|
+ reader.FWCosPurchase = function (hdev, ucKeyID, value, terminalID, pbPurchaseKey) {
|
|
|
+ SendCmd("FMCosPurchase", FUNCIDS._fid_fmCosPurchase,
|
|
|
+ hdev + "," + ucKeyID + "," + value + "," + terminalID + "," + pbPurchaseKey);
|
|
|
+ };
|
|
|
+ reader.FWCosGetBalance = function (hdev) {
|
|
|
+ SendCmd("FMCosGetBalance", FUNCIDS._fid_fmCosGetBalance, hdev);
|
|
|
+ };
|
|
|
+ reader.FWCosUpdateKey = function (hdev, pbOldKey, pbNewKey, bKeyType) {
|
|
|
+ SendCmd("FMCosUpdateKey", FUNCIDS._fid_fmCosUpdateKey,
|
|
|
+ hdev + "," + pbOldKey + "," + pbNewKey + "," + bKeyType);
|
|
|
+ };
|
|
|
+ reader.FWCosUpdatePin = function (hdev, pbOldPin, pbNewPin) {
|
|
|
+ SendCmd("FMCosUpdatePin", FUNCIDS._fid_fmCosUpdatePin,
|
|
|
+ hdev + "," + pbOldPin + "," + pbNewPin);
|
|
|
+ };
|
|
|
+ reader.FWCosPinReload = function (hdev, pbNewPin, pbReloadKey) {
|
|
|
+ SendCmd("FMCosPinReload", FUNCIDS._fid_fmCosPinReload,
|
|
|
+ hdev + "," + pbNewPin + "," + pbReloadKey);
|
|
|
+ };
|
|
|
+ reader.FWCosPinUnlock = function (hdev, pbPin, pbUnlockKey) {
|
|
|
+ SendCmd("FMCosPinUnlock", FUNCIDS._fid_fmCosPinUnlock,
|
|
|
+ hdev + "," + pbPin + "," + pbUnlockKey);
|
|
|
+ };
|
|
|
+ reader.icode_inventory = function (hdev, findMode, AFI, maskLen) {
|
|
|
+ SendCmd("icode_inventory", FUNCIDS._fid_icode_inventory,
|
|
|
+ hdev + "," + findMode + "," + AFI + "," + maskLen);
|
|
|
+ };
|
|
|
+ reader.icode_select_uid = function (hdev, flags, UID) {
|
|
|
+ SendCmd("icode_select_uid", FUNCIDS._fid_icode_select_uid,
|
|
|
+ hdev + "," + flags + "," + UID);
|
|
|
+ };
|
|
|
+ reader.icode_readblock = function (hdev, flags, startblock, blocknum, UID) {
|
|
|
+ SendCmd("icode_readblock", FUNCIDS._fid_icode_readblockAsStr,
|
|
|
+ hdev + "," + flags + "," + startblock + "," + blocknum + "," + UID);
|
|
|
+ };
|
|
|
+ reader.icode_readblock_hex = function (hdev, flags, startblock, blocknum, UID) {
|
|
|
+ SendCmd("icode_readblock_hex", FUNCIDS._fid_icode_readblockAsHex,
|
|
|
+ hdev + "," + flags + "," + startblock + "," + blocknum + "," + UID);
|
|
|
+ };
|
|
|
+ reader.icode_writeblock = function (hdev, flags, startblock, blocknum, UID, wbuffer) {
|
|
|
+ SendCmd("icode_writeblock", FUNCIDS._fid_icode_writeblockAsStr,
|
|
|
+ hdev + "," + flags + "," + startblock + "," + blocknum + "," + UID + "," + wbuffer);
|
|
|
+ };
|
|
|
+ reader.icode_writeblock_hex = function (hdev, flags, startblock, blocknum, UID, wbuffer) {
|
|
|
+ SendCmd("icode_writeblock_hex", FUNCIDS._fid_icode_writeblockAsHex,
|
|
|
+ hdev + "," + flags + "," + startblock + "," + blocknum + "," + UID + "," + wbuffer);
|
|
|
+ };
|
|
|
+ reader.icode_lock_block = function (hdev, flags, block, UID) {
|
|
|
+ SendCmd("icode_lock_block", FUNCIDS._fid_icode_lock_block,
|
|
|
+ hdev + "," + flags + "," + block + "," + UID);
|
|
|
+ };
|
|
|
+ reader.icode_get_systemInfo = function (hdev, flags, UID) {
|
|
|
+ SendCmd("icode_get_systemInfo", FUNCIDS._fid_icode_get_systemInfo,
|
|
|
+ hdev + "," + flags + "," + UID);
|
|
|
+ };
|
|
|
+
|
|
|
+ reader.request_b = function (hdev, mode, aid, channalNum) {
|
|
|
+ SendCmd("request_b", FUNCIDS._fid_request_b, hdev + "," + mode + "," + aid + "," + channalNum);
|
|
|
+ };
|
|
|
+ reader.CommandLink_at = function (hdev, slen, strSendCmd) {
|
|
|
+ SendCmd("CommandLink_at", FUNCIDS._fid_CommandLink_at, hdev + "," + slen + "," + strSendCmd);
|
|
|
+ };
|
|
|
+
|
|
|
+ reader.config_card = function (hdev, cardType) {
|
|
|
+ SendCmd("config_card", FUNCIDS._fid_config_card,
|
|
|
+ hdev + "," + cardType);
|
|
|
+ };
|
|
|
+
|
|
|
+ reader.hexTochar = function (str, strLen) {
|
|
|
+ SendCmd("strToHex", FUNCIDS._fid_strToHex, str + "," + strLen);
|
|
|
+ };
|
|
|
+ reader.charToHex = function (hex, hexLen) {
|
|
|
+ SendCmd("hexToStr", FUNCIDS._fid_hexToStr, hex + "," + hexLen);
|
|
|
+ };
|
|
|
+ reader.getAutoReturnData = function (hdev) {
|
|
|
+ SendCmd("getAutoReturnData", FUNCIDS._fid_getAutoReturnData, hdev);
|
|
|
+ };
|
|
|
+
|
|
|
+ return reader;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+export function EventTarget() {
|
|
|
+ this.handlers = {};
|
|
|
+ }
|
|
|
+
|
|
|
+ EventTarget.prototype = {
|
|
|
+ constructor: EventTarget, addEvent: function (type, handler) {
|
|
|
+ console.log("EventTargetEventTargetEventTarget")
|
|
|
+ if (typeof this.handlers[type] == 'undefined') {
|
|
|
+ this.handlers[type] = [];
|
|
|
+ }
|
|
|
+ this.handlers[type].push(handler);
|
|
|
+ }, fireEvent: function (event) {
|
|
|
+ if (!event.target) {
|
|
|
+ event.target = this;
|
|
|
+ }
|
|
|
+ if (this.handlers[event.type] instanceof Array) {
|
|
|
+ var handlers = this.handlers[event.type];
|
|
|
+ for (var i = 0; i < handlers.length; i++) {
|
|
|
+ handlers[i](event);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, removeEvent: function (type, handler) {
|
|
|
+ if (this.handlers[type] instanceof Array) {
|
|
|
+ var handlers = this.handlers[type];
|
|
|
+ for (var i = 0; i < handlers.length; i++) {
|
|
|
+ if (handlers[i] == handler) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ handlers.splice(i, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+export function _getCmdResult(relPara) {
|
|
|
+ var iRel;
|
|
|
+ var separator = relPara.indexOf(",");
|
|
|
+ if (separator != -1) {
|
|
|
+ iRel = relPara.substr(0, separator);
|
|
|
+ } else
|
|
|
+ iRel = relPara.substr(0);
|
|
|
+
|
|
|
+ return iRel;
|
|
|
+ }
|
|
|
+
|
|
|
+export function _getResultPara(relPara) {
|
|
|
+ var szPara = "";
|
|
|
+ var separator = relPara.indexOf(",");
|
|
|
+ if (separator != -1) {
|
|
|
+ szPara = relPara.substr(separator + 1);
|
|
|
+ }
|
|
|
+ return szPara;
|
|
|
+ }
|
|
|
+
|
|
|
+ export const embed_reader = SmartReader.OBJ();
|
|
|
+
|
|
|
+
|
|
|
+ if (!embed_reader.createSocket()) {
|
|
|
+ }
|
|
|
+
|
|
|
+
|