//---------------------- // // Generated using the NSwag toolchain v14.3.0.0 (NJsonSchema v11.2.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org) // //---------------------- /* tslint:disable */ /* eslint-disable */ // ReSharper disable InconsistentNaming export class VideoStreamClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { this.http = http ? http : window as any; this.baseUrl = baseUrl ?? "http://localhost:5000"; } /** * 获取 HTTP 视频流服务状态 * @return 服务状态信息 */ getStatus(): Promise { 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 { 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 : 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(null as any); } /** * 获取 HTTP 视频流信息 * @return 流信息 */ getStreamInfo(): Promise { 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 { 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 : 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(null as any); } /** * 配置摄像头连接参数 * @param config 摄像头配置 * @return 配置结果 */ configureCamera(config: CameraConfigRequest): Promise { 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 { 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 : 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 : 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(null as any); } /** * 获取当前摄像头配置 * @return 摄像头配置信息 */ getCameraConfig(): Promise { 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 { 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 : 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(null as any); } /** * 控制 HTTP 视频流服务开关 * @param enabled (optional) 是否启用服务 * @return 操作结果 */ setEnabled(enabled: boolean | undefined): Promise { 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 { 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 : 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(null as any); } /** * 测试 HTTP 视频流连接 * @return 连接测试结果 */ testConnection(): Promise { 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 { 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 : 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(null as any); } /** * 设置视频流分辨率 * @param request 分辨率配置请求 * @return 设置结果 */ setResolution(request: ResolutionConfigRequest): Promise { 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 { 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 : 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 : 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 : 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(null as any); } /** * 获取当前分辨率 * @return 当前分辨率信息 */ getCurrentResolution(): Promise { 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 { 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 : 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 : 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(null as any); } /** * 获取支持的分辨率列表 * @return 支持的分辨率列表 */ getSupportedResolutions(): Promise { 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 { 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 : 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 : 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(null as any); } /** * 初始化摄像头自动对焦功能 * @return 初始化结果 */ initAutoFocus(): Promise { 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 { 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(null as any); } /** * 执行自动对焦 * @return 对焦结果 */ autoFocus(): Promise { 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 { 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(null as any); } } export class BsdlParserClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { this.http = http ? http : window as any; this.baseUrl = baseUrl ?? "http://localhost:5000"; } /** * [TODO:description] * @return [TODO:return] */ getBoundaryLogicalPorts(): Promise { 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 { 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(null as any); } } export class DataClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { 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 { 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 { 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 : 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(null as any); } /** * 测试用户认证,需携带有效 JWT * @return 认证成功信息 */ testAuth(): Promise { 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 { 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 : 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(null as any); } /** * 测试管理员用户认证,需携带有效 JWT * @return 认证成功信息 */ testAdminAuth(): Promise { 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 { 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 : 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(null as any); } /** * 获取当前用户信息 * @return 用户信息,包括ID、用户名、邮箱和板卡ID */ getUserInfo(): Promise { 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 { 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(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 { 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 { 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 : 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(null as any); } /** * 获取一个空闲的实验板(普通用户权限) * @param durationHours (optional) 绑定持续时间(小时),默认为1小时 */ getAvailableBoard(durationHours: number | undefined): Promise { 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 { 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(null as any); } /** * 解除当前用户绑定的实验板(普通用户权限) */ unbindBoard(): Promise { 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 { 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 : 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(null as any); } /** * 用户根据实验板ID获取实验板信息(普通用户权限) * @param id (optional) */ getBoardByID(id: string | undefined): Promise { 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 { 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(null as any); } /** * 新增板子(管理员权限) * @param name (optional) * @param ipAddr (optional) * @param port (optional) */ addBoard(name: string | undefined, ipAddr: string | undefined, port: number | undefined): Promise { 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 { 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 : 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(null as any); } /** * 删除板子(管理员权限) * @param id (optional) */ deleteBoard(id: string | undefined): Promise { 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 { 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 : 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(null as any); } /** * 获取全部板子(管理员权限) */ getAllBoards(): Promise { 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 { 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 = 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(null as any); } } export class DDSClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { 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 { 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 { 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 : 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(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 { 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 { 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 : 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(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 { 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 { 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 : 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(null as any); } } export class JtagClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { this.http = http ? http : window as any; this.baseUrl = baseUrl ?? "http://localhost:5000"; } /** * 控制器首页信息 * @return 控制器描述信息 */ index(): Promise { 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 { 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 : 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(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 { 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 { 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 : 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(null as any); } /** * 读取 JTAG 设备的状态寄存器 * @param address (optional) JTAG 设备地址 * @param port (optional) JTAG 设备端口 * @return 状态寄存器的原始值、二进制表示和解码值 */ readStatusReg(address: string | undefined, port: number | undefined): Promise { 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 { 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(null as any); } /** * 上传比特流文件到服务器 * @param address (optional) 目标设备地址 * @param file (optional) 比特流文件 * @return 上传结果 */ uploadBitstream(address: string | undefined, file: FileParameter | undefined): Promise { 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 { 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 : 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 : 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(null as any); } /** * 通过 JTAG 下载比特流文件到 FPGA 设备 * @param address (optional) JTAG 设备地址 * @param port (optional) JTAG 设备端口 * @return 下载结果 */ downloadBitstream(address: string | undefined, port: number | undefined): Promise { 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 { 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 : 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 : 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(null as any); } /** * 执行边界扫描,获取所有端口状态 * @param address (optional) JTAG 设备地址 * @param port (optional) JTAG 设备端口 * @return 边界扫描结果 */ boundaryScanAllPorts(address: string | undefined, port: number | undefined): Promise { 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 { 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 : 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 : 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(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)) (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null; } } else { result200 = 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 { 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 { 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 : 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(null as any); } } export class LogicAnalyzerClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { 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 { 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 { 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 : 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(null as any); } /** * 读取捕获状态 * @return 捕获状态 */ getCaptureStatus(): Promise { 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 { 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 : 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(null as any); } /** * 设置全局触发模式 * @param mode (optional) 全局触发模式 * @return 操作结果 */ setGlobalTrigMode(mode: GlobalCaptureMode | undefined): Promise { 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 { 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 : 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(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 { 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 { 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 : 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(null as any); } /** * 批量配置捕获参数 * @param config 捕获配置 * @return 操作结果 */ configureCapture(config: CaptureConfig): Promise { 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 { 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 : 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(null as any); } /** * 强制捕获 * @return 操作结果 */ forceCapture(): Promise { 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 { 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 : 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(null as any); } /** * 读取捕获数据 * @return 捕获的波形数据(Base64编码) */ getCaptureData(): Promise { 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 { 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 : 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(null as any); } } export class MatrixKeyClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { 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 { 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 { 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 : 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(null as any); } /** * 禁用矩阵键控制。 * @param address (optional) 设备的IP地址 * @param port (optional) 设备的端口号 * @return 返回操作结果的状态码 */ disableMatrixKey(address: string | undefined, port: number | undefined): Promise { 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 { 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 : 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(null as any); } /** * 设置矩阵键的状态。 * @param address (optional) 设备的IP地址 * @param port (optional) 设备的端口号 * @param keyStates 矩阵键的状态数组,长度应为16 * @return 返回操作结果的状态码 */ setMatrixKeyStatus(address: string | undefined, port: number | undefined, keyStates: boolean[]): Promise { 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 { 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 : 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(null as any); } } export class PowerClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { 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 { 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 { 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 : 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(null as any); } } export class RemoteUpdateClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { 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 { 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 { 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 : 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(null as any); } /** * 远程更新单个比特流文件 * @param address (optional) 设备地址 * @param port (optional) 设备端口 * @param bitstreamNum (optional) 比特流位号 */ updateBitstream(address: string | undefined, port: number | undefined, bitstreamNum: number | undefined): Promise { 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 { 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 : 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(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 { 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 { 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 : 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(null as any); } /** * 热复位比特流文件 * @param address (optional) 设备地址 * @param port (optional) 设备端口 * @param bitstreamNum (optional) 比特流编号 * @return 操作结果 */ hotResetBitstream(address: string | undefined, port: number | undefined, bitstreamNum: number | undefined): Promise { 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 { 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 : 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(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 { 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 { 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 : 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(null as any); } } export class TutorialClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { this.http = http ? http : window as any; this.baseUrl = baseUrl ?? "http://localhost:5000"; } /** * 获取所有可用的教程目录 * @return 教程目录列表 */ getTutorials(): Promise { 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 { 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(null as any); } } export class UDPClient { private http: { fetch(url: RequestInfo, init?: RequestInit): Promise }; private baseUrl: string; protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined; constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) { this.http = http ? http : window as any; this.baseUrl = baseUrl ?? "http://localhost:5000"; } /** * 页面 */ index(): Promise { 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 { 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 : 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(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 { 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 { 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(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 { 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 { 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(null as any); } /** * 发送地址包 * @param address (optional) IP地址 * @param port (optional) UDP 端口号 * @param opts 地址包选项 */ sendAddrPackage(address: string | undefined, port: number | undefined, opts: SendAddrPackOptions): Promise { 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 { 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(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 { 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 { 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(null as any); } /** * 获取指定IP地址接收的数据列表 * @param address (optional) IP地址 * @param taskID (optional) 任务ID */ getRecvDataArray(address: string | undefined, taskID: number | undefined): Promise { 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 { 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 = 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(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)) (this)[property] = (data)[property]; } } } init(_data?: any) { if (_data) { this.message = _data["Message"]; this.innerException = _data["InnerException"] ? Exception.fromJS(_data["InnerException"]) : 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() : 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)) (this)[property] = (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)) (this)[property] = (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)) (this)[property] = (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)) (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)) (data["extensions"])[key] = (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)) (this)[property] = (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()) : 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() : 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)) (this)[property] = (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)) (this)[property] = (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)) (this)[property] = (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)) (this)[property] = (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)) (this)[property] = (data)[property]; } } } init(_data?: any) { if (_data) { this.dateTime = _data["dateTime"] ? new Date(_data["dateTime"].toString()) : 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() : 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); }