refactor: 修改webapi,修改实验板网络设置时不再需要实验板ip与端口

This commit is contained in:
SikongJueluo 2025-07-17 19:05:13 +08:00
parent 688fe05b1b
commit 08a9be543e
No known key found for this signature in database
2 changed files with 26 additions and 137 deletions

View File

@ -16,11 +16,13 @@ public class NetConfigController : ControllerBase
{ {
private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
// 固定的实验板IP和端口
private const string BOARD_IP = "169.254.109.0";
private const int BOARD_PORT = 1234;
/// <summary> /// <summary>
/// 设置主机IP地址 /// 设置主机IP地址
/// </summary> /// </summary>
/// <param name="boardIp">板卡IP地址</param>
/// <param name="boardPort">板卡端口</param>
/// <param name="hostIp">主机IP地址</param> /// <param name="hostIp">主机IP地址</param>
/// <returns>操作结果</returns> /// <returns>操作结果</returns>
[HttpPost("SetHostIP")] [HttpPost("SetHostIP")]
@ -28,27 +30,18 @@ public class NetConfigController : ControllerBase
[ProducesResponseType(typeof(bool), StatusCodes.Status200OK)] [ProducesResponseType(typeof(bool), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> SetHostIP(string boardIp, int boardPort, string hostIp) public async Task<IActionResult> SetHostIP(string hostIp)
{ {
if (string.IsNullOrWhiteSpace(boardIp))
return BadRequest("板卡IP地址不能为空");
if (boardPort <= 0 || boardPort > 65535)
return BadRequest("板卡端口号无效");
if (string.IsNullOrWhiteSpace(hostIp)) if (string.IsNullOrWhiteSpace(hostIp))
return BadRequest("主机IP地址不能为空"); return BadRequest("主机IP地址不能为空");
if (!IPAddress.TryParse(boardIp, out _))
return BadRequest("板卡IP地址格式不正确");
if (!IPAddress.TryParse(hostIp, out var hostIpAddress)) if (!IPAddress.TryParse(hostIp, out var hostIpAddress))
return BadRequest("主机IP地址格式不正确"); return BadRequest("主机IP地址格式不正确");
try try
{ {
// 创建网络配置客户端 // 创建网络配置客户端
var netConfig = new NetConfig(boardIp, boardPort, 0); var netConfig = new NetConfig(BOARD_IP, BOARD_PORT, 0);
var result = await netConfig.SetHostIP(hostIpAddress); var result = await netConfig.SetHostIP(hostIpAddress);
if (!result.IsSuccessful) if (!result.IsSuccessful)
@ -69,8 +62,6 @@ public class NetConfigController : ControllerBase
/// <summary> /// <summary>
/// 设置板卡IP地址 /// 设置板卡IP地址
/// </summary> /// </summary>
/// <param name="currentBoardIp">当前板卡IP地址</param>
/// <param name="boardPort">板卡端口</param>
/// <param name="newBoardIp">新的板卡IP地址</param> /// <param name="newBoardIp">新的板卡IP地址</param>
/// <returns>操作结果</returns> /// <returns>操作结果</returns>
[HttpPost("SetBoardIP")] [HttpPost("SetBoardIP")]
@ -78,27 +69,18 @@ public class NetConfigController : ControllerBase
[ProducesResponseType(typeof(bool), StatusCodes.Status200OK)] [ProducesResponseType(typeof(bool), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> SetBoardIP(string currentBoardIp, int boardPort, string newBoardIp) public async Task<IActionResult> SetBoardIP(string newBoardIp)
{ {
if (string.IsNullOrWhiteSpace(currentBoardIp))
return BadRequest("当前板卡IP地址不能为空");
if (boardPort <= 0 || boardPort > 65535)
return BadRequest("板卡端口号无效");
if (string.IsNullOrWhiteSpace(newBoardIp)) if (string.IsNullOrWhiteSpace(newBoardIp))
return BadRequest("新的板卡IP地址不能为空"); return BadRequest("新的板卡IP地址不能为空");
if (!IPAddress.TryParse(currentBoardIp, out _))
return BadRequest("当前板卡IP地址格式不正确");
if (!IPAddress.TryParse(newBoardIp, out var newIpAddress)) if (!IPAddress.TryParse(newBoardIp, out var newIpAddress))
return BadRequest("新的板卡IP地址格式不正确"); return BadRequest("新的板卡IP地址格式不正确");
try try
{ {
// 创建网络配置客户端 // 创建网络配置客户端
var netConfig = new NetConfig(currentBoardIp, boardPort, 0); var netConfig = new NetConfig(BOARD_IP, BOARD_PORT, 0);
var result = await netConfig.SetBoardIP(newIpAddress); var result = await netConfig.SetBoardIP(newIpAddress);
if (!result.IsSuccessful) if (!result.IsSuccessful)
@ -119,8 +101,6 @@ public class NetConfigController : ControllerBase
/// <summary> /// <summary>
/// 设置主机MAC地址 /// 设置主机MAC地址
/// </summary> /// </summary>
/// <param name="boardIp">板卡IP地址</param>
/// <param name="boardPort">板卡端口</param>
/// <param name="hostMac">主机MAC地址格式AA:BB:CC:DD:EE:FF</param> /// <param name="hostMac">主机MAC地址格式AA:BB:CC:DD:EE:FF</param>
/// <returns>操作结果</returns> /// <returns>操作结果</returns>
[HttpPost("SetHostMAC")] [HttpPost("SetHostMAC")]
@ -128,20 +108,11 @@ public class NetConfigController : ControllerBase
[ProducesResponseType(typeof(bool), StatusCodes.Status200OK)] [ProducesResponseType(typeof(bool), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> SetHostMAC(string boardIp, int boardPort, string hostMac) public async Task<IActionResult> SetHostMAC(string hostMac)
{ {
if (string.IsNullOrWhiteSpace(boardIp))
return BadRequest("板卡IP地址不能为空");
if (boardPort <= 0 || boardPort > 65535)
return BadRequest("板卡端口号无效");
if (string.IsNullOrWhiteSpace(hostMac)) if (string.IsNullOrWhiteSpace(hostMac))
return BadRequest("主机MAC地址不能为空"); return BadRequest("主机MAC地址不能为空");
if (!IPAddress.TryParse(boardIp, out _))
return BadRequest("板卡IP地址格式不正确");
// 解析MAC地址 // 解析MAC地址
if (!TryParseMacAddress(hostMac, out var macBytes)) if (!TryParseMacAddress(hostMac, out var macBytes))
return BadRequest("MAC地址格式不正确请使用格式AA:BB:CC:DD:EE:FF"); return BadRequest("MAC地址格式不正确请使用格式AA:BB:CC:DD:EE:FF");
@ -149,7 +120,7 @@ public class NetConfigController : ControllerBase
try try
{ {
// 创建网络配置客户端 // 创建网络配置客户端
var netConfig = new NetConfig(boardIp, boardPort, 0); var netConfig = new NetConfig(BOARD_IP, BOARD_PORT, 0);
var result = await netConfig.SetHostMAC(macBytes); var result = await netConfig.SetHostMAC(macBytes);
if (!result.IsSuccessful) if (!result.IsSuccessful)
@ -170,25 +141,14 @@ public class NetConfigController : ControllerBase
/// <summary> /// <summary>
/// 更新主机MAC地址 /// 更新主机MAC地址
/// </summary> /// </summary>
/// <param name="boardIp">板卡IP地址</param>
/// <param name="boardPort">板卡端口</param>
/// <returns>操作结果</returns> /// <returns>操作结果</returns>
[HttpPost("UpdateHostMAC")] [HttpPost("UpdateHostMAC")]
[EnableCors("Users")] [EnableCors("Users")]
[ProducesResponseType(typeof(bool), StatusCodes.Status200OK)] [ProducesResponseType(typeof(bool), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> UpdateHostMAC(string boardIp, int boardPort) public async Task<IActionResult> UpdateHostMAC()
{ {
if (string.IsNullOrWhiteSpace(boardIp))
return BadRequest("板卡IP地址不能为空");
if (boardPort <= 0 || boardPort > 65535)
return BadRequest("板卡端口号无效");
if (!IPAddress.TryParse(boardIp, out _))
return BadRequest("板卡IP地址格式不正确");
byte[]? macBytes = null; byte[]? macBytes = null;
try try
{ {
@ -204,7 +164,7 @@ public class NetConfigController : ControllerBase
return StatusCode(StatusCodes.Status500InternalServerError, "无法获取本机MAC地址"); return StatusCode(StatusCodes.Status500InternalServerError, "无法获取本机MAC地址");
// 创建网络配置客户端 // 创建网络配置客户端
var netConfig = new NetConfig(boardIp, boardPort, 0); var netConfig = new NetConfig(BOARD_IP, BOARD_PORT, 0);
var result = await netConfig.SetHostMAC(macBytes); var result = await netConfig.SetHostMAC(macBytes);
if (!result.IsSuccessful) if (!result.IsSuccessful)
@ -225,8 +185,6 @@ public class NetConfigController : ControllerBase
/// <summary> /// <summary>
/// 设置板卡MAC地址 /// 设置板卡MAC地址
/// </summary> /// </summary>
/// <param name="boardIp">板卡IP地址</param>
/// <param name="boardPort">板卡端口</param>
/// <param name="boardMac">板卡MAC地址格式AA:BB:CC:DD:EE:FF</param> /// <param name="boardMac">板卡MAC地址格式AA:BB:CC:DD:EE:FF</param>
/// <returns>操作结果</returns> /// <returns>操作结果</returns>
[HttpPost("SetBoardMAC")] [HttpPost("SetBoardMAC")]
@ -234,20 +192,11 @@ public class NetConfigController : ControllerBase
[ProducesResponseType(typeof(bool), StatusCodes.Status200OK)] [ProducesResponseType(typeof(bool), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> SetBoardMAC(string boardIp, int boardPort, string boardMac) public async Task<IActionResult> SetBoardMAC(string boardMac)
{ {
if (string.IsNullOrWhiteSpace(boardIp))
return BadRequest("板卡IP地址不能为空");
if (boardPort <= 0 || boardPort > 65535)
return BadRequest("板卡端口号无效");
if (string.IsNullOrWhiteSpace(boardMac)) if (string.IsNullOrWhiteSpace(boardMac))
return BadRequest("板卡MAC地址不能为空"); return BadRequest("板卡MAC地址不能为空");
if (!IPAddress.TryParse(boardIp, out _))
return BadRequest("板卡IP地址格式不正确");
// 解析MAC地址 // 解析MAC地址
if (!TryParseMacAddress(boardMac, out var macBytes)) if (!TryParseMacAddress(boardMac, out var macBytes))
return BadRequest("MAC地址格式不正确请使用格式AA:BB:CC:DD:EE:FF"); return BadRequest("MAC地址格式不正确请使用格式AA:BB:CC:DD:EE:FF");
@ -255,7 +204,7 @@ public class NetConfigController : ControllerBase
try try
{ {
// 创建网络配置客户端 // 创建网络配置客户端
var netConfig = new NetConfig(boardIp, boardPort, 0); var netConfig = new NetConfig(BOARD_IP, BOARD_PORT, 0);
var result = await netConfig.SetBoardMAC(macBytes); var result = await netConfig.SetBoardMAC(macBytes);
if (!result.IsSuccessful) if (!result.IsSuccessful)

View File

@ -2691,16 +2691,11 @@ export class NetConfigClient {
/** /**
* IP地址 * IP地址
* @param boardId (optional) ID
* @param hostIp (optional) IP地址 * @param hostIp (optional) IP地址
* @return * @return
*/ */
setHostIP(boardId: string | undefined, hostIp: string | undefined): Promise<boolean> { setHostIP(hostIp: string | undefined): Promise<boolean> {
let url_ = this.baseUrl + "/api/NetConfig/SetHostIP?"; let url_ = this.baseUrl + "/api/NetConfig/SetHostIP?";
if (boardId === null)
throw new Error("The parameter 'boardId' cannot be null.");
else if (boardId !== undefined)
url_ += "boardId=" + encodeURIComponent("" + boardId) + "&";
if (hostIp === null) if (hostIp === null)
throw new Error("The parameter 'hostIp' cannot be null."); throw new Error("The parameter 'hostIp' cannot be null.");
else if (hostIp !== undefined) else if (hostIp !== undefined)
@ -2737,13 +2732,6 @@ export class NetConfigClient {
result400 = ProblemDetails.fromJS(resultData400); result400 = ProblemDetails.fromJS(resultData400);
return throwException("A server side error occurred.", status, _responseText, _headers, result400); return throwException("A server side error occurred.", status, _responseText, _headers, result400);
}); });
} 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) { } else if (status === 500) {
return response.text().then((_responseText) => { return response.text().then((_responseText) => {
return throwException("A server side error occurred.", status, _responseText, _headers); return throwException("A server side error occurred.", status, _responseText, _headers);
@ -2758,20 +2746,15 @@ export class NetConfigClient {
/** /**
* IP地址 * IP地址
* @param boardId (optional) ID * @param newBoardIp (optional) IP地址
* @param boardIp (optional) IP地址
* @return * @return
*/ */
setBoardIP(boardId: string | undefined, boardIp: string | undefined): Promise<boolean> { setBoardIP(newBoardIp: string | undefined): Promise<boolean> {
let url_ = this.baseUrl + "/api/NetConfig/SetBoardIP?"; let url_ = this.baseUrl + "/api/NetConfig/SetBoardIP?";
if (boardId === null) if (newBoardIp === null)
throw new Error("The parameter 'boardId' cannot be null."); throw new Error("The parameter 'newBoardIp' cannot be null.");
else if (boardId !== undefined) else if (newBoardIp !== undefined)
url_ += "boardId=" + encodeURIComponent("" + boardId) + "&"; url_ += "newBoardIp=" + encodeURIComponent("" + newBoardIp) + "&";
if (boardIp === null)
throw new Error("The parameter 'boardIp' cannot be null.");
else if (boardIp !== undefined)
url_ += "boardIp=" + encodeURIComponent("" + boardIp) + "&";
url_ = url_.replace(/[?&]$/, ""); url_ = url_.replace(/[?&]$/, "");
let options_: RequestInit = { let options_: RequestInit = {
@ -2804,13 +2787,6 @@ export class NetConfigClient {
result400 = ProblemDetails.fromJS(resultData400); result400 = ProblemDetails.fromJS(resultData400);
return throwException("A server side error occurred.", status, _responseText, _headers, result400); return throwException("A server side error occurred.", status, _responseText, _headers, result400);
}); });
} 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) { } else if (status === 500) {
return response.text().then((_responseText) => { return response.text().then((_responseText) => {
return throwException("A server side error occurred.", status, _responseText, _headers); return throwException("A server side error occurred.", status, _responseText, _headers);
@ -2825,16 +2801,11 @@ export class NetConfigClient {
/** /**
* MAC地址 * MAC地址
* @param boardId (optional) ID
* @param hostMac (optional) MAC地址AA:BB:CC:DD:EE:FF * @param hostMac (optional) MAC地址AA:BB:CC:DD:EE:FF
* @return * @return
*/ */
setHostMAC(boardId: string | undefined, hostMac: string | undefined): Promise<boolean> { setHostMAC(hostMac: string | undefined): Promise<boolean> {
let url_ = this.baseUrl + "/api/NetConfig/SetHostMAC?"; let url_ = this.baseUrl + "/api/NetConfig/SetHostMAC?";
if (boardId === null)
throw new Error("The parameter 'boardId' cannot be null.");
else if (boardId !== undefined)
url_ += "boardId=" + encodeURIComponent("" + boardId) + "&";
if (hostMac === null) if (hostMac === null)
throw new Error("The parameter 'hostMac' cannot be null."); throw new Error("The parameter 'hostMac' cannot be null.");
else if (hostMac !== undefined) else if (hostMac !== undefined)
@ -2871,13 +2842,6 @@ export class NetConfigClient {
result400 = ProblemDetails.fromJS(resultData400); result400 = ProblemDetails.fromJS(resultData400);
return throwException("A server side error occurred.", status, _responseText, _headers, result400); return throwException("A server side error occurred.", status, _responseText, _headers, result400);
}); });
} 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) { } else if (status === 500) {
return response.text().then((_responseText) => { return response.text().then((_responseText) => {
return throwException("A server side error occurred.", status, _responseText, _headers); return throwException("A server side error occurred.", status, _responseText, _headers);
@ -2892,15 +2856,10 @@ export class NetConfigClient {
/** /**
* MAC地址 * MAC地址
* @param boardId (optional) ID
* @return * @return
*/ */
updateHostMAC(boardId: string | undefined): Promise<boolean> { updateHostMAC(): Promise<boolean> {
let url_ = this.baseUrl + "/api/NetConfig/UpdateHostMAC?"; let url_ = this.baseUrl + "/api/NetConfig/UpdateHostMAC";
if (boardId === null)
throw new Error("The parameter 'boardId' cannot be null.");
else if (boardId !== undefined)
url_ += "boardId=" + encodeURIComponent("" + boardId) + "&";
url_ = url_.replace(/[?&]$/, ""); url_ = url_.replace(/[?&]$/, "");
let options_: RequestInit = { let options_: RequestInit = {
@ -2933,13 +2892,6 @@ export class NetConfigClient {
result400 = ProblemDetails.fromJS(resultData400); result400 = ProblemDetails.fromJS(resultData400);
return throwException("A server side error occurred.", status, _responseText, _headers, result400); return throwException("A server side error occurred.", status, _responseText, _headers, result400);
}); });
} 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) { } else if (status === 500) {
return response.text().then((_responseText) => { return response.text().then((_responseText) => {
return throwException("A server side error occurred.", status, _responseText, _headers); return throwException("A server side error occurred.", status, _responseText, _headers);
@ -2954,16 +2906,11 @@ export class NetConfigClient {
/** /**
* MAC地址 * MAC地址
* @param boardId (optional) ID
* @param boardMac (optional) MAC地址AA:BB:CC:DD:EE:FF * @param boardMac (optional) MAC地址AA:BB:CC:DD:EE:FF
* @return * @return
*/ */
setBoardMAC(boardId: string | undefined, boardMac: string | undefined): Promise<boolean> { setBoardMAC(boardMac: string | undefined): Promise<boolean> {
let url_ = this.baseUrl + "/api/NetConfig/SetBoardMAC?"; let url_ = this.baseUrl + "/api/NetConfig/SetBoardMAC?";
if (boardId === null)
throw new Error("The parameter 'boardId' cannot be null.");
else if (boardId !== undefined)
url_ += "boardId=" + encodeURIComponent("" + boardId) + "&";
if (boardMac === null) if (boardMac === null)
throw new Error("The parameter 'boardMac' cannot be null."); throw new Error("The parameter 'boardMac' cannot be null.");
else if (boardMac !== undefined) else if (boardMac !== undefined)
@ -3000,13 +2947,6 @@ export class NetConfigClient {
result400 = ProblemDetails.fromJS(resultData400); result400 = ProblemDetails.fromJS(resultData400);
return throwException("A server side error occurred.", status, _responseText, _headers, result400); return throwException("A server side error occurred.", status, _responseText, _headers, result400);
}); });
} 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) { } else if (status === 500) {
return response.text().then((_responseText) => { return response.text().then((_responseText) => {
return throwException("A server side error occurred.", status, _responseText, _headers); return throwException("A server side error occurred.", status, _responseText, _headers);
@ -3799,7 +3739,7 @@ export class UDPClient {
} }
export class Exception implements IException { export class Exception implements IException {
message!: string; declare message: string;
innerException?: Exception | undefined; innerException?: Exception | undefined;
source?: string | undefined; source?: string | undefined;
stackTrace?: string | undefined; stackTrace?: string | undefined;