📄 ecardtokenxmlrpcut.pas
字号:
unit ECardTokenXMLRPCUt;
interface
uses
Windows,SysUtils,Classes,SystemInfoUt,ConstValueUt;
type
TECardTokenXMLRPC = class
private
ECT_ServerURL:string;
{ Private declarations }
public
function ECT_Init:Boolean;
function token_validate(itemId:String ; t_SID:String;var ResultCode: array of string):Boolean;
function token_activate(t_SID:String;var ResultCode: array of string):Boolean;
function GateCheck(UserType,UserID:string;var gate_UserInfo:TSIU_CL_UserInfo;var ResultCode: array of string):Boolean;
{ Public declarations }
end;
var
ECardTokenXMLRPC: TECardTokenXMLRPC;
implementation
uses
ECardXMLRPCUt;
function TECardTokenXMLRPC.ECT_Init:Boolean;
begin
Result:=false;
ECT_ServerURL:=SIU_RD_SystemServerConfig.TokenServerURL;
Result:=true;
end;
function TECardTokenXMLRPC.token_activate(t_SID:String;var ResultCode: array of string): Boolean;
var
InfoXml:String;
begin
Result:=false;
try
with ECardXMLRPC do begin
EC_Request.URL :=ECT_ServerURL;
EC_Request.MethodName := 'token.token_activate';
EC_Request.Params.Param.Clear;
EC_Response.params.param.Clear;
EC_Request.Params.Param.AddString(t_SID);
EC_Response.ProcessRequest(EC_Request);
InfoXml:='';
if EC_Response.IsFault then
exit
else
begin
InfoXml:=EC_Response.params.param.Strings[0];
DecodeResultErr(InfoXml,ResultCode);
end;
end;
except
exit;
end;
Result:=true;
end;
function TECardTokenXMLRPC.token_validate(itemId, t_SID: String;
var ResultCode: array of string): Boolean;
var
InfoXml:String;
begin
Result:=false;
try
with ECardXMLRPC do begin
EC_Request.URL :=ECT_ServerURL;
EC_Request.MethodName := 'token.token_validate';
EC_Request.Params.Param.Clear;
EC_Response.params.param.Clear;
EC_Request.Params.Param.AddString(itemId);
EC_Request.Params.Param.AddString(t_SID);
EC_Response.ProcessRequest(EC_Request);
InfoXml:='';
if EC_Response.IsFault then
exit
else
begin
InfoXml:=EC_Response.params.param.Strings[0];
DecodeResultErr(InfoXml,ResultCode);
end;
end;
except
exit;
end;
Result:=true;
end;
function TECardTokenXMLRPC.GateCheck(UserType,UserID:string;var gate_UserInfo:TSIU_CL_UserInfo;var ResultCode: array of string):Boolean;
var
InfoXml,SysTime:string;
RC:array[0..1] of string;
begin
Result:=false;
try
with ECardXMLRPC do begin
EC_Request.URL :=ECT_ServerURL;
EC_Request.MethodName := 'gate.gate_check';
EC_Request.Params.Param.Clear;
EC_Response.params.param.Clear;
EC_Request.Params.Param.AddString(UserType);
EC_Request.Params.Param.AddString(UserID);
EC_Request.Params.Param.AddString(ECardXMLRPC.EC_Point);
EC_Request.Params.Param.AddString(ECardXMLRPC.EC_Action);
EC_Request.Params.Param.AddString(ECardXMLRPC.EC_ID);
EC_Request.Params.Param.AddString(ECardXMLRPC.EC_SID);
EC_Response.ProcessRequest(EC_Request);
InfoXml:='';
if EC_Response.IsFault then
exit
else
begin
InfoXml:=EC_Response.params.param.Strings[0];
DecodeResultErr(InfoXml,ResultCode);
// GetSysTime(SysTime,RC);
if ResultCode[0]='6' then
begin
Result:=true;
exit;
end;
RegUserDecode( InfoXml,gate_UserInfo);
// if RC[0]='0' then
// gate_UserInfo.M_OP_DATE:=now();
end;
end;
except
exit;
end;
Result:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -