⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.js

📁 卡管理的hta程序
💻 JS
字号:
String.prototype.right=function(len)
{
	return this.substring(this.length-len);
}

String.prototype.trim=function()
{
	return this.replace(/(\s*$)|(^\s*)/g, "");
}

//获得当前的时间 年-月-日
function getNow()
{
var now=new Date();
return now.getYear()+"-"+("0"+(now.getMonth()+1)).right(2)+"-"+("0"+now.getDate()).right(2);
}

//获得下一年的今天的日期
function getNextYearNow()
{
var now=new Date();
return (now.getYear()+1)+"-"+("0"+(now.getMonth()+1)).right(2)+"-"+("0"+now.getDate()).right(2);
}

function initBmdm(obj)
{
obj.options.add(new Option("北京市","110000"));
obj.options.add(new Option("天津市","120000"));
obj.options.add(new Option("河北省","130000"));
obj.options.add(new Option("山西省","140000"));
obj.options.add(new Option("内蒙古自治区","150000"));
obj.options.add(new Option("辽宁省","210000"));
obj.options.add(new Option("吉林省","220000"));
obj.options.add(new Option("黑龙江省","230000"));
obj.options.add(new Option("上海市 ","310000"));
obj.options.add(new Option("江苏省 ","320000"));
obj.options.add(new Option("浙江省","330000"));
obj.options.add(new Option("安徽省 ","340000"));
obj.options.add(new Option("福建省 ","350000"));
obj.options.add(new Option("江西省  ","360000"));
obj.options.add(new Option("山东省 ","370000"));
obj.options.add(new Option("河南省","410000"));
obj.options.add(new Option("湖北省 ","420000"));
obj.options.add(new Option("湖南省 ","430000"));
obj.options.add(new Option("广东省 ","440000"));
obj.options.add(new Option("广西壮族自治区","450000"));
obj.options.add(new Option("海南省","460000"));
obj.options.add(new Option("重庆市","500000"));
obj.options.add(new Option("四川省","510000"));
obj.options.add(new Option("贵州省","520000"));
obj.options.add(new Option("云南省","530000"));
obj.options.add(new Option("西藏自治区","540000"));
obj.options.add(new Option("陕西省","610000"));
obj.options.add(new Option("甘肃省","620000"));
obj.options.add(new Option("青海省","630000"));
obj.options.add(new Option("宁夏回族自治区","640000"));
obj.options.add(new Option("新疆维吾尔自治区","650000"));
obj.options.add(new Option("台湾省","710000"));
obj.options.add(new Option("香港特别行政区","810000"));
obj.options.add(new Option("国家级","000000"));
}

var cwin;
function showDialog(url)
{
cwin = window.open(url,'cwin2','fullscreen=0,toolbar=0,width=350,height=150,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0' );
cwin.moveTo(130,200);
cwin.focus();
}

////////////////////////////////////////////////////////////////////

function Page_Load()
{
	form1.B1.onclick=function(){B1_Click();}
	form1.B2.onclick=function(){B2_Click();}
	form1.B3.onclick=function(){B3_Click();}
	form1.bmdm.onchange=function(){bmdm_Change();}
	form1.yxqq.value=getNow();
	form1.yxqz.value=getNextYearNow();
	initBmdm(form1.bmdm);
}

function bmdm_Change()
{
form1.yhmc.value=form1.bmdm.options[form1.bmdm.selectedIndex].text;
}

//开始写一个管理卡
function B1_Click()
{
Write();
}
//退出事件
function B2_Click()
{
	closes.Click();
}
//设置数据库连接
function B3_Click()
{
showDialog("lib/dbset.htm");
}

window.onload=function(){Page_Load();}
window.onunload=function(){closeICReader();cwin.close();}











/////////////////////////////////////////////
//标识IC端口是否成功打开 true 表示已经成功打开 false 表示没有成功打开
var isPortOpen=false;

//标识读卡器上是否有卡
var isFindCard=false;

//没有成功获得卡类型则cardType=0 否则表示卡类型 8 或 51
var cardType=0;

//没有成功验证则记录的用户密码为空,否则记录成功验证的用户密码
var strPin="";


function init(strUserPin)
{
	//如果端口还没有成功打开则打开
	if(!isPortOpen) 
		//端口打开失败则返回
		if(!openPort())			 return false;

//调试端口是否成功打开
// alert("isPortOpen:"+isPortOpen);

	//如果还没有发现IC卡则试图发现IC卡
	if(!isFindCard)
		//发现失败则返回
		if(!findICCard())		 return false;

//调试卡是否插好
//alert("isFindCard:"+isFindCard);

	//如果还没有获得卡类型则试图获得卡类型
	if(cardType==0)
	//如果获得卡类型失败则返回
		if(!findCardType())		 return false;

//调试是否成功发现卡类型
//alert("cardType:"+cardType);

	//如果还没有验证用户密码则验证用户密码
	if(strPin=="")
	//如果验证失败则返回
		if(!verifyUser(strUserPin))		 return false;
//调试是否成功验证
//alert("strPin"+strPin);
	//IC卡初始化完成,可以读写信息了	
	return true;
}

