BS结构RFID读写器web插件开发之五----电子钱包操作
2021/5/21 10:31:19
本文主要是介绍BS结构RFID读写器web插件开发之五----电子钱包操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
IC卡电子钱包web操作
普通IC卡电子钱包介绍
普通IC卡电子钱包是IC卡块数据的另外一种格式,这种格式存储占用了全部16个字节,所以一旦将这个块作为电子钱包使用,则不能在这个块存储任何其他的数据.
电子钱包输入和输出均为4个字节整形,不能为小数类型.如果要存储小数类型,需要放大相应倍数,使其转变为整形.
电子钱包是数据存储的另外一个格式,所以在我们使用电子钱包之前,必须将其初始化为钱包.之后才能对其充值和扣款,查询余额操作.
使用友我科技IC卡读卡器web插件系统可以在web浏览器,如IE,Firefox,Chrome,Safari,Opera及以这些为内核的浏览器中对IC卡电子钱包进行操作.
普通IC卡电子钱包web初始化
web通过友我科技IC卡读卡器web插件系统操作IC卡读卡器对电子钱包操作,初始化电子钱包API接口如下:
M1卡初始化钱包
M1IntialValue(blockIndex,value)
参数:blockIndex,块号,绝对地址,从0开始
value:要初始化的值.
举例如下,我们将第4块初始化为钱包,并且初始化余额为100.
function InitialValue() { var BlockID; var Key; var Value; BlockID = 4; //第4块 Key ="FFFFFFFFFFFF"; Value = 100;//初始化值为100 rfidreader.KeyMode=0; rfidreader.KeyStringMode=0; rfidreader.KeyString=Key; rfidreader.Repeat=0; rfidreader.M1IntialValue(BlockID, Value); }
不管是成功还是失败,回调函数返回结果:
rfidreader.onResult(function(resultdata) { switch(resultdata.FunctionID) { case 9: if(resultdata.Result>0) { CardNo=resultdata.CardNo;; alert("初始化成功"); } else { alert("初始化失败"); } break; } } );
普通IC卡电子钱包web查询余额
web对IC卡查询余额接口如下
M1卡获取钱包余额
M1GetValue(blockIndex)
参数: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卡余额成功失败都通过回调函数返回:
rfidreader.onResult(function(resultdata) { switch(resultdata.FunctionID) { case 10: if(resultdata.Result>0) { CardNo=resultdata.CardNo; Balance = resultdata.ValData;//电子钱包余额 } else { alert("读取错误"); } break; } } );
普通IC卡电子钱包充值和扣款
IC卡电子钱包充值和扣款的web api接口如下:
M1卡钱包充值
M1IncreaseValue(blockIndex,value)
参数:blockIndex,块号,绝对地址,从0开始
value:要充值的值
M1卡钱包扣款,即减值
M1DecreaseValue(blockIndex,value)
参数:blockIndex,块号,绝对地址,从0开始
value:要减值的值
不管是充值还是扣款,回调函数都将返回.如果是成功, 回调函数还返回充值和扣款后的余额.
还是以第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插件系统对IC卡电子钱包操作全部完成,代码量很少。
参考资料: IC卡读卡器web开发指南.
这篇关于BS结构RFID读写器web插件开发之五----电子钱包操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南