|
|
|
@ -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; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|