function Write()
{
init(form1.mm.value);

var CardID=getCardID(cardType);

//卡型,密码,值,起地址,长度
//写地区编码
writecard(cardType, strPin,40,form1.bmdm.value, 8);
//写用户类型
writecard(cardType, strPin, 48,"0", 8);
str="";
//写用户帐号
writecard(cardType, strPin, 56,str, 56);
//写用户权限
writecard(cardType, strPin, 112,"222222222222", 24);
//写开始日期
writecard(cardType, strPin, 136, form1.yxqq.value.trim(), 16);
//写截止日期
writecard(cardType, strPin,152,  form1.yxqz.value.trim(), 16);
//写用户名称
writecard(cardType, strPin,168 , form1.yhmc.value.trim(), 152);
//写文档长度
writecard(cardType, strPin, 360, "240", 8);
//写文档内容
for(i=0;i<240;i++) str+="2";
writecard(cardType, strPin, 368, str, 240);
closeICReader();
//开始更新数据库

rs=new ActiveXObject("Adodb.RecordSet");
sqls="update iccardxxb set yhmc='"+form1.yhmc.value.trim()+"',bmdm='"+form1.bmdm.value.trim()+"',yhlx='0',yhzh='',yhqx='222222222222',yxqq='"+form1.yxqq.value.trim()+"',yxqz='"+form1.yxqz.value.trim()+"',bz='',scbz=0 where ic='"+CardID+"'";
conn="driver={sql server};server="+form1.server.value.trim()+";uid="+form1.username.value.trim()+";pwd="+form1.password.value.trim()+";database="+form1.database.value.trim();
try{
rs.open(sqls,conn,1,1);
rs=null;
alert("写卡成功!");
}catch(e){alert("数据库连接失败!");}

}


//打开IC卡端口
function openPort()
{
	//如果成功打开端口一则返回真,将端口是否已打开全局变量设为真
	if(openreader(0)) {isPortOpen=true;return true;}
	//如果成功打开端口二则返回真,将端口是否已打开全局变量设为真
	if(openreader(1)) {isPortOpen=true;return true;}
	//将端口是否已打开全局变量设为假
	isPortOpen=false;
	//返回假
	return false;
}



//检测卡器上是否有卡
function findICCard()
{
	//如果发现了IC卡则返回真,将端口是否发现IC卡全局变量设为真
if(findcard()) {isFindCard=true;return true}
//将端口是否发现IC卡全局变量设为假	
isFindCard=false;
//返回假
return false;
}



//检测卡类型
function findCardType()
{
		var tmpCardType;
		tmpCardType=checkcard();

	   //如果IC卡类型为已知类型,将IC 卡类型全局变量设为该卡类型,并返回真
		if(tmpCardType==8||tmpCardType==51){cardType=tmpCardType;return true;}
		//将IC 卡类型全局变量设为0
		cardType=0;
		//返回假
		return false;
}


//验证用户密码
function verifyUser(strUserPin)
{
		//如果密码验证成功,则用户密码变成读取IC卡的strPin
		if(verifypin(cardType, strUserPin)){strPin=strUserPin;return true;}
		//否则将strPin设为空
		strPin="";
		return false;
}




////////////////////////////////////////////////////////////////////////////////////////////
//打开读卡器端口
function openreader(port)
{
	if( DTFICCardv331.OpenReader(port))
		//打开读卡器成功
		return  true;
		//打开读卡器失败
		return false;
}



//关闭卡
function closeICReader()
{
	//如果已经打开则关闭,并且重置所有的全局变量否则什么也不做
	if(isPortOpen) 
	{
		 isPortOpen=false;
		 isFindCard=false;
		 cardType=0;
		strPin="";	
		closereader();
	}
}


//关闭读卡器端口
function closereader()
{
	if( DTFICCardv331.CloseReader())
		//关闭读卡器成功
		return true;
		//关闭读卡器失败
		return false;
}



//查看卡片是否已插入
function findcard()
{
	if( DTFICCardv331.FindCard() )
	return true;
	return false;
}


//返回卡类型
function checkcard()
{
	 return DTFICCardv331.CheckCard();
}



//写卡 卡类型,pin 首地址,写入的字符串、写入的长度
function writecard(nType, pin, addr, swrite,write_len)
{
	var hpin, hwrite;	
	hpin = DTFICCardv331.ASCIIToHex(pin);
	hwrite = DTFICCardv331.ASCIIToHex(swrite);
	//后来替换的方法WriteCard1
	if(DTFICCardv331.WriteCard1(nType, hpin, addr, write_len, hwrite))
	//写卡成功
	return true;
	//写卡失败
	return false;
}



//读卡 卡类型,pin 首地址,长度
function readcard(nType, pin, addr, len)
{
	var hpin, hread, sread;
	hpin = DTFICCardv331.ASCIIToHex(pin);
	hread = DTFICCardv331.ReadCard(nType, hpin, addr, len);
	sread = DTFICCardv331.HexToASCII(hread);
	return sread;
}



//安装密钥
function installkey(nType, pin, key)
{
	var hpin, hkey;
	
	hpin = DTFICCardv331.ASCIIToHex(pin);
	hkey = DTFICCardv331.ASCIIToHex(key);
	
	if( DTFICCardv331.InstallKey(nType, hpin, hkey))
	//安装密钥成功
	return true;
    //安装密钥失败
	return false;
}



//检验密钥
function verifypin(nType, pin)
{
	var hpin;
	hpin = DTFICCardv331.ASCIIToHex(pin);
	if(DTFICCardv331.VerifyPin(nType, hpin))
	//校验成功
	return true;
	//校验失败
	return false;
}


//获得卡的唯一标识
function getCardID(nType)
{
	return readcard2(nType, 0, 40); 
}



//读卡的保留区域
function readcard2(nType, addr, len)
{
	var hread, sread;
	hread = DTFICCardv331.ReadCard2(nType, addr, len);
	sread = DTFICCardv331.HexToASCII(hread);
	return sread;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -