fix: 3.1排查

master
Tongg 5 months ago
parent cd4f5b955f
commit 62a7fa8b5e
  1. 49
      Model/Services/SOCClientService.cs
  2. 5
      ViewModel/BaseWindow/BaseControlVM.cs
  3. 6
      ViewModel/Grading/GradingLoadingVM.cs
  4. 3
      Views/UserControl/Viewport3D.xaml.cs

@ -35,12 +35,23 @@ namespace SparkClient.Model.Services
/// </summary>
private readonly string _authToken;
private static SOCClientService _service;
public static SOCClientService Service {
get
{
if (_service == null)
_service = new SOCClientService();
return _service;
}
}
private bool GenImage;
/// <summary>
/// 构造函数,初始化基础URL和认证令牌。
/// </summary>
public SOCClientService()
private SOCClientService()
{
_baseUrl = ConfigurationManager.AppSettings["BaseUrl"];
_authToken = "your_basic_auth_token";
@ -55,8 +66,21 @@ namespace SparkClient.Model.Services
{
using (var client = new HttpClient())
{
Logger.Info($"Request sent to URL: {url}");
client.DefaultRequestHeaders.Add("Authorization", "Basic " + _authToken);
return await client.GetAsync(url);
HttpResponseMessage result = await client.GetAsync(url);
// 提前读取内容并存储
string responseBody = await result.Content.ReadAsStringAsync();
int statusCode = (int)result.StatusCode;
// 记录日志
Logger.Info($"Response: Status={statusCode}, Body={responseBody}");
result.Content = new StringContent(responseBody);
return result;
}
}
@ -212,11 +236,12 @@ namespace SparkClient.Model.Services
try
{
var response = await SendGetRequestAsync(url);
Logger.Debug($" CollectStatusAsync url :{ url} ");
if (response.IsSuccessStatusCode)
{
var jsonResponse = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<ResponseStatus>(jsonResponse);
Logger.Debug($" CollectStatusAsync result :{ result} ");
return result.Status;
}
@ -255,6 +280,7 @@ namespace SparkClient.Model.Services
// 启动任务接口
SocResultEntity entity = await CollectImagesAsync();
// 成功
Logger.Debug($"entity :{entity.Status} {entity.ToString()} ");
if (entity.Status != StatusCodes.Success)
{
// 启动任务失败
@ -268,11 +294,13 @@ namespace SparkClient.Model.Services
// 成功
if (acquisitionStatus != StatusCodes.Success)
{
Logger.Debug($"acquisitionStatus != StatusCodes.Success : {acquisitionStatus}");
// 采集状态失败
return new SocResultEntity { Status = acquisitionStatus, Images = new List<string>() };
}
if (imageNames.Count == 0)
{
Logger.Debug("imageNames.Count == 0");
// 图片文件读取失败
return new SocResultEntity { Status = StatusCodes.ImageFileReadFailure, Images = new List<string>() };
}
@ -311,18 +339,20 @@ namespace SparkClient.Model.Services
public async Task<string> CutRevolve(double angle)
{
// await OpenPump(true);
int param = (int)angle * 100;
string url = $"{_baseUrl}/rotate_to?angle={param}";
if(GenImage) return StatusCodes.DeviceNotFound;
// if(GenImage) return StatusCodes.DeviceNotFound;
GenImage = true;
try
{
var response = await SendGetRequestAsync(url);
Logger.Debug(url);
if (response.IsSuccessStatusCode)
{
var jsonResponse = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<ResponseStatus>(jsonResponse);
Logger.Debug(result);
return result.Status;
}
@ -337,14 +367,16 @@ namespace SparkClient.Model.Services
finally
{
GenImage = false;
// await OpenPump(true);
}
}
public async Task<string> OpenPump(bool isOpen = true)
public async Task<string> OpenPump(bool isOpen)
{
if(GenImage) return StatusCodes.DeviceNotFound;
int param = isOpen? 1 : 0 ;
// if(GenImage) return StatusCodes.DeviceNotFound;
int param = isOpen ? 1 : 0 ;
string url = $"{_baseUrl}/set_pump?on={param}";
Logger.Debug(url);
try
{
var response = await SendGetRequestAsync(url);
@ -353,6 +385,7 @@ namespace SparkClient.Model.Services
{
var jsonResponse = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<ResponseStatus>(jsonResponse);
Logger.Debug(result.Status);
return result.Status;
}

@ -143,14 +143,13 @@ public class BaseControlVM : BaseViewModel
/// 关闭并退回至上一个页面
/// </summary>
/// <param name="parameter"></param>
public void CloseVM(object parameter)
public async void CloseVM(object parameter)
{
if(Content is GradingResultVM)
{
WindowManager.PreviousVM();
WindowManager.mainViewModel.Content = WindowManager.PreviousVM();
var _socClientService = new SOCClientService();
_socClientService.OpenPump(false);
await SOCClientService.Service.OpenPump(false);
//bool isSaved = (Content as GradingResultVM).isSaved;
// if (isSaved)
// {

@ -166,9 +166,9 @@ public class GradingLoadingVM : BaseViewModel,IDisposable
}
}
if(type == 0){
_socClientService = new SOCClientService();
string openpupmStatus = await _socClientService.OpenPump(true);
if(type == 0)
{
string openpupmStatus = await SOCClientService.Service.OpenPump(true);
if (!StatusCodes.Success.Equals(openpupmStatus))
{
new MessageBox().Show("气泵开启失败!");

@ -506,8 +506,7 @@ public partial class Viewport3D
//获取当前选中的面,找到角度,*100,发送至切工仪
var res = ViewportManager.ViewportTriangle.Find(e => ViewportManager.ChooseTriangleCode.Equals(e.TriangleCode));
if (res == null) return;
SOCClientService service = new SOCClientService();
service.CutRevolve(res.Theta);
SOCClientService.Service.CutRevolve(res.Theta);
break;
}
}

Loading…
Cancel
Save