上传系统接口增加token

This commit is contained in:
hehaibing-1996
2025-03-03 11:23:07 +08:00
parent bd8337bed2
commit 84aa11ef30
4 changed files with 81 additions and 16 deletions

View File

@ -12,5 +12,7 @@ namespace WCS.BLL.Config
/// 0x02绿色 0x04蓝色 /// 0x02绿色 0x04蓝色
/// </summary> /// </summary>
public static byte CurrentOutStoreColor = 0x02; public static byte CurrentOutStoreColor = 0x02;
public static string WMSToken = string.Empty;
} }
} }

View File

@ -26,22 +26,22 @@ namespace WCS.BLL.Manager
public static void InitBackgroundThread() public static void InitBackgroundThread()
{ {
#region WMS接口获取具体的库存列表并展示在液晶标签上 #region WMS接口获取具体的库存列表并展示在液晶标签上
Task.Run(() => //Task.Run(() =>
{ //{
while (true) // while (true)
{ // {
//每5秒同步一次 // //每5秒同步一次
Thread.Sleep(5000); // Thread.Sleep(5000);
try // try
{ // {
} // }
catch (Exception ex) // catch (Exception ex)
{ // {
Logs.Write("【定时任务】刷新库存显示时发生异常!" + ex.Message); // Logs.Write("【定时任务】刷新库存显示时发生异常!" + ex.Message);
} // }
} // }
}); //});
#endregion #endregion
#region WMS系统 #region WMS系统
@ -51,6 +51,38 @@ namespace WCS.BLL.Manager
{ {
//回传数据的时间间隔 //回传数据的时间间隔
Thread.Sleep(2000); Thread.Sleep(2000);
//先判断是否需要获取token
if (string.IsNullOrEmpty(LocalStatic.WMSToken))
{
try
{
Logs.Write($"【定时任务回传数据至WMS系统】token为空 开始获取token", LogsType.Info);
#region token
var request = new LoginRequest()
{
userName = "cmeimZtwcs",
password = "Cmeim@ztwcs2024!@#"
};
var result = ApiHelp.GetDataFromHttpShortTime<LoginResponse>(@"http://10.41.235.10:18989/login", request, "POST", true);
if (result != null && (result.code == 200))
{
//获取到最新的token
LocalStatic.WMSToken = result.data;
Logs.Write($"【定时任务回传数据至WMS系统】调用接口获取token成功token为{result.data}", LogsType.Info);
}
else if (result != null && (result.code == 500) && result.message.Contains("未查询到条码信息【"))
{
Logs.Write($"【定时任务回传数据至WMS系统】调用接口获取token失败", LogsType.Info);
}
#endregion
}
catch (Exception ex)
{
Logs.Write($"【定时任务回传数据至WMS系统】获取token异常" + ex.Message, LogsType.Info);
Logs.Write($"【定时任务回传数据至WMS系统】获取token异常" + ex.StackTrace, LogsType.Info);
}
}
try try
{ {
//获取已完成未提交的任务 //获取已完成未提交的任务
@ -142,6 +174,22 @@ namespace WCS.BLL.Manager
DbHelp.db.Insertable(uploadedTask).ExecuteCommand(); DbHelp.db.Insertable(uploadedTask).ExecuteCommand();
DbHelp.db.Deleteable(finishedTask).ExecuteCommand(); DbHelp.db.Deleteable(finishedTask).ExecuteCommand();
} }
else if (result != null && (result.code == 10000) &&
(result.message.Contains("token") || result.message.Contains("请重新登录") || result.message.Contains("无token") || result.message.Contains("无效token") || result.message.Contains("token校验失败"))
)
{
Logs.Write($"【定时任务回传数据至WMS系统】根据wms接口返回 token已过期或者错误清空token。", LogsType.Info);
LocalStatic.WMSToken = string.Empty;
break;
}
else if (result != null && (result.code == 500) &&
(result.message.Contains("token") || result.message.Contains("请重新登录") || result.message.Contains("无token") || result.message.Contains("无效token") || result.message.Contains("token校验失败"))
)
{
Logs.Write($"【定时任务回传数据至WMS系统】根据wms接口返回 token已过期或者错误清空token。", LogsType.Info);
LocalStatic.WMSToken = string.Empty;
break;
}
#endregion #endregion
//为了调试 //为了调试

View File

@ -12,6 +12,7 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Input; using System.Windows.Input;
using WCS.BLL; using WCS.BLL;
using WCS.BLL.Config;
using WCS.Model; using WCS.Model;
namespace WCS.BLL.Tool namespace WCS.BLL.Tool
@ -280,6 +281,7 @@ namespace WCS.BLL.Tool
if (isSaveLog) if (isSaveLog)
Logs.Write($"【{guid}】开始请求调用接口 url{url} 请求方式:{httpMethod} 数据:{data}", LogsType.Api); Logs.Write($"【{guid}】开始请求调用接口 url{url} 请求方式:{httpMethod} 数据:{data}", LogsType.Api);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Add("token",LocalStatic.WMSToken);//智能制造要求请求增加token
request.Method = httpMethod; request.Method = httpMethod;
request.ContentType = "application/json"; request.ContentType = "application/json";
request.Timeout = 10000; request.Timeout = 10000;
@ -324,7 +326,7 @@ namespace WCS.BLL.Tool
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = httpMethod; request.Method = httpMethod;
request.ContentType = "application/json"; request.ContentType = "application/json";
request.Timeout = 2000; request.Timeout = 3000;
if (!string.IsNullOrEmpty(data)) if (!string.IsNullOrEmpty(data))
{ {

View File

@ -10,4 +10,17 @@ namespace WCS.Model.ApiModel.MKYBackgroundThread
public string message { get; set; } public string message { get; set; }
public object data { get; set; } public object data { get; set; }
} }
public class LoginRequest
{
public string userName { get; set; } = "cmeimZtwcs";
public string password { get; set; } = "Cmeim@ztwcs2024!@#";
}
public class LoginResponse
{
public int code { get; set; }
public string message { get; set; }
public string data { get; set; }
}
} }