普通IC卡電子錢包是IC卡塊數據的另外一種格式,這種格式存儲占用瞭全部16個字節,所以一旦将這個塊作爲電子錢包使用,則不能在這個塊存儲任何其他的數據.
電子錢包輸入和輸出均爲4個字節整形,不能爲小數類型.如果要存儲小數類型,需要放大相應倍數,使其轉變爲整形.
電子錢包是數據存儲的另外一個格式,所以在我們使用電子錢包之前,必須将其初始化爲錢包.之後才能對其充值和扣款,查詢餘額操作.
使用友我科技IC卡讀卡器web插件系統可以在web浏覽器,如IE,Firefox,Chrome,Safari,Opera及以這些爲内核的浏覽器中對IC卡電子錢包進行操作.

web通過友我科技IC卡讀卡器web插件系統操作IC卡讀卡器對電子錢包操作,初始化電子錢包API接口如下:
M1卡初始化錢包
M1IntialValue(blockIndex,value)
參(cān)數:blockIndex,塊号,絕對地址,從(cóng)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);
}
不管是成功還是失敗(bài),回調(diào)函數返回結果:
rfidreader.onResult(function(resultdata)
{
switch(resultdata.FunctionID)
{
case
9:
if(resultdata.Result>0)
{ CardNo=resultdata.CardNo;;
alert("初始化成功");
}
else
{
alert("初始化失敗");
}
break;
}
}
);
web對IC卡查詢餘額接口如下
M1卡獲取錢包餘額
參數:blockIndex,塊号,絕對地址,從0開始
查詢錢包餘額的結果通過回調函數返回.
以下代碼讀取第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卡餘額成功失敗(bài)都通過回調(diào)函數返回:
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)
參數:blockIndex,塊号,絕對地址,從0開始
value:要充值的值
M1DecreaseValue(blockIndex,value)
參(cān)數:blockIndex,塊号,絕對地址,從(cóng)0開始
不管是充值還是扣款,回調(diào)函數都将返回.如果是成功, 回調(diào)函數還返回充值和扣款後的餘額(é).
還是以第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卡讀(dú)卡器web插件系統對IC卡電(diàn)子錢包操作全部完成,代碼量很少。