普通IC卡電子錢包是IC卡塊數(shù)據(jù)的另外一種格式,這種格式存儲占用了全部16個字節(jié),所以一旦將這個塊作為電子錢包使用,則不能在這個塊存儲任何其他的數(shù)據(jù).
電子錢包輸入和輸出均為4個字節(jié)整形,不能為小數(shù)類型.如果要存儲小數(shù)類型,需要放大相應(yīng)倍數(shù),使其轉(zhuǎn)變?yōu)檎?
電子錢包是數(shù)據(jù)存儲的另外一個格式,所以在我們使用電子錢包之前,必須將其初始化為錢包.之后才能對其充值和扣款,查詢余額操作.
使用友我科技IC卡讀卡器web插件系統(tǒng)可以在web瀏覽器,如IE,Firefox,Chrome,Safari,Opera及以這些為內(nèi)核的瀏覽器中對IC卡電子錢包進(jìn)行操作.

web通過友我科技IC卡讀卡器web插件系統(tǒng)操作IC卡讀卡器對電子錢包操作,初始化電子錢包API接口如下:
M1卡初始化錢包
M1IntialValue(blockIndex,value)
參數(shù):blockIndex,塊號,絕對地址,從0開始
value:要初始化的值.
舉例如下,我們將第4塊初始化為錢包,并且初始化余額為100.
function InitialValue()
{
var BlockID;
var Key;
var Value;
BlockID = 4;
Key ="FFFFFFFFFFFF";
Value = 100;
rfidreader.KeyMode=0;
rfidreader.KeyStringMode=0;
rfidreader.KeyString=Key;
rfidreader.Repeat=0;
rfidreader.M1IntialValue(BlockID, Value);
}
不管是成功還是失敗,回調(diào)函數(shù)返回結(jié)果:
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 9:
if(resultdata.Result>0)
{
CardNo=resultdata.CardNo;;
alert("初始化成功");
}
else
{
alert("初始化失敗");
}
break;
}
}
);
web對IC卡查詢余額接口如下
M1卡獲取錢包余額
參數(shù):blockIndex,塊號,絕對地址,從0開始
查詢錢包余額的結(jié)果通過回調(diào)函數(shù)返回.
以下代碼讀取第4塊的錢包余額
function ReadValue()
{
var BlockID;
var Key;
BlockID = 4;
Key ="FFFFFFFFFFFF";
rfidreader.KeyMode=0;
rfidreader.KeyStringMode=0;
rfidreader.KeyString=Key;
rfidreader.Repeat=0;
rfidreader.M1GetValue(BlockID);
}
讀取IC卡余額成功失敗都通過回調(diào)函數(shù)返回:
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 10:
if(resultdata.Result>0)
{
CardNo=resultdata.CardNo;
Balance = resultdata.ValData;
}
else
{
alert("讀取錯誤");
}
break;
}
}
);
IC卡電子錢包充值和扣款的web api接口如下:
M1卡錢包充值
M1IncreaseValue(blockIndex,value)
參數(shù):blockIndex,塊號,絕對地址,從0開始
value:要充值的值
M1DecreaseValue(blockIndex,value)
參數(shù):blockIndex,塊號,絕對地址,從0開始
不管是充值還是扣款,回調(diào)函數(shù)都將返回.如果是成功, 回調(diào)函數(shù)還返回充值和扣款后的余額.
還是以第4塊為例,充值和扣款值均為10,代碼如下:
充值
function IncreaseValue()
{
var BlockID;
var Key;
var Value;
BlockID = 4;
Key ="FFFFFFFFFFFF";
Value = 10;
rfidreader.KeyMode=0;
rfidreader.KeyStringMode=0;
rfidreader.KeyString=Key;
rfidreader.Repeat=0;
rfidreader.M1IncreaseValue(BlockID, Value);
}
function DecreaseValue()
{
var BlockID;
var Key;
var Value;
BlockID = 4;
Key ="FFFFFFFFFFFF";
Value = 10;
rfidreader.KeyMode=0;
rfidreader.KeyStringMode=0;
rfidreader.KeyString=Key;
rfidreader.Repeat=0;
rfidreader.M1DecreaseValue(BlockID, Value);
}
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case 11:
if(resultdata.Result>0)
{
CardNo= resultdata.CardNo;
Balance= resultdata.ValData;
}
else
{
alert("錯誤");
}
break
case 12:
if(resultdata.Result>0)
{
CardNo= resultdata.CardNo;
Balance= resultdata.ValData;
}
else
{
alert("錯誤");
}
break;
}
}
);
通過友我科技IC卡讀卡器web插件系統(tǒng)對IC卡電子錢包操作全部完成,代碼量很少。