一,考虑到软件使用过程中会有向外提供数据或写数需求,框架封装了二个http协议的api接口函数。
1,通过SQLID获取数据
首先需要在后端新增对应的接口,接口主要是针对xml里的sql文件(ssql节点)取数或者写数;前端传入api ID,通讯秘钥,查询参数。
逻辑:传入json格式的data参数返回json格式结果。
delphi范例:
{
//tapi/getdata:接口地址
id: 对应的 apiID
token :调用的秘钥
params:传入的参数要与调用的sqlid参数一致
}
var
req: IXMLHTTPRequest;
Params, res,url: string;
JsnParaems: ISuperObject;
begin
req := CoXMLHTTP.Create;
JsnParaems := TSuperObject.Create(stObject);
try
try
//地址
url := 'http://192.168.1.10:8080/tapi/getdata';
// 调用post方法
req.open('post', url, false, '', '');
req.setRequestHeader('Content-Type', 'application/json;Charset=UTF-8');
//后端对应的api id
JsnParaems.S['id'] := '102';
//连接秘钥
JsnParaems.S['token'] := '3211';
//查询需要的参数
JsnParaems.S['params'] := '{"MROWID":"1666582541471"}';
Params := JsnParaems.AsString;
//执行
req.send(Params);
//返回json格式的字符串
res := req.responseText;
showmessage(res);
except on ee:exception do
showmessage('查询失败:'+ee.Message);
end
finally
req:=nil;
JsnParaems:=nil;
end;
end ;
后端界面:
2,通过执行服务器端DLL 插件操作方法 / 获取 数据:
首先在服务端设置好对应的dll插件(具体见 插件操作章节)
{
//tapi/Plugin :接口地址
id: 对应的dll插件
token :调用的秘钥
params:传入的参数要与调用的DLL接收的参数一致
}
var
req: IXMLHTTPRequest;
Params, res,url: string;
JsnParaems: ISuperObject;
begin
req := CoXMLHTTP.Create;
JsnParaems := TSuperObject.Create(stObject);
try
try
//地址
url := 'http://192.168.1.10:8080/tapi/Plugin';
// 调用post方法
req.open('post', url, false, '', '');
req.setRequestHeader('Content-Type', 'application/json;Charset=UTF-8');
//后端对应的api id
JsnParaems.S['id'] := '102';
//连接秘钥
JsnParaems.S['token'] := '3211';
//查询需要的参数
JsnParaems.S['params'] := '{"MROWID":"1666582541471"}';
Params := JsnParaems.AsString;
//执行
req.send(Params);
//返回json格式的字符串
res := req.responseText;
showmessage(res);
except on ee:exception do
showmessage('查询失败:'+ee.Message);
end
finally
req:=nil;
JsnParaems:=nil;
end;