4147 lines
170 KiB
TypeScript
4147 lines
170 KiB
TypeScript
//----------------------
|
||
// <auto-generated>
|
||
// Generated using the NSwag toolchain v14.3.0.0 (NJsonSchema v11.2.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)
|
||
// </auto-generated>
|
||
//----------------------
|
||
|
||
/* tslint:disable */
|
||
/* eslint-disable */
|
||
// ReSharper disable InconsistentNaming
|
||
|
||
export class VideoStreamClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* 获取 HTTP 视频流服务状态
|
||
* @return 服务状态信息
|
||
*/
|
||
getStatus(): Promise<any> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/Status";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetStatus(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetStatus(response: Response): Promise<any> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<any>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取 HTTP 视频流信息
|
||
* @return 流信息
|
||
*/
|
||
getStreamInfo(): Promise<any> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/StreamInfo";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetStreamInfo(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetStreamInfo(response: Response): Promise<any> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<any>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 配置摄像头连接参数
|
||
* @param config 摄像头配置
|
||
* @return 配置结果
|
||
*/
|
||
configureCamera(config: CameraConfigRequest): Promise<any> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/ConfigureCamera";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
const content_ = JSON.stringify(config);
|
||
|
||
let options_: RequestInit = {
|
||
body: content_,
|
||
method: "POST",
|
||
headers: {
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processConfigureCamera(_response);
|
||
});
|
||
}
|
||
|
||
protected processConfigureCamera(response: Response): Promise<any> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = resultData400 !== undefined ? resultData400 : <any>null;
|
||
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<any>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取当前摄像头配置
|
||
* @return 摄像头配置信息
|
||
*/
|
||
getCameraConfig(): Promise<any> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/CameraConfig";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetCameraConfig(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetCameraConfig(response: Response): Promise<any> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<any>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 控制 HTTP 视频流服务开关
|
||
* @param enabled (optional) 是否启用服务
|
||
* @return 操作结果
|
||
*/
|
||
setEnabled(enabled: boolean | undefined): Promise<any> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/SetEnabled?";
|
||
if (enabled === null)
|
||
throw new Error("The parameter 'enabled' cannot be null.");
|
||
else if (enabled !== undefined)
|
||
url_ += "enabled=" + encodeURIComponent("" + enabled) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetEnabled(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetEnabled(response: Response): Promise<any> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<any>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 测试 HTTP 视频流连接
|
||
* @return 连接测试结果
|
||
*/
|
||
testConnection(): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/TestConnection";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processTestConnection(_response);
|
||
});
|
||
}
|
||
|
||
protected processTestConnection(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 设置视频流分辨率
|
||
* @param request 分辨率配置请求
|
||
* @return 设置结果
|
||
*/
|
||
setResolution(request: ResolutionConfigRequest): Promise<any> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/Resolution";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
const content_ = JSON.stringify(request);
|
||
|
||
let options_: RequestInit = {
|
||
body: content_,
|
||
method: "POST",
|
||
headers: {
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetResolution(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetResolution(response: Response): Promise<any> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = resultData400 !== undefined ? resultData400 : <any>null;
|
||
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = resultData500 !== undefined ? resultData500 : <any>null;
|
||
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<any>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取当前分辨率
|
||
* @return 当前分辨率信息
|
||
*/
|
||
getCurrentResolution(): Promise<any> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/Resolution";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetCurrentResolution(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetCurrentResolution(response: Response): Promise<any> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = resultData500 !== undefined ? resultData500 : <any>null;
|
||
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<any>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取支持的分辨率列表
|
||
* @return 支持的分辨率列表
|
||
*/
|
||
getSupportedResolutions(): Promise<any> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/SupportedResolutions";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetSupportedResolutions(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetSupportedResolutions(response: Response): Promise<any> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = resultData500 !== undefined ? resultData500 : <any>null;
|
||
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<any>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 初始化摄像头自动对焦功能
|
||
* @return 初始化结果
|
||
*/
|
||
initAutoFocus(): Promise<FileResponse | null> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/InitAutoFocus";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/octet-stream"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processInitAutoFocus(_response);
|
||
});
|
||
}
|
||
|
||
protected processInitAutoFocus(response: Response): Promise<FileResponse | null> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200 || status === 206) {
|
||
const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
|
||
let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
|
||
let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
|
||
if (fileName) {
|
||
fileName = decodeURIComponent(fileName);
|
||
} else {
|
||
fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
|
||
fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
|
||
}
|
||
return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<FileResponse | null>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 执行自动对焦
|
||
* @return 对焦结果
|
||
*/
|
||
autoFocus(): Promise<FileResponse | null> {
|
||
let url_ = this.baseUrl + "/api/VideoStream/AutoFocus";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/octet-stream"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processAutoFocus(_response);
|
||
});
|
||
}
|
||
|
||
protected processAutoFocus(response: Response): Promise<FileResponse | null> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200 || status === 206) {
|
||
const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
|
||
let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
|
||
let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
|
||
if (fileName) {
|
||
fileName = decodeURIComponent(fileName);
|
||
} else {
|
||
fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
|
||
fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
|
||
}
|
||
return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<FileResponse | null>(null as any);
|
||
}
|
||
}
|
||
|
||
export class BsdlParserClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* [TODO:description]
|
||
* @return [TODO:return]
|
||
*/
|
||
getBoundaryLogicalPorts(): Promise<FileResponse | null> {
|
||
let url_ = this.baseUrl + "/api/BsdlParser/GetBoundaryLogicalPorts";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/octet-stream"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetBoundaryLogicalPorts(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetBoundaryLogicalPorts(response: Response): Promise<FileResponse | null> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200 || status === 206) {
|
||
const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
|
||
let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
|
||
let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
|
||
if (fileName) {
|
||
fileName = decodeURIComponent(fileName);
|
||
} else {
|
||
fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
|
||
fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
|
||
}
|
||
return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<FileResponse | null>(null as any);
|
||
}
|
||
}
|
||
|
||
export class DataClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* 用户登录,获取 JWT 令牌
|
||
* @param name (optional) 用户名
|
||
* @param password (optional) 用户密码
|
||
* @return JWT 令牌字符串
|
||
*/
|
||
login(name: string | undefined, password: string | undefined): Promise<string> {
|
||
let url_ = this.baseUrl + "/api/Data/Login?";
|
||
if (name === null)
|
||
throw new Error("The parameter 'name' cannot be null.");
|
||
else if (name !== undefined)
|
||
url_ += "name=" + encodeURIComponent("" + name) + "&";
|
||
if (password === null)
|
||
throw new Error("The parameter 'password' cannot be null.");
|
||
else if (password !== undefined)
|
||
url_ += "password=" + encodeURIComponent("" + password) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processLogin(_response);
|
||
});
|
||
}
|
||
|
||
protected processLogin(response: Response): Promise<string> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<string>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 测试用户认证,需携带有效 JWT
|
||
* @return 认证成功信息
|
||
*/
|
||
testAuth(): Promise<string> {
|
||
let url_ = this.baseUrl + "/api/Data/TestAuth";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processTestAuth(_response);
|
||
});
|
||
}
|
||
|
||
protected processTestAuth(response: Response): Promise<string> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<string>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 测试管理员用户认证,需携带有效 JWT
|
||
* @return 认证成功信息
|
||
*/
|
||
testAdminAuth(): Promise<string> {
|
||
let url_ = this.baseUrl + "/api/Data/TestAdminAuth";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processTestAdminAuth(_response);
|
||
});
|
||
}
|
||
|
||
protected processTestAdminAuth(response: Response): Promise<string> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<string>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取当前用户信息
|
||
* @return 用户信息,包括ID、用户名、邮箱和板卡ID
|
||
*/
|
||
getUserInfo(): Promise<UserInfo> {
|
||
let url_ = this.baseUrl + "/api/Data/GetUserInfo";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetUserInfo(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetUserInfo(response: Response): Promise<UserInfo> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = UserInfo.fromJS(resultData200);
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<UserInfo>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 注册新用户
|
||
* @param name (optional) 用户名(不超过255个字符)
|
||
* @param email (optional) 邮箱地址
|
||
* @param password (optional) 用户密码
|
||
* @return 操作结果,成功返回 true,失败返回错误信息
|
||
*/
|
||
signUpUser(name: string | undefined, email: string | undefined, password: string | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/Data/SignUpUser?";
|
||
if (name === null)
|
||
throw new Error("The parameter 'name' cannot be null.");
|
||
else if (name !== undefined)
|
||
url_ += "name=" + encodeURIComponent("" + name) + "&";
|
||
if (email === null)
|
||
throw new Error("The parameter 'email' cannot be null.");
|
||
else if (email !== undefined)
|
||
url_ += "email=" + encodeURIComponent("" + email) + "&";
|
||
if (password === null)
|
||
throw new Error("The parameter 'password' cannot be null.");
|
||
else if (password !== undefined)
|
||
url_ += "password=" + encodeURIComponent("" + password) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSignUpUser(_response);
|
||
});
|
||
}
|
||
|
||
protected processSignUpUser(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取一个空闲的实验板(普通用户权限)
|
||
* @param durationHours (optional) 绑定持续时间(小时),默认为1小时
|
||
*/
|
||
getAvailableBoard(durationHours: number | undefined): Promise<Board> {
|
||
let url_ = this.baseUrl + "/api/Data/GetAvailableBoard?";
|
||
if (durationHours === null)
|
||
throw new Error("The parameter 'durationHours' cannot be null.");
|
||
else if (durationHours !== undefined)
|
||
url_ += "durationHours=" + encodeURIComponent("" + durationHours) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetAvailableBoard(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetAvailableBoard(response: Response): Promise<Board> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = Board.fromJS(resultData200);
|
||
return result200;
|
||
});
|
||
} else if (status === 404) {
|
||
return response.text().then((_responseText) => {
|
||
let result404: any = null;
|
||
let resultData404 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result404 = ProblemDetails.fromJS(resultData404);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result404);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<Board>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 解除当前用户绑定的实验板(普通用户权限)
|
||
*/
|
||
unbindBoard(): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/Data/UnbindBoard";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processUnbindBoard(_response);
|
||
});
|
||
}
|
||
|
||
protected processUnbindBoard(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 用户根据实验板ID获取实验板信息(普通用户权限)
|
||
* @param id (optional)
|
||
*/
|
||
getBoardByID(id: string | undefined): Promise<Board> {
|
||
let url_ = this.baseUrl + "/api/Data/GetBoardByID?";
|
||
if (id === null)
|
||
throw new Error("The parameter 'id' cannot be null.");
|
||
else if (id !== undefined)
|
||
url_ += "id=" + encodeURIComponent("" + id) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetBoardByID(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetBoardByID(response: Response): Promise<Board> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = Board.fromJS(resultData200);
|
||
return result200;
|
||
});
|
||
} else if (status === 404) {
|
||
return response.text().then((_responseText) => {
|
||
let result404: any = null;
|
||
let resultData404 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result404 = ProblemDetails.fromJS(resultData404);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result404);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<Board>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 新增板子(管理员权限)
|
||
* @param name (optional)
|
||
* @param ipAddr (optional)
|
||
* @param port (optional)
|
||
*/
|
||
addBoard(name: string | undefined, ipAddr: string | undefined, port: number | undefined): Promise<number> {
|
||
let url_ = this.baseUrl + "/api/Data/AddBoard?";
|
||
if (name === null)
|
||
throw new Error("The parameter 'name' cannot be null.");
|
||
else if (name !== undefined)
|
||
url_ += "name=" + encodeURIComponent("" + name) + "&";
|
||
if (ipAddr === null)
|
||
throw new Error("The parameter 'ipAddr' cannot be null.");
|
||
else if (ipAddr !== undefined)
|
||
url_ += "ipAddr=" + encodeURIComponent("" + ipAddr) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processAddBoard(_response);
|
||
});
|
||
}
|
||
|
||
protected processAddBoard(response: Response): Promise<number> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<number>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 删除板子(管理员权限)
|
||
* @param id (optional)
|
||
*/
|
||
deleteBoard(id: string | undefined): Promise<number> {
|
||
let url_ = this.baseUrl + "/api/Data/DeleteBoard?";
|
||
if (id === null)
|
||
throw new Error("The parameter 'id' cannot be null.");
|
||
else if (id !== undefined)
|
||
url_ += "id=" + encodeURIComponent("" + id) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "DELETE",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processDeleteBoard(_response);
|
||
});
|
||
}
|
||
|
||
protected processDeleteBoard(response: Response): Promise<number> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<number>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取全部板子(管理员权限)
|
||
*/
|
||
getAllBoards(): Promise<Board[]> {
|
||
let url_ = this.baseUrl + "/api/Data/GetAllBoards";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetAllBoards(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetAllBoards(response: Response): Promise<Board[]> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
if (Array.isArray(resultData200)) {
|
||
result200 = [] as any;
|
||
for (let item of resultData200)
|
||
result200!.push(Board.fromJS(item));
|
||
}
|
||
else {
|
||
result200 = <any>null;
|
||
}
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<Board[]>(null as any);
|
||
}
|
||
}
|
||
|
||
export class DDSClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* [TODO:description]
|
||
* @param address (optional) [TODO:parameter]
|
||
* @param port (optional) [TODO:parameter]
|
||
* @param channelNum (optional) [TODO:parameter]
|
||
* @param waveNum (optional) [TODO:parameter]
|
||
* @return [TODO:return]
|
||
*/
|
||
setWaveNum(address: string | undefined, port: number | undefined, channelNum: number | undefined, waveNum: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/DDS/SetWaveNum?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (channelNum === null)
|
||
throw new Error("The parameter 'channelNum' cannot be null.");
|
||
else if (channelNum !== undefined)
|
||
url_ += "channelNum=" + encodeURIComponent("" + channelNum) + "&";
|
||
if (waveNum === null)
|
||
throw new Error("The parameter 'waveNum' cannot be null.");
|
||
else if (waveNum !== undefined)
|
||
url_ += "waveNum=" + encodeURIComponent("" + waveNum) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetWaveNum(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetWaveNum(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ArgumentException.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* [TODO:description]
|
||
* @param address (optional) [TODO:parameter]
|
||
* @param port (optional) [TODO:parameter]
|
||
* @param channelNum (optional) [TODO:parameter]
|
||
* @param waveNum (optional) [TODO:parameter]
|
||
* @param step (optional) [TODO:parameter]
|
||
* @return [TODO:return]
|
||
*/
|
||
setFreq(address: string | undefined, port: number | undefined, channelNum: number | undefined, waveNum: number | undefined, step: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/DDS/SetFreq?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (channelNum === null)
|
||
throw new Error("The parameter 'channelNum' cannot be null.");
|
||
else if (channelNum !== undefined)
|
||
url_ += "channelNum=" + encodeURIComponent("" + channelNum) + "&";
|
||
if (waveNum === null)
|
||
throw new Error("The parameter 'waveNum' cannot be null.");
|
||
else if (waveNum !== undefined)
|
||
url_ += "waveNum=" + encodeURIComponent("" + waveNum) + "&";
|
||
if (step === null)
|
||
throw new Error("The parameter 'step' cannot be null.");
|
||
else if (step !== undefined)
|
||
url_ += "step=" + encodeURIComponent("" + step) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetFreq(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetFreq(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ArgumentException.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* [TODO:description]
|
||
* @param address (optional) [TODO:parameter]
|
||
* @param port (optional) [TODO:parameter]
|
||
* @param channelNum (optional) [TODO:parameter]
|
||
* @param waveNum (optional) [TODO:parameter]
|
||
* @param phase (optional) [TODO:parameter]
|
||
* @return [TODO:return]
|
||
*/
|
||
setPhase(address: string | undefined, port: number | undefined, channelNum: number | undefined, waveNum: number | undefined, phase: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/DDS/SetPhase?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (channelNum === null)
|
||
throw new Error("The parameter 'channelNum' cannot be null.");
|
||
else if (channelNum !== undefined)
|
||
url_ += "channelNum=" + encodeURIComponent("" + channelNum) + "&";
|
||
if (waveNum === null)
|
||
throw new Error("The parameter 'waveNum' cannot be null.");
|
||
else if (waveNum !== undefined)
|
||
url_ += "waveNum=" + encodeURIComponent("" + waveNum) + "&";
|
||
if (phase === null)
|
||
throw new Error("The parameter 'phase' cannot be null.");
|
||
else if (phase !== undefined)
|
||
url_ += "phase=" + encodeURIComponent("" + phase) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetPhase(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetPhase(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ArgumentException.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
}
|
||
|
||
export class JtagClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* 控制器首页信息
|
||
* @return 控制器描述信息
|
||
*/
|
||
index(): Promise<string> {
|
||
let url_ = this.baseUrl + "/api/Jtag";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processIndex(_response);
|
||
});
|
||
}
|
||
|
||
protected processIndex(response: Response): Promise<string> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<string>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取 JTAG 设备的 ID Code
|
||
* @param address (optional) JTAG 设备地址
|
||
* @param port (optional) JTAG 设备端口
|
||
* @return 设备的 ID Code
|
||
*/
|
||
getDeviceIDCode(address: string | undefined, port: number | undefined): Promise<number> {
|
||
let url_ = this.baseUrl + "/api/Jtag/GetDeviceIDCode?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetDeviceIDCode(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetDeviceIDCode(response: Response): Promise<number> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<number>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 读取 JTAG 设备的状态寄存器
|
||
* @param address (optional) JTAG 设备地址
|
||
* @param port (optional) JTAG 设备端口
|
||
* @return 状态寄存器的原始值、二进制表示和解码值
|
||
*/
|
||
readStatusReg(address: string | undefined, port: number | undefined): Promise<void> {
|
||
let url_ = this.baseUrl + "/api/Jtag/ReadStatusReg?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processReadStatusReg(_response);
|
||
});
|
||
}
|
||
|
||
protected processReadStatusReg(response: Response): Promise<void> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
return;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<void>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 上传比特流文件到服务器
|
||
* @param address (optional) 目标设备地址
|
||
* @param file (optional) 比特流文件
|
||
* @return 上传结果
|
||
*/
|
||
uploadBitstream(address: string | undefined, file: FileParameter | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/Jtag/UploadBitstream?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
const content_ = new FormData();
|
||
if (file === null || file === undefined)
|
||
throw new Error("The parameter 'file' cannot be null.");
|
||
else
|
||
content_.append("file", file.data, file.fileName ? file.fileName : "file");
|
||
|
||
let options_: RequestInit = {
|
||
body: content_,
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processUploadBitstream(_response);
|
||
});
|
||
}
|
||
|
||
protected processUploadBitstream(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = resultData400 !== undefined ? resultData400 : <any>null;
|
||
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 通过 JTAG 下载比特流文件到 FPGA 设备
|
||
* @param address (optional) JTAG 设备地址
|
||
* @param port (optional) JTAG 设备端口
|
||
* @return 下载结果
|
||
*/
|
||
downloadBitstream(address: string | undefined, port: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/Jtag/DownloadBitstream?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processDownloadBitstream(_response);
|
||
});
|
||
}
|
||
|
||
protected processDownloadBitstream(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = resultData400 !== undefined ? resultData400 : <any>null;
|
||
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 执行边界扫描,获取所有端口状态
|
||
* @param address (optional) JTAG 设备地址
|
||
* @param port (optional) JTAG 设备端口
|
||
* @return 边界扫描结果
|
||
*/
|
||
boundaryScanAllPorts(address: string | undefined, port: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/Jtag/BoundaryScanAllPorts?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processBoundaryScanAllPorts(_response);
|
||
});
|
||
}
|
||
|
||
protected processBoundaryScanAllPorts(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = resultData400 !== undefined ? resultData400 : <any>null;
|
||
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 执行逻辑端口边界扫描
|
||
* @param address (optional) JTAG 设备地址
|
||
* @param port (optional) JTAG 设备端口
|
||
* @return 逻辑端口状态字典
|
||
*/
|
||
boundaryScanLogicalPorts(address: string | undefined, port: number | undefined): Promise<{ [key: string]: boolean; }> {
|
||
let url_ = this.baseUrl + "/api/Jtag/BoundaryScanLogicalPorts?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processBoundaryScanLogicalPorts(_response);
|
||
});
|
||
}
|
||
|
||
protected processBoundaryScanLogicalPorts(response: Response): Promise<{ [key: string]: boolean; }> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
if (resultData200) {
|
||
result200 = {} as any;
|
||
for (let key in resultData200) {
|
||
if (resultData200.hasOwnProperty(key))
|
||
(<any>result200)![key] = resultData200[key] !== undefined ? resultData200[key] : <any>null;
|
||
}
|
||
}
|
||
else {
|
||
result200 = <any>null;
|
||
}
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<{ [key: string]: boolean; }>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 设置 JTAG 时钟速度
|
||
* @param address (optional) JTAG 设备地址
|
||
* @param port (optional) JTAG 设备端口
|
||
* @param speed (optional) 时钟速度 (Hz)
|
||
* @return 设置结果
|
||
*/
|
||
setSpeed(address: string | undefined, port: number | undefined, speed: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/Jtag/SetSpeed?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (speed === null)
|
||
throw new Error("The parameter 'speed' cannot be null.");
|
||
else if (speed !== undefined)
|
||
url_ += "speed=" + encodeURIComponent("" + speed) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetSpeed(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetSpeed(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
}
|
||
|
||
export class LogicAnalyzerClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* 设置捕获模式
|
||
* @param captureOn (optional) 是否开始捕获
|
||
* @param force (optional) 是否强制捕获
|
||
* @return 操作结果
|
||
*/
|
||
setCaptureMode(captureOn: boolean | undefined, force: boolean | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/LogicAnalyzer/SetCaptureMode?";
|
||
if (captureOn === null)
|
||
throw new Error("The parameter 'captureOn' cannot be null.");
|
||
else if (captureOn !== undefined)
|
||
url_ += "captureOn=" + encodeURIComponent("" + captureOn) + "&";
|
||
if (force === null)
|
||
throw new Error("The parameter 'force' cannot be null.");
|
||
else if (force !== undefined)
|
||
url_ += "force=" + encodeURIComponent("" + force) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetCaptureMode(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetCaptureMode(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 读取捕获状态
|
||
* @return 捕获状态
|
||
*/
|
||
getCaptureStatus(): Promise<CaptureStatus> {
|
||
let url_ = this.baseUrl + "/api/LogicAnalyzer/GetCaptureStatus";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetCaptureStatus(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetCaptureStatus(response: Response): Promise<CaptureStatus> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<CaptureStatus>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 设置全局触发模式
|
||
* @param mode (optional) 全局触发模式
|
||
* @return 操作结果
|
||
*/
|
||
setGlobalTrigMode(mode: GlobalCaptureMode | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/LogicAnalyzer/SetGlobalTrigMode?";
|
||
if (mode === null)
|
||
throw new Error("The parameter 'mode' cannot be null.");
|
||
else if (mode !== undefined)
|
||
url_ += "mode=" + encodeURIComponent("" + mode) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetGlobalTrigMode(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetGlobalTrigMode(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 设置信号触发模式
|
||
* @param signalIndex (optional) 信号索引 (0-7)
|
||
* @param op (optional) 操作符
|
||
* @param val (optional) 信号值
|
||
* @return 操作结果
|
||
*/
|
||
setSignalTrigMode(signalIndex: number | undefined, op: SignalOperator | undefined, val: SignalValue | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/LogicAnalyzer/SetSignalTrigMode?";
|
||
if (signalIndex === null)
|
||
throw new Error("The parameter 'signalIndex' cannot be null.");
|
||
else if (signalIndex !== undefined)
|
||
url_ += "signalIndex=" + encodeURIComponent("" + signalIndex) + "&";
|
||
if (op === null)
|
||
throw new Error("The parameter 'op' cannot be null.");
|
||
else if (op !== undefined)
|
||
url_ += "op=" + encodeURIComponent("" + op) + "&";
|
||
if (val === null)
|
||
throw new Error("The parameter 'val' cannot be null.");
|
||
else if (val !== undefined)
|
||
url_ += "val=" + encodeURIComponent("" + val) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetSignalTrigMode(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetSignalTrigMode(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 批量配置捕获参数
|
||
* @param config 捕获配置
|
||
* @return 操作结果
|
||
*/
|
||
configureCapture(config: CaptureConfig): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/LogicAnalyzer/ConfigureCapture";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
const content_ = JSON.stringify(config);
|
||
|
||
let options_: RequestInit = {
|
||
body: content_,
|
||
method: "POST",
|
||
headers: {
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processConfigureCapture(_response);
|
||
});
|
||
}
|
||
|
||
protected processConfigureCapture(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 强制捕获
|
||
* @return 操作结果
|
||
*/
|
||
forceCapture(): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/LogicAnalyzer/ForceCapture";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processForceCapture(_response);
|
||
});
|
||
}
|
||
|
||
protected processForceCapture(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 读取捕获数据
|
||
* @return 捕获的波形数据(Base64编码)
|
||
*/
|
||
getCaptureData(): Promise<string> {
|
||
let url_ = this.baseUrl + "/api/LogicAnalyzer/GetCaptureData";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetCaptureData(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetCaptureData(response: Response): Promise<string> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ProblemDetails.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status === 401) {
|
||
return response.text().then((_responseText) => {
|
||
let result401: any = null;
|
||
let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result401 = ProblemDetails.fromJS(resultData401);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result401);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<string>(null as any);
|
||
}
|
||
}
|
||
|
||
export class MatrixKeyClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* 启用矩阵键控制。
|
||
* @param address (optional) 设备的IP地址
|
||
* @param port (optional) 设备的端口号
|
||
* @return 返回操作结果的状态码
|
||
*/
|
||
enabelMatrixKey(address: string | undefined, port: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/MatrixKey/EnabelMatrixKey?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processEnabelMatrixKey(_response);
|
||
});
|
||
}
|
||
|
||
protected processEnabelMatrixKey(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 禁用矩阵键控制。
|
||
* @param address (optional) 设备的IP地址
|
||
* @param port (optional) 设备的端口号
|
||
* @return 返回操作结果的状态码
|
||
*/
|
||
disableMatrixKey(address: string | undefined, port: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/MatrixKey/DisableMatrixKey?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processDisableMatrixKey(_response);
|
||
});
|
||
}
|
||
|
||
protected processDisableMatrixKey(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 设置矩阵键的状态。
|
||
* @param address (optional) 设备的IP地址
|
||
* @param port (optional) 设备的端口号
|
||
* @param keyStates 矩阵键的状态数组,长度应为16
|
||
* @return 返回操作结果的状态码
|
||
*/
|
||
setMatrixKeyStatus(address: string | undefined, port: number | undefined, keyStates: boolean[]): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/MatrixKey/SetMatrixKeyStatus?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
const content_ = JSON.stringify(keyStates);
|
||
|
||
let options_: RequestInit = {
|
||
body: content_,
|
||
method: "POST",
|
||
headers: {
|
||
"Content-Type": "application/json",
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetMatrixKeyStatus(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetMatrixKeyStatus(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
}
|
||
|
||
export class PowerClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* [TODO:description]
|
||
* @param address (optional) [TODO:parameter]
|
||
* @param port (optional) [TODO:parameter]
|
||
* @param enable (optional) [TODO:parameter]
|
||
* @return [TODO:return]
|
||
*/
|
||
setPowerOnOff(address: string | undefined, port: number | undefined, enable: boolean | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/Power/SetPowerOnOff?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (enable === null)
|
||
throw new Error("The parameter 'enable' cannot be null.");
|
||
else if (enable !== undefined)
|
||
url_ += "enable=" + encodeURIComponent("" + enable) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSetPowerOnOff(_response);
|
||
});
|
||
}
|
||
|
||
protected processSetPowerOnOff(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
}
|
||
|
||
export class RemoteUpdateClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* 上传远程更新比特流文件
|
||
* @param address (optional) 设备地址
|
||
* @param goldenBitream (optional) 黄金比特流文件
|
||
* @param bitstream1 (optional) 比特流文件1
|
||
* @param bitstream2 (optional) 比特流文件2
|
||
* @param bitstream3 (optional) 比特流文件3
|
||
* @return 上传结果
|
||
*/
|
||
uploadBitstreams(address: string | undefined, goldenBitream: FileParameter | null | undefined, bitstream1: FileParameter | null | undefined, bitstream2: FileParameter | null | undefined, bitstream3: FileParameter | null | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/RemoteUpdate/UploadBitstream?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
const content_ = new FormData();
|
||
if (goldenBitream !== null && goldenBitream !== undefined)
|
||
content_.append("goldenBitream", goldenBitream.data, goldenBitream.fileName ? goldenBitream.fileName : "goldenBitream");
|
||
if (bitstream1 !== null && bitstream1 !== undefined)
|
||
content_.append("bitstream1", bitstream1.data, bitstream1.fileName ? bitstream1.fileName : "bitstream1");
|
||
if (bitstream2 !== null && bitstream2 !== undefined)
|
||
content_.append("bitstream2", bitstream2.data, bitstream2.fileName ? bitstream2.fileName : "bitstream2");
|
||
if (bitstream3 !== null && bitstream3 !== undefined)
|
||
content_.append("bitstream3", bitstream3.data, bitstream3.fileName ? bitstream3.fileName : "bitstream3");
|
||
|
||
let options_: RequestInit = {
|
||
body: content_,
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processUploadBitstreams(_response);
|
||
});
|
||
}
|
||
|
||
protected processUploadBitstreams(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ArgumentException.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 远程更新单个比特流文件
|
||
* @param address (optional) 设备地址
|
||
* @param port (optional) 设备端口
|
||
* @param bitstreamNum (optional) 比特流位号
|
||
*/
|
||
updateBitstream(address: string | undefined, port: number | undefined, bitstreamNum: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/RemoteUpdate/DownloadBitstream?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (bitstreamNum === null)
|
||
throw new Error("The parameter 'bitstreamNum' cannot be null.");
|
||
else if (bitstreamNum !== undefined)
|
||
url_ += "bitstreamNum=" + encodeURIComponent("" + bitstreamNum) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processUpdateBitstream(_response);
|
||
});
|
||
}
|
||
|
||
protected processUpdateBitstream(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ArgumentException.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 下载多个比特流文件
|
||
* @param address (optional) 设备地址
|
||
* @param port (optional) 设备端口
|
||
* @param bitstreamNum (optional) 比特流编号
|
||
* @return 总共上传比特流的数量
|
||
*/
|
||
downloadMultiBitstreams(address: string | undefined, port: number | undefined, bitstreamNum: number | null | undefined): Promise<number> {
|
||
let url_ = this.baseUrl + "/api/RemoteUpdate/DownloadMultiBitstreams?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (bitstreamNum !== undefined && bitstreamNum !== null)
|
||
url_ += "bitstreamNum=" + encodeURIComponent("" + bitstreamNum) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processDownloadMultiBitstreams(_response);
|
||
});
|
||
}
|
||
|
||
protected processDownloadMultiBitstreams(response: Response): Promise<number> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ArgumentException.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<number>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 热复位比特流文件
|
||
* @param address (optional) 设备地址
|
||
* @param port (optional) 设备端口
|
||
* @param bitstreamNum (optional) 比特流编号
|
||
* @return 操作结果
|
||
*/
|
||
hotResetBitstream(address: string | undefined, port: number | undefined, bitstreamNum: number | undefined): Promise<boolean> {
|
||
let url_ = this.baseUrl + "/api/RemoteUpdate/HotResetBitstream?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (bitstreamNum === null)
|
||
throw new Error("The parameter 'bitstreamNum' cannot be null.");
|
||
else if (bitstreamNum !== undefined)
|
||
url_ += "bitstreamNum=" + encodeURIComponent("" + bitstreamNum) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processHotResetBitstream(_response);
|
||
});
|
||
}
|
||
|
||
protected processHotResetBitstream(response: Response): Promise<boolean> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ArgumentException.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<boolean>(null as any);
|
||
}
|
||
|
||
/**
|
||
* [TODO:description]
|
||
* @param address (optional) [TODO:parameter]
|
||
* @param port (optional) [TODO:parameter]
|
||
* @return [TODO:return]
|
||
*/
|
||
getFirmwareVersion(address: string | undefined, port: number | undefined): Promise<number> {
|
||
let url_ = this.baseUrl + "/api/RemoteUpdate/GetFirmwareVersion?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetFirmwareVersion(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetFirmwareVersion(response: Response): Promise<number> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status === 400) {
|
||
return response.text().then((_responseText) => {
|
||
let result400: any = null;
|
||
let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result400 = ArgumentException.fromJS(resultData400);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result400);
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
let result500: any = null;
|
||
let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result500 = Exception.fromJS(resultData500);
|
||
return throwException("A server side error occurred.", status, _responseText, _headers, result500);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<number>(null as any);
|
||
}
|
||
}
|
||
|
||
export class TutorialClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* 获取所有可用的教程目录
|
||
* @return 教程目录列表
|
||
*/
|
||
getTutorials(): Promise<void> {
|
||
let url_ = this.baseUrl + "/api/Tutorial";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetTutorials(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetTutorials(response: Response): Promise<void> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
return;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<void>(null as any);
|
||
}
|
||
}
|
||
|
||
export class UDPClient {
|
||
private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
|
||
private baseUrl: string;
|
||
protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;
|
||
|
||
constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
|
||
this.http = http ? http : window as any;
|
||
this.baseUrl = baseUrl ?? "http://localhost:5000";
|
||
}
|
||
|
||
/**
|
||
* 页面
|
||
*/
|
||
index(): Promise<string> {
|
||
let url_ = this.baseUrl + "/api/UDP";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processIndex(_response);
|
||
});
|
||
}
|
||
|
||
protected processIndex(response: Response): Promise<string> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
result200 = resultData200 !== undefined ? resultData200 : <any>null;
|
||
|
||
return result200;
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<string>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 发送字符串
|
||
* @param address (optional) IPV4 或者 IPV6 地址
|
||
* @param port (optional) 设备端口号
|
||
* @param text (optional) 发送的文本
|
||
* @return 发送成功
|
||
*/
|
||
sendString(address: string | undefined, port: number | undefined, text: string | undefined): Promise<void> {
|
||
let url_ = this.baseUrl + "/api/UDP/SendString?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (text === null)
|
||
throw new Error("The parameter 'text' cannot be null.");
|
||
else if (text !== undefined)
|
||
url_ += "text=" + encodeURIComponent("" + text) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSendString(_response);
|
||
});
|
||
}
|
||
|
||
protected processSendString(response: Response): Promise<void> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
return;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("\u53d1\u9001\u5931\u8d25", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<void>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 发送二进制数据
|
||
* @param address (optional) IPV4 或者 IPV6 地址
|
||
* @param port (optional) 设备端口号
|
||
* @param bytes (optional) 16进制文本
|
||
*/
|
||
sendBytes(address: string | undefined, port: number | undefined, bytes: string | undefined): Promise<void> {
|
||
let url_ = this.baseUrl + "/api/UDP/SendBytes?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (bytes === null)
|
||
throw new Error("The parameter 'bytes' cannot be null.");
|
||
else if (bytes !== undefined)
|
||
url_ += "bytes=" + encodeURIComponent("" + bytes) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSendBytes(_response);
|
||
});
|
||
}
|
||
|
||
protected processSendBytes(response: Response): Promise<void> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
return;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<void>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 发送地址包
|
||
* @param address (optional) IP地址
|
||
* @param port (optional) UDP 端口号
|
||
* @param opts 地址包选项
|
||
*/
|
||
sendAddrPackage(address: string | undefined, port: number | undefined, opts: SendAddrPackOptions): Promise<void> {
|
||
let url_ = this.baseUrl + "/api/UDP/SendAddrPackage?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
const content_ = JSON.stringify(opts);
|
||
|
||
let options_: RequestInit = {
|
||
body: content_,
|
||
method: "POST",
|
||
headers: {
|
||
"Content-Type": "application/json",
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSendAddrPackage(_response);
|
||
});
|
||
}
|
||
|
||
protected processSendAddrPackage(response: Response): Promise<void> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
return;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<void>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 发送数据包
|
||
* @param address (optional) IP地址
|
||
* @param port (optional) UDP 端口号
|
||
* @param data (optional) 16进制数据
|
||
*/
|
||
sendDataPackage(address: string | undefined, port: number | undefined, data: string | undefined): Promise<void> {
|
||
let url_ = this.baseUrl + "/api/UDP/SendDataPackage?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (port === null)
|
||
throw new Error("The parameter 'port' cannot be null.");
|
||
else if (port !== undefined)
|
||
url_ += "port=" + encodeURIComponent("" + port) + "&";
|
||
if (data === null)
|
||
throw new Error("The parameter 'data' cannot be null.");
|
||
else if (data !== undefined)
|
||
url_ += "data=" + encodeURIComponent("" + data) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "POST",
|
||
headers: {
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processSendDataPackage(_response);
|
||
});
|
||
}
|
||
|
||
protected processSendDataPackage(response: Response): Promise<void> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
return;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<void>(null as any);
|
||
}
|
||
|
||
/**
|
||
* 获取指定IP地址接收的数据列表
|
||
* @param address (optional) IP地址
|
||
* @param taskID (optional) 任务ID
|
||
*/
|
||
getRecvDataArray(address: string | undefined, taskID: number | undefined): Promise<UDPData[]> {
|
||
let url_ = this.baseUrl + "/api/UDP/GetRecvDataArray?";
|
||
if (address === null)
|
||
throw new Error("The parameter 'address' cannot be null.");
|
||
else if (address !== undefined)
|
||
url_ += "address=" + encodeURIComponent("" + address) + "&";
|
||
if (taskID === null)
|
||
throw new Error("The parameter 'taskID' cannot be null.");
|
||
else if (taskID !== undefined)
|
||
url_ += "taskID=" + encodeURIComponent("" + taskID) + "&";
|
||
url_ = url_.replace(/[?&]$/, "");
|
||
|
||
let options_: RequestInit = {
|
||
method: "GET",
|
||
headers: {
|
||
"Accept": "application/json"
|
||
}
|
||
};
|
||
|
||
return this.http.fetch(url_, options_).then((_response: Response) => {
|
||
return this.processGetRecvDataArray(_response);
|
||
});
|
||
}
|
||
|
||
protected processGetRecvDataArray(response: Response): Promise<UDPData[]> {
|
||
const status = response.status;
|
||
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
|
||
if (status === 200) {
|
||
return response.text().then((_responseText) => {
|
||
let result200: any = null;
|
||
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
|
||
if (Array.isArray(resultData200)) {
|
||
result200 = [] as any;
|
||
for (let item of resultData200)
|
||
result200!.push(UDPData.fromJS(item));
|
||
}
|
||
else {
|
||
result200 = <any>null;
|
||
}
|
||
return result200;
|
||
});
|
||
} else if (status === 500) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("A server side error occurred.", status, _responseText, _headers);
|
||
});
|
||
} else if (status !== 200 && status !== 204) {
|
||
return response.text().then((_responseText) => {
|
||
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
|
||
});
|
||
}
|
||
return Promise.resolve<UDPData[]>(null as any);
|
||
}
|
||
}
|
||
|
||
export class Exception implements IException {
|
||
message!: string;
|
||
innerException?: Exception | undefined;
|
||
source?: string | undefined;
|
||
stackTrace?: string | undefined;
|
||
|
||
constructor(data?: IException) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.message = _data["Message"];
|
||
this.innerException = _data["InnerException"] ? Exception.fromJS(_data["InnerException"]) : <any>undefined;
|
||
this.source = _data["Source"];
|
||
this.stackTrace = _data["StackTrace"];
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): Exception {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new Exception();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["Message"] = this.message;
|
||
data["InnerException"] = this.innerException ? this.innerException.toJSON() : <any>undefined;
|
||
data["Source"] = this.source;
|
||
data["StackTrace"] = this.stackTrace;
|
||
return data;
|
||
}
|
||
}
|
||
|
||
export interface IException {
|
||
message: string;
|
||
innerException?: Exception | undefined;
|
||
source?: string | undefined;
|
||
stackTrace?: string | undefined;
|
||
}
|
||
|
||
/** 摄像头配置请求模型 */
|
||
export class CameraConfigRequest implements ICameraConfigRequest {
|
||
/** 摄像头地址 */
|
||
address!: string;
|
||
/** 摄像头端口 */
|
||
port!: number;
|
||
|
||
constructor(data?: ICameraConfigRequest) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.address = _data["address"];
|
||
this.port = _data["port"];
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): CameraConfigRequest {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new CameraConfigRequest();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["address"] = this.address;
|
||
data["port"] = this.port;
|
||
return data;
|
||
}
|
||
}
|
||
|
||
/** 摄像头配置请求模型 */
|
||
export interface ICameraConfigRequest {
|
||
/** 摄像头地址 */
|
||
address: string;
|
||
/** 摄像头端口 */
|
||
port: number;
|
||
}
|
||
|
||
/** 分辨率配置请求模型 */
|
||
export class ResolutionConfigRequest implements IResolutionConfigRequest {
|
||
/** 宽度 */
|
||
width!: number;
|
||
/** 高度 */
|
||
height!: number;
|
||
|
||
constructor(data?: IResolutionConfigRequest) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.width = _data["width"];
|
||
this.height = _data["height"];
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): ResolutionConfigRequest {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new ResolutionConfigRequest();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["width"] = this.width;
|
||
data["height"] = this.height;
|
||
return data;
|
||
}
|
||
}
|
||
|
||
/** 分辨率配置请求模型 */
|
||
export interface IResolutionConfigRequest {
|
||
/** 宽度 */
|
||
width: number;
|
||
/** 高度 */
|
||
height: number;
|
||
}
|
||
|
||
export class ProblemDetails implements IProblemDetails {
|
||
type?: string | undefined;
|
||
title?: string | undefined;
|
||
status?: number | undefined;
|
||
detail?: string | undefined;
|
||
instance?: string | undefined;
|
||
extensions!: { [key: string]: any; };
|
||
|
||
[key: string]: any;
|
||
|
||
constructor(data?: IProblemDetails) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
if (!data) {
|
||
this.extensions = {};
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
for (var property in _data) {
|
||
if (_data.hasOwnProperty(property))
|
||
this[property] = _data[property];
|
||
}
|
||
this.type = _data["type"];
|
||
this.title = _data["title"];
|
||
this.status = _data["status"];
|
||
this.detail = _data["detail"];
|
||
this.instance = _data["instance"];
|
||
if (_data["extensions"]) {
|
||
this.extensions = {} as any;
|
||
for (let key in _data["extensions"]) {
|
||
if (_data["extensions"].hasOwnProperty(key))
|
||
(<any>this.extensions)![key] = _data["extensions"][key];
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): ProblemDetails {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new ProblemDetails();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
for (var property in this) {
|
||
if (this.hasOwnProperty(property))
|
||
data[property] = this[property];
|
||
}
|
||
data["type"] = this.type;
|
||
data["title"] = this.title;
|
||
data["status"] = this.status;
|
||
data["detail"] = this.detail;
|
||
data["instance"] = this.instance;
|
||
if (this.extensions) {
|
||
data["extensions"] = {};
|
||
for (let key in this.extensions) {
|
||
if (this.extensions.hasOwnProperty(key))
|
||
(<any>data["extensions"])[key] = (<any>this.extensions)[key];
|
||
}
|
||
}
|
||
return data;
|
||
}
|
||
}
|
||
|
||
export interface IProblemDetails {
|
||
type?: string | undefined;
|
||
title?: string | undefined;
|
||
status?: number | undefined;
|
||
detail?: string | undefined;
|
||
instance?: string | undefined;
|
||
extensions: { [key: string]: any; };
|
||
|
||
[key: string]: any;
|
||
}
|
||
|
||
/** [TODO:description] */
|
||
export class UserInfo implements IUserInfo {
|
||
/** 用户的唯一标识符 */
|
||
id!: string;
|
||
/** 用户的名称 */
|
||
name!: string;
|
||
/** 用户的电子邮箱 */
|
||
eMail!: string;
|
||
/** 用户关联的板卡ID */
|
||
boardID!: string;
|
||
/** 用户绑定板子的过期时间 */
|
||
boardExpireTime?: Date | undefined;
|
||
|
||
constructor(data?: IUserInfo) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.id = _data["id"];
|
||
this.name = _data["name"];
|
||
this.eMail = _data["eMail"];
|
||
this.boardID = _data["boardID"];
|
||
this.boardExpireTime = _data["boardExpireTime"] ? new Date(_data["boardExpireTime"].toString()) : <any>undefined;
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): UserInfo {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new UserInfo();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["id"] = this.id;
|
||
data["name"] = this.name;
|
||
data["eMail"] = this.eMail;
|
||
data["boardID"] = this.boardID;
|
||
data["boardExpireTime"] = this.boardExpireTime ? this.boardExpireTime.toISOString() : <any>undefined;
|
||
return data;
|
||
}
|
||
}
|
||
|
||
/** [TODO:description] */
|
||
export interface IUserInfo {
|
||
/** 用户的唯一标识符 */
|
||
id: string;
|
||
/** 用户的名称 */
|
||
name: string;
|
||
/** 用户的电子邮箱 */
|
||
eMail: string;
|
||
/** 用户关联的板卡ID */
|
||
boardID: string;
|
||
/** 用户绑定板子的过期时间 */
|
||
boardExpireTime?: Date | undefined;
|
||
}
|
||
|
||
/** FPGA 板子类,表示板子信息 */
|
||
export class Board implements IBoard {
|
||
/** FPGA 板子的唯一标识符 */
|
||
id!: string;
|
||
/** FPGA 板子的名称 */
|
||
boardName!: string;
|
||
/** FPGA 板子的IP地址 */
|
||
ipAddr!: string;
|
||
/** FPGA 板子的通信端口 */
|
||
port!: number;
|
||
/** FPGA 板子的当前状态 */
|
||
status!: BoardStatus;
|
||
/** 占用该板子的用户的唯一标识符 */
|
||
occupiedUserID!: string;
|
||
/** 占用该板子的用户的用户名 */
|
||
occupiedUserName?: string | undefined;
|
||
/** FPGA 板子的固件版本号 */
|
||
firmVersion!: string;
|
||
|
||
constructor(data?: IBoard) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.id = _data["id"];
|
||
this.boardName = _data["boardName"];
|
||
this.ipAddr = _data["ipAddr"];
|
||
this.port = _data["port"];
|
||
this.status = _data["status"];
|
||
this.occupiedUserID = _data["occupiedUserID"];
|
||
this.occupiedUserName = _data["occupiedUserName"];
|
||
this.firmVersion = _data["firmVersion"];
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): Board {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new Board();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["id"] = this.id;
|
||
data["boardName"] = this.boardName;
|
||
data["ipAddr"] = this.ipAddr;
|
||
data["port"] = this.port;
|
||
data["status"] = this.status;
|
||
data["occupiedUserID"] = this.occupiedUserID;
|
||
data["occupiedUserName"] = this.occupiedUserName;
|
||
data["firmVersion"] = this.firmVersion;
|
||
return data;
|
||
}
|
||
}
|
||
|
||
/** FPGA 板子类,表示板子信息 */
|
||
export interface IBoard {
|
||
/** FPGA 板子的唯一标识符 */
|
||
id: string;
|
||
/** FPGA 板子的名称 */
|
||
boardName: string;
|
||
/** FPGA 板子的IP地址 */
|
||
ipAddr: string;
|
||
/** FPGA 板子的通信端口 */
|
||
port: number;
|
||
/** FPGA 板子的当前状态 */
|
||
status: BoardStatus;
|
||
/** 占用该板子的用户的唯一标识符 */
|
||
occupiedUserID: string;
|
||
/** 占用该板子的用户的用户名 */
|
||
occupiedUserName?: string | undefined;
|
||
/** FPGA 板子的固件版本号 */
|
||
firmVersion: string;
|
||
}
|
||
|
||
/** FPGA 板子状态枚举 */
|
||
export enum BoardStatus {
|
||
Busy = 0,
|
||
Available = 1,
|
||
}
|
||
|
||
export class SystemException extends Exception implements ISystemException {
|
||
|
||
constructor(data?: ISystemException) {
|
||
super(data);
|
||
}
|
||
|
||
init(_data?: any) {
|
||
super.init(_data);
|
||
}
|
||
|
||
static fromJS(data: any): SystemException {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new SystemException();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
super.toJSON(data);
|
||
return data;
|
||
}
|
||
}
|
||
|
||
export interface ISystemException extends IException {
|
||
}
|
||
|
||
export class ArgumentException extends SystemException implements IArgumentException {
|
||
declare message: string;
|
||
paramName?: string | undefined;
|
||
|
||
constructor(data?: IArgumentException) {
|
||
super(data);
|
||
}
|
||
|
||
init(_data?: any) {
|
||
super.init(_data);
|
||
if (_data) {
|
||
this.message = _data["Message"];
|
||
this.paramName = _data["ParamName"];
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): ArgumentException {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new ArgumentException();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["Message"] = this.message;
|
||
data["ParamName"] = this.paramName;
|
||
super.toJSON(data);
|
||
return data;
|
||
}
|
||
}
|
||
|
||
export interface IArgumentException extends ISystemException {
|
||
message: string;
|
||
paramName?: string | undefined;
|
||
}
|
||
|
||
/** 逻辑分析仪运行状态枚举 */
|
||
export enum CaptureStatus {
|
||
None = 0,
|
||
CaptureOn = 1,
|
||
CaptureForce = 256,
|
||
CaptureBusy = 65536,
|
||
CaptureDone = 16777216,
|
||
}
|
||
|
||
/** 全局触发模式枚举,定义多路信号触发条件的逻辑组合方式 */
|
||
export enum GlobalCaptureMode {
|
||
AND = 0,
|
||
OR = 1,
|
||
NAND = 2,
|
||
NOR = 3,
|
||
}
|
||
|
||
/** 信号M的操作符枚举 */
|
||
export enum SignalOperator {
|
||
Equal = 0,
|
||
NotEqual = 1,
|
||
LessThan = 2,
|
||
LessThanOrEqual = 3,
|
||
GreaterThan = 4,
|
||
GreaterThanOrEqual = 5,
|
||
}
|
||
|
||
/** 信号M的值枚举 */
|
||
export enum SignalValue {
|
||
Logic0 = 0,
|
||
Logic1 = 1,
|
||
NotCare = 2,
|
||
Rise = 3,
|
||
Fall = 4,
|
||
RiseOrFall = 5,
|
||
NoChange = 6,
|
||
SomeNumber = 7,
|
||
}
|
||
|
||
/** 捕获配置 */
|
||
export class CaptureConfig implements ICaptureConfig {
|
||
/** 全局触发模式 */
|
||
globalMode!: GlobalCaptureMode;
|
||
/** 信号触发配置列表 */
|
||
signalConfigs!: SignalTriggerConfig[];
|
||
|
||
constructor(data?: ICaptureConfig) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
if (!data) {
|
||
this.signalConfigs = [];
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.globalMode = _data["globalMode"];
|
||
if (Array.isArray(_data["signalConfigs"])) {
|
||
this.signalConfigs = [] as any;
|
||
for (let item of _data["signalConfigs"])
|
||
this.signalConfigs!.push(SignalTriggerConfig.fromJS(item));
|
||
}
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): CaptureConfig {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new CaptureConfig();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["globalMode"] = this.globalMode;
|
||
if (Array.isArray(this.signalConfigs)) {
|
||
data["signalConfigs"] = [];
|
||
for (let item of this.signalConfigs)
|
||
data["signalConfigs"].push(item.toJSON());
|
||
}
|
||
return data;
|
||
}
|
||
}
|
||
|
||
/** 捕获配置 */
|
||
export interface ICaptureConfig {
|
||
/** 全局触发模式 */
|
||
globalMode: GlobalCaptureMode;
|
||
/** 信号触发配置列表 */
|
||
signalConfigs: SignalTriggerConfig[];
|
||
}
|
||
|
||
/** 信号触发配置 */
|
||
export class SignalTriggerConfig implements ISignalTriggerConfig {
|
||
/** 信号索引 (0-7) */
|
||
signalIndex!: number;
|
||
/** 操作符 */
|
||
operator!: SignalOperator;
|
||
/** 信号值 */
|
||
value!: SignalValue;
|
||
|
||
constructor(data?: ISignalTriggerConfig) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.signalIndex = _data["signalIndex"];
|
||
this.operator = _data["operator"];
|
||
this.value = _data["value"];
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): SignalTriggerConfig {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new SignalTriggerConfig();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["signalIndex"] = this.signalIndex;
|
||
data["operator"] = this.operator;
|
||
data["value"] = this.value;
|
||
return data;
|
||
}
|
||
}
|
||
|
||
/** 信号触发配置 */
|
||
export interface ISignalTriggerConfig {
|
||
/** 信号索引 (0-7) */
|
||
signalIndex: number;
|
||
/** 操作符 */
|
||
operator: SignalOperator;
|
||
/** 信号值 */
|
||
value: SignalValue;
|
||
}
|
||
|
||
/** Package options which to send address to read or write */
|
||
export class SendAddrPackOptions implements ISendAddrPackOptions {
|
||
/** 突发类型 */
|
||
burstType!: BurstType;
|
||
/** 任务ID */
|
||
commandID!: number;
|
||
/** 标识写入还是读取 */
|
||
isWrite!: boolean;
|
||
/** 突发长度:0是32bits,255是32bits x 256 */
|
||
burstLength!: number;
|
||
/** 目标地址 */
|
||
address!: number;
|
||
|
||
constructor(data?: ISendAddrPackOptions) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.burstType = _data["burstType"];
|
||
this.commandID = _data["commandID"];
|
||
this.isWrite = _data["isWrite"];
|
||
this.burstLength = _data["burstLength"];
|
||
this.address = _data["address"];
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): SendAddrPackOptions {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new SendAddrPackOptions();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["burstType"] = this.burstType;
|
||
data["commandID"] = this.commandID;
|
||
data["isWrite"] = this.isWrite;
|
||
data["burstLength"] = this.burstLength;
|
||
data["address"] = this.address;
|
||
return data;
|
||
}
|
||
}
|
||
|
||
/** Package options which to send address to read or write */
|
||
export interface ISendAddrPackOptions {
|
||
/** 突发类型 */
|
||
burstType: BurstType;
|
||
/** 任务ID */
|
||
commandID: number;
|
||
/** 标识写入还是读取 */
|
||
isWrite: boolean;
|
||
/** 突发长度:0是32bits,255是32bits x 256 */
|
||
burstLength: number;
|
||
/** 目标地址 */
|
||
address: number;
|
||
}
|
||
|
||
/** Package Burst Type */
|
||
export enum BurstType {
|
||
FixedBurst = 0,
|
||
ExtendBurst = 1,
|
||
}
|
||
|
||
/** UDP接受数据包格式 */
|
||
export class UDPData implements IUDPData {
|
||
/** 接受到的时间 */
|
||
dateTime!: Date;
|
||
/** 发送来源的IP地址 */
|
||
address!: string;
|
||
/** 发送来源的端口号 */
|
||
port!: number;
|
||
/** 任务ID */
|
||
taskID!: number;
|
||
/** 接受到的数据 */
|
||
data!: string;
|
||
/** 是否被读取过 */
|
||
hasRead!: boolean;
|
||
|
||
constructor(data?: IUDPData) {
|
||
if (data) {
|
||
for (var property in data) {
|
||
if (data.hasOwnProperty(property))
|
||
(<any>this)[property] = (<any>data)[property];
|
||
}
|
||
}
|
||
}
|
||
|
||
init(_data?: any) {
|
||
if (_data) {
|
||
this.dateTime = _data["dateTime"] ? new Date(_data["dateTime"].toString()) : <any>undefined;
|
||
this.address = _data["address"];
|
||
this.port = _data["port"];
|
||
this.taskID = _data["taskID"];
|
||
this.data = _data["data"];
|
||
this.hasRead = _data["hasRead"];
|
||
}
|
||
}
|
||
|
||
static fromJS(data: any): UDPData {
|
||
data = typeof data === 'object' ? data : {};
|
||
let result = new UDPData();
|
||
result.init(data);
|
||
return result;
|
||
}
|
||
|
||
toJSON(data?: any) {
|
||
data = typeof data === 'object' ? data : {};
|
||
data["dateTime"] = this.dateTime ? this.dateTime.toISOString() : <any>undefined;
|
||
data["address"] = this.address;
|
||
data["port"] = this.port;
|
||
data["taskID"] = this.taskID;
|
||
data["data"] = this.data;
|
||
data["hasRead"] = this.hasRead;
|
||
return data;
|
||
}
|
||
}
|
||
|
||
/** UDP接受数据包格式 */
|
||
export interface IUDPData {
|
||
/** 接受到的时间 */
|
||
dateTime: Date;
|
||
/** 发送来源的IP地址 */
|
||
address: string;
|
||
/** 发送来源的端口号 */
|
||
port: number;
|
||
/** 任务ID */
|
||
taskID: number;
|
||
/** 接受到的数据 */
|
||
data: string;
|
||
/** 是否被读取过 */
|
||
hasRead: boolean;
|
||
}
|
||
|
||
export interface FileParameter {
|
||
data: any;
|
||
fileName: string;
|
||
}
|
||
|
||
export interface FileResponse {
|
||
data: Blob;
|
||
status: number;
|
||
fileName?: string;
|
||
headers?: { [name: string]: any };
|
||
}
|
||
|
||
export class ApiException extends Error {
|
||
message: string;
|
||
status: number;
|
||
response: string;
|
||
headers: { [key: string]: any; };
|
||
result: any;
|
||
|
||
constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {
|
||
super();
|
||
|
||
this.message = message;
|
||
this.status = status;
|
||
this.response = response;
|
||
this.headers = headers;
|
||
this.result = result;
|
||
}
|
||
|
||
protected isApiException = true;
|
||
|
||
static isApiException(obj: any): obj is ApiException {
|
||
return obj.isApiException === true;
|
||
}
|
||
}
|
||
|
||
function throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {
|
||
if (result !== null && result !== undefined)
|
||
throw result;
|
||
else
|
||
throw new ApiException(message, status, response, headers, null);
|
||
} |