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 | 34 ++++++++++++++--------------------
1 files changed, 14 insertions(+), 20 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 dc18dc6..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,21 +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 IHttpClientFactory _httpClientFactory;
+ private readonly ApiHttpClient _apiClient;
- public DetailsModel(ILogger<DetailsModel> logger, IHttpClientFactory httpClientFactory)
+ public DetailsModel(ILogger<DetailsModel> logger, IConfiguration configuration, ApiHttpClient apiClient)
+ : base(configuration)
{
_logger = logger;
- _httpClientFactory = httpClientFactory;
+ _apiClient = apiClient;
}
public InstanceState? Instance { get; private set; }
@@ -31,26 +33,18 @@
try
{
- var httpClient = _httpClientFactory.CreateClient();
- httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}");
+ Instance = await _apiClient.GetInstanceAsync(id);
- var response = await httpClient.GetAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(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