From d216edd0e9931d71664f33e625cff6d8131a0fad Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期五, 13 三月 2026 16:00:40 +0800
Subject: [PATCH] 重构: 实现前后端分离架构
---
Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Pages/Details.cshtml.cs | 32 ++++++++++++++------------------
1 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Pages/Details.cshtml.cs b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Pages/Details.cshtml.cs
index bcbd46f..d901dac 100644
--- a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Pages/Details.cshtml.cs
+++ b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Pages/Details.cshtml.cs
@@ -1,22 +1,23 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using WIDESEAWCS_S7Simulator.Core.Entities;
+using WIDESEAWCS_S7Simulator.Web.Services;
namespace WIDESEAWCS_S7Simulator.Web.Pages;
/// <summary>
/// 瀹炰緥璇︽儏椤�
/// </summary>
-public class DetailsModel : PageModel
+public class DetailsModel : BasePageModel
{
private readonly ILogger<DetailsModel> _logger;
- private readonly HttpClient _httpClient;
+ private readonly ApiHttpClient _apiClient;
- public DetailsModel(ILogger<DetailsModel> logger, IHttpClientFactory httpClientFactory)
+ public DetailsModel(ILogger<DetailsModel> logger, IConfiguration configuration, ApiHttpClient apiClient)
+ : base(configuration)
{
_logger = logger;
- _httpClient = httpClientFactory.CreateClient();
- _httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}");
+ _apiClient = apiClient;
}
public InstanceState? Instance { get; private set; }
@@ -32,23 +33,18 @@
try
{
- var response = await _httpClient.GetAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(id)}");
+ Instance = await _apiClient.GetInstanceAsync(id);
- if (response.IsSuccessStatusCode)
- {
- Instance = await response.Content.ReadFromJsonAsync<InstanceState>();
-
- // Load clients
- var clientsResponse = await _httpClient.GetAsync($"/api/instances/{Uri.EscapeDataString(id)}/Clients");
- if (clientsResponse.IsSuccessStatusCode)
- {
- Clients = await clientsResponse.Content.ReadFromJsonAsync<List<S7ClientConnection>>() ?? new();
- }
- }
- else if (response.StatusCode == System.Net.HttpStatusCode.NotFound)
+ if (Instance == null)
{
return NotFound($"瀹炰緥 \"{id}\" 涓嶅瓨鍦�");
}
+
+ // 瀹㈡埛绔俊鎭凡鍖呭惈鍦� InstanceState 涓�
+ if (Instance.Clients != null)
+ {
+ Clients = Instance.Clients;
+ }
}
catch (HttpRequestException ex)
{
--
Gitblit v1.9.3