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

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

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

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

Loading…
Cancel
Save