175 字
1 分鐘
[ChtICToken.js] func getSmartCardID 取得卡號 | 自然人憑證開發筆記
2024-01-11
無標籤

首頁 > 系列文 > 自然人憑證開發筆記


ChtICToken.js 版本:R1.0.0.57


getSmartCardID(RevFun)#

  • RevFun 必填
    Callback Function

Response#

Callback funtion 中以 getICToken() 取得以下內容

{
"SmrtCrdID": ["TP03200302000000"],
"SlotID": ["InfoThink USB Reader 0"],
"SlotName": [],
"ActvSltID": ["0"],
"OldPIN": "",
"NewPIN": "",
"UID": "",
"CrdSys": "",
"KpMsg": "",
"exDynamicCreateFileInput": "",
"exDynamicReleaseFileInput": "",
"TBS": "TBS",
"TbsEncoding": "base64",
"HashAlgorithm": "SAH256",
"PIN": "",
"FUN": "CheckEnvir",
"SType": "PKCS1",
"RetObj": {
"RCode": "0",
"CardID": "TP03200302000000",
"RMsg": "undefined"
}
}

原始碼#

ICToken.prototype.getSmartCardID = function (RevFun) {
var l_vCardID;
var l_vRetData;
var l_iRetCode;
var l_vRMsg;
l_iRetCode = 0;
if (checkGoodDay() == false) {
l_iRetCode = 5500;
l_vRMsg = rMsg(l_iRetCode, "");
} else {
l_vRetData = checkCondition();
if (l_vRetData.RCode == 0) {
if (
InToken.ActvSltID[0] < InToken.SlotID.length &&
InToken.ActvSltID[0] >= 0
) {
l_vCardID = InToken.SmrtCrdID[InToken.ActvSltID[0]];
}
} else {
l_iRetCode = l_vRetData.RCode;
l_vRMsg = l_vRetData.RMsg;
}
}
l_vRetData =
'{"RCode":"' +
l_iRetCode +
'", "CardID":"' +
l_vCardID +
'","RMsg":"' +
l_vRMsg +
'"}';
InToken.RetObj = JSON.parse(l_vRetData);
if (RevFun && typeof RevFun === "function") RevFun();
};