zoukankan      html  css  js  c++  java
  • 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开发指南.

  • 相关阅读:
    Linux系统 关机/重启/用户切换/注销,用户管理(用户创建/修改,用户组增加/删除),Linux中 / 和 ~ 的区别
    jQuery的ajax技术
    jQuery事件
    动态轮播图
    焦点式轮播图
    小米官网案例
    选项卡嵌套
    jQuery筛选方法
    导航条案例
    jQuery位置属性
  • 原文地址:https://www.cnblogs.com/yoworfid/p/14783744.html
Copyright © 2011-2022 走看看