diff --git a/server/src/Controllers/NetConfigController.cs b/server/src/Controllers/NetConfigController.cs
index c86ef5c..0573f8b 100644
--- a/server/src/Controllers/NetConfigController.cs
+++ b/server/src/Controllers/NetConfigController.cs
@@ -21,7 +21,6 @@ public class NetConfigController : ControllerBase
///
/// 板卡ID
/// 主机IP地址
- /// 任务ID,默认为0
/// 操作结果
[HttpPost("SetHostIP")]
[EnableCors("Users")]
@@ -53,7 +52,7 @@ public class NetConfigController : ControllerBase
var board = boardRet.Value.Value;
// 创建网络配置客户端
- var netConfig = new NetConfig(board.IPAddr, board.Port, 0);
+ var netConfig = new NetConfig(board.IpAddr, board.Port, 0);
var result = await netConfig.SetHostIP(ipAddress);
if (!result.IsSuccessful)
@@ -76,7 +75,6 @@ public class NetConfigController : ControllerBase
///
/// 板卡ID
/// 板卡IP地址
- /// 任务ID,默认为0
/// 操作结果
[HttpPost("SetBoardIP")]
[EnableCors("Users")]
@@ -108,7 +106,7 @@ public class NetConfigController : ControllerBase
var board = boardRet.Value.Value;
// 创建网络配置客户端
- var netConfig = new NetConfig(board.IPAddr, board.Port, 0);
+ var netConfig = new NetConfig(board.IpAddr, board.Port, 0);
var result = await netConfig.SetBoardIP(ipAddress);
if (!result.IsSuccessful)
@@ -117,6 +115,13 @@ public class NetConfigController : ControllerBase
return StatusCode(StatusCodes.Status500InternalServerError, $"设置失败: {result.Error}");
}
+ var ret = db.UpdateBoardIpAddr(boardId, ipAddress.ToString());
+ if (ret <= 0)
+ {
+ logger.Error($"数据库更新失败");
+ return StatusCode(StatusCodes.Status500InternalServerError, $"数据库更新失败");
+ }
+
return Ok(result.Value);
}
catch (Exception ex)
@@ -131,7 +136,6 @@ public class NetConfigController : ControllerBase
///
/// 板卡ID
/// 主机MAC地址(格式:AA:BB:CC:DD:EE:FF)
- /// 任务ID,默认为0
/// 操作结果
[HttpPost("SetHostMAC")]
[EnableCors("Users")]
@@ -164,7 +168,66 @@ public class NetConfigController : ControllerBase
var board = boardRet.Value.Value;
// 创建网络配置客户端
- var netConfig = new NetConfig(board.IPAddr, board.Port, 0);
+ var netConfig = new NetConfig(board.IpAddr, board.Port, 0);
+ var result = await netConfig.SetHostMAC(macBytes);
+
+ if (!result.IsSuccessful)
+ {
+ logger.Error($"设置主机MAC地址失败: {result.Error}");
+ return StatusCode(StatusCodes.Status500InternalServerError, $"设置失败: {result.Error}");
+ }
+
+ return Ok(result.Value);
+ }
+ catch (Exception ex)
+ {
+ logger.Error(ex, "设置主机MAC地址时发生异常");
+ return StatusCode(StatusCodes.Status500InternalServerError, "设置失败,请稍后重试");
+ }
+ }
+
+ ///
+ /// 更新主机MAC地址
+ ///
+ /// 板卡ID
+ /// 操作结果
+ [HttpPost("UpdateHostMAC")]
+ [EnableCors("Users")]
+ [ProducesResponseType(typeof(bool), StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status400BadRequest)]
+ [ProducesResponseType(StatusCodes.Status404NotFound)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task UpdateHostMAC(Guid boardId)
+ {
+ if (boardId == Guid.Empty)
+ return BadRequest("板卡ID不能为空");
+
+ byte[]? macBytes = null;
+ try
+ {
+ // 获取本机第一个可用的MAC地址
+ macBytes = System.Net.NetworkInformation.NetworkInterface
+ .GetAllNetworkInterfaces()
+ .Where(nic => nic.OperationalStatus == System.Net.NetworkInformation.OperationalStatus.Up
+ && nic.NetworkInterfaceType != System.Net.NetworkInformation.NetworkInterfaceType.Loopback)
+ .Select(nic => nic.GetPhysicalAddress()?.GetAddressBytes())
+ .FirstOrDefault(bytes => bytes != null && bytes.Length == 6);
+
+ if (macBytes == null)
+ return StatusCode(StatusCodes.Status500InternalServerError, "无法获取本机MAC地址");
+
+ // 获取板卡信息
+ using var db = new Database.AppDataConnection();
+ var boardRet = db.GetBoardByID(boardId);
+ if (!boardRet.IsSuccessful)
+ return StatusCode(StatusCodes.Status500InternalServerError, "数据库操作失败");
+ if (!boardRet.Value.HasValue)
+ return NotFound("未找到对应的板卡");
+
+ var board = boardRet.Value.Value;
+
+ // 创建网络配置客户端
+ var netConfig = new NetConfig(board.IpAddr, board.Port, 0);
var result = await netConfig.SetHostMAC(macBytes);
if (!result.IsSuccessful)
@@ -187,7 +250,6 @@ public class NetConfigController : ControllerBase
///
/// 板卡ID
/// 板卡MAC地址(格式:AA:BB:CC:DD:EE:FF)
- /// 任务ID,默认为0
/// 操作结果
[HttpPost("SetBoardMAC")]
[EnableCors("Users")]
@@ -220,7 +282,7 @@ public class NetConfigController : ControllerBase
var board = boardRet.Value.Value;
// 创建网络配置客户端
- var netConfig = new NetConfig(board.IPAddr, board.Port, 0);
+ var netConfig = new NetConfig(board.IpAddr, board.Port, 0);
var result = await netConfig.SetBoardMAC(macBytes);
if (!result.IsSuccessful)
@@ -277,4 +339,4 @@ public class NetConfigController : ControllerBase
return false;
}
}
-}
\ No newline at end of file
+}
diff --git a/server/src/Database.cs b/server/src/Database.cs
index 26412fe..084853b 100644
--- a/server/src/Database.cs
+++ b/server/src/Database.cs
@@ -511,7 +511,7 @@ public class AppDataConnection : DataConnection
{
var board = boards[0];
var user = this.UserTable.Where(u => u.ID == userId).FirstOrDefault();
-
+
if (user == null)
{
logger.Error($"未找到用户: {userId}");
@@ -542,6 +542,22 @@ public class AppDataConnection : DataConnection
}
}
+ ///
+ /// 更新实验板的IP地址
+ ///
+ /// 实验板的唯一标识符
+ /// 新的IP地址
+ /// 更新的记录数
+ public int UpdateBoardIpAddr(Guid boardId, string newIpAddr)
+ {
+ var result = this.BoardTable
+ .Where(b => b.ID == boardId)
+ .Set(b => b.IpAddr, newIpAddr)
+ .Update();
+ logger.Info($"实验板 {boardId} 的IP地址已更新为 {newIpAddr},更新记录数: {result}");
+ return result;
+ }
+
///
/// 用户表
///
diff --git a/src/APIClient.ts b/src/APIClient.ts
index b1aeacb..52339fe 100644
--- a/src/APIClient.ts
+++ b/src/APIClient.ts
@@ -1,4202 +1,4575 @@
-//----------------------
-//
-// 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);
- }
-
- /**
- * 执行一次自动对焦 (GET方式)
- * @return 对焦结果
- */
- focus(): Promise {
- let url_ = this.baseUrl + "/api/VideoStream/Focus";
- url_ = url_.replace(/[?&]$/, "");
-
- let options_: RequestInit = {
- method: "GET",
- headers: {
- "Accept": "application/json"
- }
- };
-
- return this.http.fetch(url_, options_).then((_response: Response) => {
- return this.processFocus(_response);
- });
- }
-
- protected processFocus(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);
- }
-}
-
-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"]) :