From 917167e2db282309530dd14cf2bfa2b2ad9644d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Thu, 17 Jul 2025 15:28:38 +0800 Subject: [PATCH] =?UTF-8?q?U8=E5=AF=B9=E6=8E=A5=E8=AF=B7=E6=B1=82=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms-u8/ERP_WMS_interactiveService.cs | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/ZR.Service/mes/wms-u8/ERP_WMS_interactiveService.cs b/ZR.Service/mes/wms-u8/ERP_WMS_interactiveService.cs index d7ab1d30..4050d8d9 100644 --- a/ZR.Service/mes/wms-u8/ERP_WMS_interactiveService.cs +++ b/ZR.Service/mes/wms-u8/ERP_WMS_interactiveService.cs @@ -8,6 +8,7 @@ using System.Globalization; using System.Linq; using System.Net; using System.Net.Http; +using System.Text; using System.Threading.Tasks; using U8Server.Util; using ZR.Model.MES.wms; @@ -63,17 +64,14 @@ namespace ZR.Service.mes.wms_u8 } // 2. 构建URL和请求数据 - string url = BuildUrl(urlBase, action); + string url = BuildUrl(urlBase, action, models); string requestData = JsonConvert.SerializeObject(models); _logger.Debug($"{operation}请求数据: {requestData}"); - // 3. 构建headers(含签名) - var headers = BuildHeaders(requestData); - try { _logger.Trace($"发送{operation}同步HTTP请求 - URL: {url}"); - object result = HttpHelper.HttpPost(url, requestData, "application/json", 5, headers); + object result = HttpHelper.HttpPost(url, requestData, "application/json", 5, null); // 4. 处理响应(同步方法假设HttpPost返回已反序列化对象,需根据实际HttpHelper调整) return ProcessSyncResponse(result, operation, url); @@ -100,17 +98,14 @@ namespace ZR.Service.mes.wms_u8 } // 2. 构建URL和请求数据 - string url = BuildUrl(urlBase, action); + string url = BuildUrl(urlBase, action, models); string requestData = JsonConvert.SerializeObject(models); _logger.Debug($"{operation}请求数据: {requestData}"); - // 3. 构建headers(含签名) - var headers = BuildHeaders(requestData); - try { _logger.Trace($"发送{operation}异步HTTP请求 - URL: {url}"); - string resultJson = await HttpHelper.HttpPostAsync(url, requestData, "application/json", 5, headers); + string resultJson = await HttpHelper.HttpPostAsync(url, requestData, "application/json", 5, null); // 4. 处理响应(先校验JSON格式,再反序列化) return await ProcessAsyncResponse(resultJson, operation, url); @@ -124,16 +119,30 @@ namespace ZR.Service.mes.wms_u8 #region 工具方法 /// - /// 构建URL(避免双斜杠问题) + /// 构建URL(避免双斜杠问题,并添加查询字符串参数) /// - private string BuildUrl(string urlBase, string action) + private string BuildUrl(string urlBase, string action, List models) { // 移除urlBase结尾的斜杠,再拼接路径 - return $"{urlBase.TrimEnd('/')}/wms/mes/{action}"; + string baseUrl = $"{urlBase.TrimEnd('/')}/wms/mes/{action}"; + + // 构建请求参数 + string requestData = JsonConvert.SerializeObject(models); + var headers = BuildHeaders(requestData); + + // 构建查询字符串 + var queryString = string.Join("&", headers.Select(kv => $"{WebUtility.UrlEncode(kv.Key)}={WebUtility.UrlEncode(kv.Value)}")); + + if (!string.IsNullOrEmpty(queryString)) + { + baseUrl += $"?{queryString}"; + } + + return baseUrl; } /// - /// 构建请求头(含签名生成) + /// 构建请求参数(原构建请求头的逻辑) /// private Dictionary BuildHeaders(string requestData) {