You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
5.0 KiB
C#

2 months ago
using Newtonsoft.Json;
using SlnMesnac.RfidUpload.Common;
using SlnMesnac.RfidUpload.Model;
using SlnMesnac.RfidUpload.Model.config;
using SlnMesnac.RfidUpload.NLog;
using System;
2 months ago
using System.IO;
using System.Net;
2 months ago
using System.Net.Http;
2 months ago
using System.Text;
using System.Text.RegularExpressions;
2 months ago
using System.Threading.Tasks;
2 months ago
using NewLife.Http;
2 months ago
using TouchSocket.Core;
using TouchSocket.Rpc;
using TouchSocket.Sockets;
using TouchSocket.WebApi;
2 months ago
using System.Security.Policy;
namespace SlnMesnac.RfidUpload.TouchSocket
{
public sealed class WebApiClientApp
{
#region 单例实现
private static readonly Lazy<WebApiClientApp> _lazy = new Lazy<WebApiClientApp>(() => new WebApiClientApp());
public static WebApiClientApp Instance
{
get
{
return _lazy.Value;
}
}
#endregion
2 months ago
private LogHelper logger = LogHelper.Instance;
private JsonChange jsonChange = JsonChange.Instance;
private AppConfig appConfig = AppConfig.Instance;
2 months ago
public string UploadAsync(int code,string paramStr,string reqName)
{
2 months ago
string guid = SnowflakeFactory.NewId.ToString();
2 months ago
string result = string.Empty;
try
{
var param = new ContainerInbound()
{
2 months ago
code = code,
requestURL = appConfig.requestURL,
sysCode = appConfig.sysCode,
password = appConfig.password,
ak = appConfig.ak,
sk = appConfig.sk,
containerRegisterQuery = paramStr
};
2 months ago
2 months ago
var str = jsonChange.ModeToJson(param);
2 months ago
2 months ago
logger.Info($"==========={reqName}===========");
2 months ago
logger.Info($"Http请求的:[{guid}] => \r\n {str}");
logger.Info($"Http请求ParamStr的:[{guid}] => \r\n {paramStr}");
2 months ago
result = client.PostJson(appConfig.localUrl, param);
2 months ago
logger.Info($"Http返回的:[{guid}] => \r\n {result}");
2 months ago
}
catch (Exception e)
{
2 months ago
Console.WriteLine(e.Message);
result = e.Message;
2 months ago
logger.Info($"[{reqName}]请求CSB接口调用服务异常:{e.Message}");
2 months ago
}
return result;
}
2 months ago
public string UploadAsync(string apiName, string paramName, string paramStr,string reqName)
{
string result = string.Empty;
try
{
2 months ago
string guid = SnowflakeFactory.NewId.ToString();
//logger.Info($"请求CSB接口调用服务,参数:{paramStr}");
ContainerInbound container = new ContainerInbound
{
code = 103,
requestURL = appConfig.requestURL,
sysCode = appConfig.sysCode,
password = appConfig.password,
ak = appConfig.ak,
sk = appConfig.sk,
apiName = apiName,
paramName = paramName,
containerRegisterQuery = paramStr
};
2 months ago
var str = jsonChange.ModeToJson(container);
2 months ago
2 months ago
logger.Info($"==========={reqName}===========");
2 months ago
logger.Info($"Http请求的:[{reqName}]:[{guid}] => \r\n {str}");
logger.Info($"Http请求ParamStr的:[{reqName}]:[{guid}] => \r\n {paramStr}");
2 months ago
result = client.PostJson(appConfig.localUrl, container);
2 months ago
2 months ago
logger.Info($"Http返回的:[{reqName}]:[{guid}] => \r\n {result}");
2 months ago
}
catch (Exception e)
{
Console.WriteLine(e.Message);
result = e.Message;
2 months ago
logger.Info($"[{reqName}]请求CSB接口调用服务异常:{e.Message}");
}
return result;
}
2 months ago
/// <summary>
/// ok
/// </summary>
/// <param name="paramStr"></param>
/// <param name="reqName"></param>
/// <returns></returns>
public string UploadAsync(string paramStr, string reqName)
2 months ago
{
2 months ago
string guid = SnowflakeFactory.NewId.ToString();
2 months ago
string result = string.Empty;
try
{
2 months ago
2 months ago
logger.Info($"==========={reqName}===========");
2 months ago
logger.Info($"Http请求的:[{reqName}]:[{guid}] => \r\n {paramStr}");
2 months ago
result = client.PostJson(appConfig.localUrl, paramStr);
2 months ago
logger.Info($"Http返回的:[{reqName}]:[{guid}] => \r\n{result}");
2 months ago
}
catch (Exception e)
{
Console.WriteLine(e.Message);
2 months ago
result = e.Message;
2 months ago
logger.Info($"[{reqName}]请求CSB接口调用服务异常:{e.Message}");
}
2 months ago
return result;
}
2 months ago
private HttpClient client = new HttpClient()
{
Timeout = TimeSpan.FromSeconds(30) // 请求超时
};
2 months ago
}
}