/*
函 数:授权验证,验证码工作方式
输出参数:0-合法,1-期限已过,2-帐号无效
算 法:1、Demo帐号只有时间限制 2、Real帐号则有双重限制
*/
int lxVerifyCode()
{
if(!IsConnected()) return(0);
string gv_PassWord=gvName+"password";
if(IsDemo()) return(0); //允许任意模拟账号
if( true
&& !IsDemo()
&& AccountNumber()>0
&& npt_PassWord==0
)
{
if(GlobalVariableCheck(gv_PassWord)) npt_PassWord=(int)GlobalVariableGet(gv_PassWord);
}
if(StringLen((string)npt_PassWord)!=8) {lxSendInfo("["+lxName+"] 账户未经授权",true);return(2);} //输入验证码小于8位
if(StringLen((string)npt_PassWord)==8)
{
int myPassWord=(int)((int)(StringSubstr((string)AccountNumber(),StringLen((string)AccountNumber())-4,4))/2)+2018;
int myInputPassWord=(int)StringSubstr((string)npt_PassWord,2,4); //账户验证码
if(myPassWord==myInputPassWord) //如果验证通过
{
SS.authorization=false;
string myYear ="20"+StringSubstr((string)npt_PassWord,0,2)+".";
string myMonth=StringSubstr((string)npt_PassWord,6,2)+"."+"01";
datetime myTime=StrToTime(myYear+myMonth);
//if(TimeCurrent()>myTime || TimeCurrent()>StrToTime("2018.01.01"))
if(TimeCurrent()>myTime)
{
if(SS.validity==false) lxSendInfo("["+lxName+"] 有效期限已过",true);
SS.validity=true; //有效期
return(1);
}
else
{
SS.validity=false; //有效期
}
if(myTime-TimeLocal()<86400*10) //提前10天提示
{
lxLableOut(true,lxName+"有效期限将至!",lxPrvfix+"OrderVerifyInfo",10,clrRed,0,0,CORNER_RIGHT_UPPER,120,3,"微软雅黑",0,ANCHOR_RIGHT_UPPER,true,false,true,0);
}
GlobalVariableSet(gv_PassWord,npt_PassWord); //存储全局变量
}
else
{
if(SS.authorization==false) lxSendInfo("["+lxName+"] 账户未经授权",true);
SS.authorization=true;//授权
return(2);
}
}
return(0);
}
函 数:授权验证,验证码工作方式
输出参数:0-合法,1-期限已过,2-帐号无效
算 法:1、Demo帐号只有时间限制 2、Real帐号则有双重限制
*/
int lxVerifyCode()
{
if(!IsConnected()) return(0);
string gv_PassWord=gvName+"password";
if(IsDemo()) return(0); //允许任意模拟账号
if( true
&& !IsDemo()
&& AccountNumber()>0
&& npt_PassWord==0
)
{
if(GlobalVariableCheck(gv_PassWord)) npt_PassWord=(int)GlobalVariableGet(gv_PassWord);
}
if(StringLen((string)npt_PassWord)!=8) {lxSendInfo("["+lxName+"] 账户未经授权",true);return(2);} //输入验证码小于8位
if(StringLen((string)npt_PassWord)==8)
{
int myPassWord=(int)((int)(StringSubstr((string)AccountNumber(),StringLen((string)AccountNumber())-4,4))/2)+2018;
int myInputPassWord=(int)StringSubstr((string)npt_PassWord,2,4); //账户验证码
if(myPassWord==myInputPassWord) //如果验证通过
{
SS.authorization=false;
string myYear ="20"+StringSubstr((string)npt_PassWord,0,2)+".";
string myMonth=StringSubstr((string)npt_PassWord,6,2)+"."+"01";
datetime myTime=StrToTime(myYear+myMonth);
//if(TimeCurrent()>myTime || TimeCurrent()>StrToTime("2018.01.01"))
if(TimeCurrent()>myTime)
{
if(SS.validity==false) lxSendInfo("["+lxName+"] 有效期限已过",true);
SS.validity=true; //有效期
return(1);
}
else
{
SS.validity=false; //有效期
}
if(myTime-TimeLocal()<86400*10) //提前10天提示
{
lxLableOut(true,lxName+"有效期限将至!",lxPrvfix+"OrderVerifyInfo",10,clrRed,0,0,CORNER_RIGHT_UPPER,120,3,"微软雅黑",0,ANCHOR_RIGHT_UPPER,true,false,true,0);
}
GlobalVariableSet(gv_PassWord,npt_PassWord); //存储全局变量
}
else
{
if(SS.authorization==false) lxSendInfo("["+lxName+"] 账户未经授权",true);
SS.authorization=true;//授权
return(2);
}
}
return(0);
}