拼多多拍单关联闪退修复

This commit is contained in:
wule committed 2026-10-16 12:04:12 +08:00
1 parent b2d6d81e07
commit ebccdbc28c
4 files changed
+140 -81

No files matched your search

+102 -79
View File
@@ -1009,6 +1009,8 @@ namespace TemuKJD.ToolForms
pddFrontGoodsLite.goodsId = BaseRegex.GetLongJson(ref data, "goodsId");
pddFrontGoodsLite.mallName = BaseRegex.GetStringJson(ref data, "mallName");
pddFrontGoodsLite.mallId = BaseRegex.GetLongJson(ref data, "mallId");
if (pddFrontGoodsLite.mallId == 0)
pddFrontGoodsLite.mallId = -1;
}
private void ShopLoginForm_FormClosed(object sender, FormClosedEventArgs e)
@@ -1050,39 +1052,60 @@ namespace TemuKJD.ToolForms
private async void btnManualUpdateTransitWarehouse_Click(object sender, EventArgs e)
{
var sendProvince = txtSendProvince.Text.Trim();
if (transitWarehouse == null && !cmbTransitWarehouse.Text.Trim().IsNullOrEmpty())
{
transitWarehouse = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransName + " " + t.TransFullAddress == cmbTransitWarehouse.Text.Trim().ParseToString());
}
try
{
await ManualUpdateTransitWarehouse();
}
catch (Exception ex)
{
}
}
if (transitWarehouse == null)
{
BaseMsgForm.ShowError("仓库不能为空");
return;
}
public async Task ManualUpdateTransitWarehouse()
{
var sendProvince = txtSendProvince.Text.Trim();
if (transitWarehouse == null && !cmbTransitWarehouse.Text.Trim().IsNullOrEmpty())
{
transitWarehouse = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransName + " " + t.TransFullAddress == cmbTransitWarehouse.Text.Trim().ParseToString());
}
if (transitWarehouse == null)
{
BaseMsgForm.ShowError("仓库不能为空");
return;
}
if ((this.pddFrontGoodsLite?.goodsId).IsNullOrZero() || (this.pddFrontGoodsLite?.mallId).IsNullOrZero())
{
await Task.Run(() =>
{
var jsStr = "document.getElementById('orderGoodsBlock').getElementsByTagName('div')[0].click();";
StringBuilder sb = new StringBuilder();
sb.Append("(function(){\r\n");
sb.Append("var orderGoodsBlock = document.getElementById('orderGoodsBlock')\r\n");
sb.Append("if (orderGoodsBlock) {\r\n");
sb.Append(" orderGoodsBlock.getElementsByTagName('div')[0].click();\r\n");
sb.Append(" return 'success';\r\n");
sb.Append("}\r\n");
sb.Append("else\r\n");
sb.Append(" return 'failed';\r\n");
sb.Append("})();\r\n");
//var jsStr = "document.getElementById('orderGoodsBlock').getElementsByTagName('div')[0].click();";
var jsStr = sb.ToString();
var host = cefWebBrowser.GetBrowser().GetHost();
var client = cefWebBrowser.GetDevToolsClient();
var ts1 = client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
ts1.Wait(500);
for (int i = 0; i < 80; i++)
{
if (!(this.pddFrontGoodsLite?.mallId).IsNullOrZero())
break;
Thread.Sleep(100);
}
});
var host = cefWebBrowser.GetBrowser().GetHost();
var client = cefWebBrowser.GetDevToolsClient();
var rst = await client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
for (int i = 0; i < 80; i++)
{
if (rst.Result.Value.ParseToString() == "failed")
break;
if (!(this.pddFrontGoodsLite?.mallId).IsNullOrZero())
break;
await Task.Delay(100);
}
}
this.Enabled = false;
if (!this.cefWebBrowser.Address.StartsWith("https://mobile.yangkeduo.com/order.html?order_sn=") && (this.pddFrontGoodsLite?.goodsId).ParseToString() == txtMapGoodsId.Text.Trim())
if (this.cefWebBrowser != null &&
!this.cefWebBrowser.Address.StartsWith("https://mobile.yangkeduo.com/order.html?order_sn=") && (this.pddFrontGoodsLite?.goodsId).ParseToString() == txtMapGoodsId.Text.Trim())
{
}
@@ -1091,14 +1114,14 @@ namespace TemuKJD.ToolForms
string upSkuCode = txtSkuCode.Text.Trim();
// 保存sku及商品关联信息
var data = UserLogin.GetSignaturex()
+ "&spu_code=" + GetHtml.UrlEncodeUtf8(upSpuCode)
+ "&sku_code=" + GetHtml.UrlEncodeUtf8(upSkuCode)
+ "&main_user_name=" + BaseClass.MainUserName
+ "&map_goods_name=" + txtMapGoodsName.Text.Trim()
+ "&map_spec_name=" + txtMapSkuName.Text.Trim()
+ "&map_goods_id=" + txtMapGoodsId.Text.Trim()
+ "&map_sku_id=" + txtMapSkuId.Text.Trim()
+ "&map_send_address=" + sendProvince
+ "&spu_code=" + GetHtml.UrlEncodeUtf8(upSpuCode)
+ "&sku_code=" + GetHtml.UrlEncodeUtf8(upSkuCode)
+ "&main_user_name=" + BaseClass.MainUserName
+ "&map_goods_name=" + txtMapGoodsName.Text.Trim()
+ "&map_spec_name=" + txtMapSkuName.Text.Trim()
+ "&map_goods_id=" + txtMapGoodsId.Text.Trim()
+ "&map_sku_id=" + txtMapSkuId.Text.Trim()
+ "&map_send_address=" + sendProvince
+ "&transit_warehouse_id=" + transitWarehouse?.TransId;
if (!(this.pddFrontGoodsLite?.mallId).IsNullOrZero() && this.pddFrontGoodsLite.goodsId.ParseToString() == txtMapGoodsId.Text.Trim())
{
@@ -1160,29 +1183,29 @@ namespace TemuKJD.ToolForms
}
url = BaseClass.Build29WxObjString("order/wx_add_mdy_buy_prod_map");
var result = await GetHtml.PostUtf8Async(url, data);
if (!result.Contains("\"code\":200"))
result = await GetHtml.PostUtf8Async(url, data);
if (!result.Contains("\"code\":200"))
{
if (!result.Contains("\"code\":200"))
result = await GetHtml.PostUtf8Async(url, data);
if (!result.Contains("\"code\":200"))
{
this.Enabled = true;
BaseMsgForm.ShowError("保存失败" + BaseRegex.GetStringJson(ref result, "msg") + ",请稍后重试");
}
else
{
var urlMap = BaseClass.Build29WxObjString("order/wx_get_buy_prod_map");
var dataMap = UserLogin.GetSignaturex()
+ "&spu_codes=" + upSpuCode;
else
{
var urlMap = BaseClass.Build29WxObjString("order/wx_get_buy_prod_map");
var dataMap = UserLogin.GetSignaturex()
+ "&spu_codes=" + upSpuCode;
//dataMap += "&sku_codes=" + upSkuCode;
dataMap += "&main_user_name=" + BaseClass.MainUserName;
var resultMap = await GetHtml.PostUtf8Async(urlMap, dataMap);
if (string.IsNullOrEmpty(resultMap) || !resultMap.Contains("\"code\":200"))
resultMap = await GetHtml.PostUtf8Async(urlMap, dataMap);
if (string.IsNullOrEmpty(resultMap) || !resultMap.Contains("\"code\":200"))
{
var resultMap = await GetHtml.PostUtf8Async(urlMap, dataMap);
if (string.IsNullOrEmpty(resultMap) || !resultMap.Contains("\"code\":200"))
resultMap = await GetHtml.PostUtf8Async(urlMap, dataMap);
if (string.IsNullOrEmpty(resultMap) || !resultMap.Contains("\"code\":200"))
{
}
else
{
List<WXBuyMapInfo> buyMapList = new List<WXBuyMapInfo>();
else
{
List<WXBuyMapInfo> buyMapList = new List<WXBuyMapInfo>();
try
{
buyMapList = JsonHelper.DeserializeJsonToList<WXBuyMapInfo>(JObject.Parse(resultMap)["data"].ParseToString());
@@ -1193,38 +1216,38 @@ namespace TemuKJD.ToolForms
catch
{
}
var pddBuyMap = buyMapList.FirstOrDefault(b => b.spu_code == upSpuCode && b.sku_code == upSkuCode && b.platform == "pdd");
if (pddBuyMap != null)
{
foreach (var order in GlobalConfig.lstOrder)
{
if (order.IsWaitBuy)
{
foreach (var item in order.orderItems)
{
if ((item.out_product_id == pddBuyMap.spu_code && item.out_sku_id == pddBuyMap.sku_code) ||
(item.out_product_id == pddBuyMap.spu_code && item.sku_attr_str == pddBuyMap.sku_code) ||
(item.product_id == pddBuyMap.spu_code && item.out_sku_id == pddBuyMap.sku_code) ||
(item.product_id == pddBuyMap.spu_code && item.sku_attr_str == pddBuyMap.sku_code))
{
item.PddBuyMap = pddBuyMap;
var pddBuyMap = buyMapList.FirstOrDefault(b => b.spu_code == upSpuCode && b.sku_code == upSkuCode && b.platform == "pdd");
if (pddBuyMap != null)
{
foreach (var order in GlobalConfig.lstOrder)
{
if (order.IsWaitBuy)
{
foreach (var item in order.orderItems)
{
if ((item.out_product_id == pddBuyMap.spu_code && item.out_sku_id == pddBuyMap.sku_code) ||
(item.out_product_id == pddBuyMap.spu_code && item.sku_attr_str == pddBuyMap.sku_code) ||
(item.product_id == pddBuyMap.spu_code && item.out_sku_id == pddBuyMap.sku_code) ||
(item.product_id == pddBuyMap.spu_code && item.sku_attr_str == pddBuyMap.sku_code))
{
item.PddBuyMap = pddBuyMap;
if (filterOrderAction != null)
{
item.SetOrderItemTextProperty();
filterOrderAction(order, false);
}
}
}
}
}
}
}
BaseMsgForm.ShowInfo("保存成功!");
if (filterOrderAction != null)
{
item.SetOrderItemTextProperty();
filterOrderAction(order, false);
}
}
}
}
}
}
}
BaseMsgForm.ShowInfo("保存成功!");
this.IsClose = true;
this.Close();
}
}
}
}
private async void btnManualUpdateBuyOrder_Click(object sender, EventArgs e)
{