|
properties
token = '';
http_url = 'http://api.tushare.pro';
tcp_url = 'tcp://tushare.pro';
end
methods
function api = pro_api(token)
api.token = token;
end
function data = query(api, varargin)
data = [];
results.data = [];
results.msg = '';
try
num = length(varargin);
if num<1
results.msg = '第一个参数需要指定接口名称.';
elseif 0~=rem(num-1, 2) || num<1
results.msg = '输入参数有缺失.';
else
params = cell2struct(varargin(3:2:end), varargin(2:2:end), 2);
end
struct_params.api_name = varargin{1};
struct_params.token = api.token;
struct_params.params = params;
% struct_params.params.ts_code = ts_code;
% struct_params.params.start_date = start_date;
% struct_params.params.end_date = end_date;
results.msg = '抱歉:需要matlab 2016b及以上版本.';
req_text = jsonencode(struct_params);
results.msg = '抱歉:请检查网络设置.';
res = urlread2(api.http_url, 'Post', req_text);
results = jsondecode(res);
catch
%----
end
if ~isempty(results.msg)
disp(results.msg);
end
if ~isempty(results.data)
index = results.data.fields;
data = cat(2, results.data.items{:})';
data = cell2table(data, 'VariableNames', index);
end
end % query
end % end of methods
end |
|