diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj
index 5c89db6..abbc8c0 100644
--- a/AllBase/AllBase.csproj
+++ b/AllBase/AllBase.csproj
@@ -104,8 +104,8 @@
pdbonly
x64
false
- 12.0
- prompt
+ 12.0
+ prompt
MinimumRecommendedRules.ruleset
false
@@ -191,6 +191,7 @@
+
diff --git a/AllBase/GetHtml.cs b/AllBase/GetHtml.cs
index d420ec4..4982ca2 100644
--- a/AllBase/GetHtml.cs
+++ b/AllBase/GetHtml.cs
@@ -1250,13 +1250,89 @@ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom
}
}
- ///
- /// post 数据
- ///
- ///
- ///
- ///
- public static string PostUtf8(string url, byte[] byteData)
+ public static async Task PostUtf8Async(string url, string postData, string contentType = "", int? timeOut = null)
+ {
+
+ bool isError = false;
+ string[] l = UserAgent.Split('\n');
+ reTry:
+ try
+ {
+ string codeType = "utf-8";
+ HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
+ request.UserAgent = l[new Random(Guid.NewGuid().GetHashCode()).Next(l.Length)].Trim();
+ byte[] byteData = Encoding.GetEncoding(codeType).GetBytes(postData);
+ request.Method = "POST";
+ request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
+ request.Timeout = BaseClass.TimeOut * 1000;
+ request.ReadWriteTimeout = BaseClass.TimeOut * 1000;
+ if (timeOut != null)
+ {
+ request.Timeout = timeOut.Value * 1000;
+ request.ReadWriteTimeout = timeOut.Value * 1000;
+ }
+ request.Proxy = null;
+ request.ContentType = "application/x-www-form-urlencoded; charset=" + codeType;
+ //if(BaseClass.SaLevel > 0)
+ {
+ //260306 采用GZip/deflate压缩
+ //request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd");
+ request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
+ }
+ if (url.StartsWith("https://openapi.jinritemai.com/"))
+ {
+ request.Headers.Add("X-USE-BOE", "1");
+ request.Headers.Add("Origin-From", "djt_prod");
+ request.Headers.Add("djt_prod", "boe_time_sku");
+ }
+ if (!string.IsNullOrEmpty(contentType))
+ {
+ request.ContentType = contentType;
+ }
+ request.ContentLength = byteData.Length;
+ request.Referer = url;
+ request.CookieContainer = new CookieContainer();
+ request.AllowAutoRedirect = false;
+ using (Stream requestStream = await request.GetRequestStreamAsync())
+ {
+ requestStream.Write(byteData, 0, byteData.Length);
+ }
+ HttpWebResponse response = (HttpWebResponse) await request.GetResponseAsync();
+
+ Stream receiveStream = response.GetResponseStream();
+ StreamReader readStream = new StreamReader(receiveStream, Encoding.GetEncoding(codeType));
+
+ //if (BaseClass.SaLevel == 0)
+ //{
+ // return readStream.ReadToEnd().Trim();
+ //}
+ //else
+ {
+ //260306 超管采用GZip/deflate压缩
+ //Thread.Sleep(50);
+ return GetProxyHtml.ReadResponse(response);
+ }
+ }
+ catch (Exception e)
+ {
+ LogSave.Add(e.ToString());
+ //if (!isError)
+ //{
+ // isError = true;
+ // goto reTry;
+ //}
+ Thread.Sleep(50);
+ return "";
+ }
+
+ }
+ ///
+ /// post 数据
+ ///
+ ///
+ ///
+ ///
+ public static string PostUtf8(string url, byte[] byteData)
{
WebClientx webClient = new WebClientx();
try
diff --git a/AllBase/Model/Data/ProductLatestOutAmountInfo.cs b/AllBase/Model/Data/ProductLatestOutAmountInfo.cs
new file mode 100644
index 0000000..1164ed7
--- /dev/null
+++ b/AllBase/Model/Data/ProductLatestOutAmountInfo.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AllBase.Model.Data
+{
+ public class ProductLatestOutAmountInfo
+ {
+ public string order_id { get; set; } // 3739003536152355584
+
+ public string out_product_id { get; set; } // EC1960398929745-15938489009A
+ public string out_sku_id { get; set; } // BSEC18052272175281198712A
+ public int sku_cnt { get; set; } // 1
+
+ ///
+ /// 外采金额,单位分
+ ///
+ public int out_amount { get; set; } // 1129
+
+ public string shop_id { get; set; } // 1960967267443629494
+ public string product_id { get; set; } // 10001456670425
+ public string sku_id { get; set; } // 26988803933
+ public string sku_code { get; set; } // BSEC18052272175281198712A
+ }
+}
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.cs
index 0a3fde8..6eb5b2d 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/CloudGoodsForm.cs
@@ -49,13 +49,21 @@ namespace TemuKJD.PDDForms.ProductSelectForms
ucSplitPage1.PageChange += UcSplitPage1_PageChange;
InitCategory();
InitBindingDataGridView();
- txt_title.Text = "连衣裙";
+
+
num_minsold.Value = 0;
num_maxsold.Value = 999;
num_minprice.Value = 0;
num_maxprice.Value = 999;
+
cb_Platform.SelectedIndex = 0;
ucSplitPage1.TotalCount = 0;
+
+
+ if (EnvironmentHelper.IsDevelopment)
+ {
+ txt_title.Text = "连衣裙";
+ }
}
@@ -301,33 +309,48 @@ namespace TemuKJD.PDDForms.ProductSelectForms
{
btnSearch_Click(obj, null);
}
- private void btnSearch_Click(object sender, EventArgs e)
+ private async void btnSearch_Click(object sender, EventArgs e)
{
- GoodsSearchRequest search = new GoodsSearchRequest();
-
- search.Platform = cb_Platform.SelectedIndex == 1 ? PlatformType.PDD : cb_Platform.SelectedIndex == 2 ? PlatformType.WX : PlatformType.None;
- search.Title = txt_title.Text;
- search.MinSoldQuantity = (int)num_minsold.Value;
- search.MaxSoldQuantity = (int)num_maxsold.Value;
- search.MinPrice = (long)num_minprice.Value * 100;
- search.MaxPrice = (long)num_maxprice.Value * 100;
- if (cmbCatSelect1.SelectedItem is PddCatInfo cat1)
+ try
{
- search.CatId1 = (int)(cat1.cat_id);
- search.CatId1 = search.CatId1 == 0 ? null : search.CatId1;
+ this.pbLoading.Visible = true;
+ btnSearch.Enabled = false;
+
+ GoodsSearchRequest search = new GoodsSearchRequest();
+
+ search.Platform = cb_Platform.SelectedIndex == 1 ? PlatformType.PDD : cb_Platform.SelectedIndex == 2 ? PlatformType.WX : PlatformType.None;
+ search.Title = txt_title.Text;
+ search.MinSoldQuantity = (int)num_minsold.Value;
+ search.MaxSoldQuantity = (int)num_maxsold.Value;
+ search.MinPrice = (long)num_minprice.Value * 100;
+ search.MaxPrice = (long)num_maxprice.Value * 100;
+ if (cmbCatSelect1.SelectedItem is PddCatInfo cat1)
+ {
+ search.CatId1 = (int)(cat1.cat_id);
+ search.CatId1 = search.CatId1 == 0 ? null : search.CatId1;
+ }
+ if (cmbCatSelect2.SelectedItem is PddCatInfo cat2)
+ search.CatId2 = (int)(cat2.cat_id);
+ if (cmbCatSelect3.SelectedItem is PddCatInfo cat3)
+ search.CatId3 = (int)(cat3.cat_id);
+ if (cmbCatSelect4.SelectedItem is PddCatInfo cat4)
+ search.CatId4 = (int)(cat4.cat_id);
+ search.PageIndex = ucSplitPage1.CurrentPage;
+ search.PageSize = ucSplitPage1.PageSize;
+
+
+
+ GetGoods(search);
+ }
+ catch (Exception ex)
+ {
+ BaseMsgForm.ShowError($"查询失败:{ex.Message}");
+ }
+ finally
+ {
+ this.pbLoading.Visible = false;
+ btnSearch.Enabled = true;
}
- if (cmbCatSelect2.SelectedItem is PddCatInfo cat2)
- search.CatId2 = (int)(cat2.cat_id);
- if (cmbCatSelect3.SelectedItem is PddCatInfo cat3)
- search.CatId3 = (int)(cat3.cat_id);
- if (cmbCatSelect4.SelectedItem is PddCatInfo cat4)
- search.CatId4 = (int)(cat4.cat_id);
- search.PageIndex = ucSplitPage1.CurrentPage;
- search.PageSize = ucSplitPage1.PageSize;
-
-
-
- GetGoods(search);
}
@@ -346,24 +369,20 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
- public void GetGoods(GoodsSearchRequest request)
+ public async void GetGoods(GoodsSearchRequest request)
{
- this.pbLoading.Visible = true;
dataList.Clear();
- Task.Run(() =>
+ PageData ret = await CloudGoodsService.GetGoods(request);
+ Invoke(new Action(() =>
{
- PageData ret = CloudGoodsService.GetGoods(request);
- Invoke(new Action(() =>
- {
- ret.List.ForEach(a => dataList.Add(a));
- ucSplitPage1.TotalPage = Math.Max(1, ret.TotalPages);
- ucSplitPage1.TotalCount = ret.Total;
- this.pbLoading.Visible = false;
- // 异步加载商品缩略图(Column1 绑定 ThumbUrl)
- ShowDgvImg();
- }));
- });
+ ret.List.ForEach(a => dataList.Add(a));
+ ucSplitPage1.TotalPage = Math.Max(1, ret.TotalPages);
+ ucSplitPage1.TotalCount = ret.Total;
+ this.pbLoading.Visible = false;
+ // 异步加载商品缩略图(Column1 绑定 ThumbUrl)
+ ShowDgvImg();
+ }));
}
@@ -377,32 +396,43 @@ namespace TemuKJD.PDDForms.ProductSelectForms
///
private void bt_importUploadList_Click(object sender, EventArgs e)
{
+ int succ = 0;
+ int err = 0;
foreach (var item in dataList)
{
- if (item.IsSelected == false) continue;
- string catName = "";
- if (item.CatId4.HasValue)
+ try
{
- catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId4)?.cat_name ?? "";
+ if (item.IsSelected == false) continue;
+ string catName = "";
+ if (item.CatId4.HasValue)
+ {
+ catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId4)?.cat_name ?? "";
+ }
+ else if (item.CatId3.HasValue)
+ {
+ catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId3)?.cat_name ?? "";
+ }
+ else if (item.CatId2.HasValue)
+ {
+ catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId2)?.cat_name ?? "";
+ }
+ WXDBProdUploadForm.Instance.lstTemuDBProductSelect.Add(new TemuDBProductSelect
+ {
+ out_product_Id = item.GoodsId.ToString(),
+ spu_id = item.GoodsId.ToString(),
+ main_img = item.ThumbUrl,
+ product_name = item.Title,
+ cat_name = catName,
+ });
+ succ++;
}
- else if (item.CatId3.HasValue)
+ catch
{
- catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId3)?.cat_name ?? "";
+ err++;
}
- else if (item.CatId2.HasValue)
- {
- catName = GlobalConfig.PddCatList.FirstOrDefault(a => a.cat_id == item.CatId2)?.cat_name ?? "";
- }
- WXDBProdUploadForm.Instance.lstTemuDBProductSelect.Add(new TemuDBProductSelect
- {
- out_product_Id = item.GoodsId.ToString(),
- spu_id = item.GoodsId.ToString(),
- main_img = item.ThumbUrl,
- product_name = item.Title,
- cat_name = catName,
- });
}
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_db_prod_upload_list", WXDBProdUploadForm.Instance.lstTemuDBProductSelect);
+ BaseMsgForm.ShowInfo($"导入完成!{succ} 成功 {err} 失败");
}
}
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs
index 4e852bd..ce1db89 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs
@@ -1,5 +1,6 @@
using AllBase;
using AllBase.Helper;
+using AllBase.Model.Data;
using AllBase.Model.Param;
using AllBase.Model.Result;
using AllBase.Model.Result._1688;
@@ -173,14 +174,25 @@ namespace TemuKJD.PDDForms.ProductSelectForms
lstTemuDbProduct.Clear();
dgvDbProduct.Columns["colViewUv"].Visible = false;
}
+ if (cancellationTokenSource!= null)
+ cancellationTokenSource.Cancel();
+ cancellationTokenSource = new CancellationTokenSource();
Task.Run(() =>
- {
+ {
+ var cancelToken = cancellationTokenSource.Token;
int pageCount;
int pageSize = 100;
decimal seconds;
Invoke(new Action(() => { pageSize = this.ucSplitPage1.PageSize; }));
var list = GetProductList(out pageCount, out seconds, page, pageSize);
+ if (cancelToken.IsCancellationRequested)
+ return;
+
+ // 测试获取爆款数据
//var list = GetHotProductList(out pageCount, out seconds, page, pageSize);
+ // 测试获取商品最后几笔订单的外采价格
+ //var outAmountList = GetProductLatestOutAmountList(string.Join(",", list.Select(l => l.ext_code.IsNullOrEmpty() ? WXDBProdUploadForm.GetNewExtCode(l.spu_id) : l.ext_code)));
+
lstTemuDbProduct.AddRange(list);
this.ucSplitPage1.TotalPage = pageCount;
@@ -199,6 +211,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}));
foreach (var prod in lstTemuDbProduct.Reverse().ToList())
{
+ if (cancelToken.IsCancellationRequested)
+ return;
+
string catName = (prod.cat_name ?? prod.cat_id);
if (prod.wx_cat_leaf != null)
{
@@ -286,6 +301,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}));
}
+
+ if (cancelToken.IsCancellationRequested)
+ return;
Invoke(new Action(() =>
{
ShowDgvImg();
@@ -295,7 +313,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.statusBar.lblTaskStatus.Text += ",耗时:" + seconds;
#endif
}));
- });
+ }, cancellationTokenSource.Token);
}
Bitmap defaultBitmap = null;
@@ -443,6 +461,49 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
}
+ public List GetProductLatestOutAmountList(string outProductIds)
+ {
+ List list = new List();
+
+ var url = BaseClass.BuildWXObjString("product/wx_get_product_latest_buy_amount_list");
+ var data = "";
+
+ Invoke(new Action(() =>
+ {
+ data = "&out_product_ids=" + outProductIds;
+ data += "&latest_cnt=10";
+ }));
+ data += "&sign=" + BaseClass.GetMd5(DateTime.Now.ToString("yyyyMMddHHmm") + "wxxd").ToLower();
+ var html = GetHtml.PostUtf8(url, data);
+ if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
+ html = GetHtml.PostUtf8(url, data);
+ if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
+ {
+ Invoke(new Action(() =>
+ {
+ BaseMsgForm.ShowError("获取商品列表失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
+ }));
+ return list;
+ }
+
+ var seconds = BaseRegex.GetDecimalJson(ref html, "seconds");
+
+ var jArr = JObject.Parse(html)["data"];
+ if (jArr.Count() == 0)
+ return list;
+ var sProd = JsonHelper.SerializeObject(jArr);
+
+ try
+ {
+ list = JsonHelper.DeserializeJsonToList(sProd);
+ return list;
+ }
+ catch (Exception ex)
+ {
+ return new List();
+ }
+ }
+
public List GetProductList(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200)
{
List list = new List();
diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
index 278e2fc..2205cba 100644
--- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
@@ -1545,7 +1545,24 @@ namespace TemuKJD.WXForms.ProductForms
}
}
- string UploadProduct(ShopLoginInfo shop, KJDDBProduct dbProd, TemuDBProductSelect selectProd, DataGridViewCell cell, DateTime startTime)
+ public static string GetEC1ExtCode(string spu_id)
+ {
+ if (spu_id.IsNullOrEmpty())
+ throw new Exception("货号指定失败,值不能为空!");
+ if (!spu_id.StartsWith("EC1") && !spu_id.EndsWith("A"))
+ return "EC1" + spu_id + "A";
+ return spu_id;
+ }
+ public static string GetNewExtCode(string spu_id)
+ {
+ if (spu_id.IsNullOrEmpty())
+ throw new Exception("货号指定失败,值不能为空!");
+ if (!spu_id.StartsWith("P1-"))
+ return "P1-" + spu_id;
+ return spu_id;
+ }
+
+ string UploadProduct(ShopLoginInfo shop, KJDDBProduct dbProd, TemuDBProductSelect selectProd, DataGridViewCell cell, DateTime startTime)
{
#region 初始化上传商品对象
// 生成初始化上传商品对象
@@ -1627,7 +1644,7 @@ namespace TemuKJD.WXForms.ProductForms
{
var searchExtCode = dbProd.ext_code;
if (searchExtCode.ParseToString().Length < 10)
- searchExtCode = "EC1" + dbProd.spu_id + "A";
+ searchExtCode = GetEC1ExtCode(dbProd.spu_id);
if (dbProd.sku_secret_json != null && dbProd.sku_secret_json.Contains("goodsId"))
{
var sku_secret_json = dbProd.sku_secret_json;
@@ -2371,7 +2388,7 @@ namespace TemuKJD.WXForms.ProductForms
if (extCode.IsNullOrEmpty() || extCode.Length <= 10)
{
//extCode = "EC" + Randomx.GetId(1000).ToString().PadLeft(3, '0') + dbProd.spu_id + "C";
- extCode = "EC1" + dbProd.spu_id + "A";
+ extCode = GetEC1ExtCode(dbProd.spu_id);
}
upProdParam.product.info.spuCode = extCode;
upProdParam.product.info.outProductId = extCode;
diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
index 665ae77..ab71ece 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
@@ -29,7 +29,7 @@
private void InitializeComponent()
{
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("选品上传");
- System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("云仓数据");
+ System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("云端数据");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("我的商品库");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("商品预售/下架");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("云仓退货地址");
@@ -149,8 +149,8 @@
this.tv.Name = "tv";
treeNode1.Name = "选品上传";
treeNode1.Text = "选品上传";
- treeNode2.Name = "云仓数据";
- treeNode2.Text = "云仓数据";
+ treeNode2.Name = "云端数据";
+ treeNode2.Text = "云端数据";
treeNode3.Name = "我的商品库";
treeNode3.Text = "我的商品库";
treeNode4.Name = "商品预售/下架";
diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
index 84ba5c4..76b93ea 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
@@ -98,7 +98,7 @@ namespace TemuKJD.WXForms.ProductForms
case "选品上传":
SetForm(userSelectDbProductForm.Value);
break;
- case "云仓数据":
+ case "云端数据":
SetForm(cloudgoodsForm.Value);
break;
case "我的商品库":
diff --git a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs
index 8e5d493..4df5e60 100644
--- a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs
@@ -189,15 +189,24 @@ namespace TemuKJD.WXForms.ProductForms
isNotCount = false;
}
+ if (cancellationTokenSource != null)
+ cancellationTokenSource.Cancel();
+ cancellationTokenSource = new CancellationTokenSource();
Task.Run(() =>
{
- int pageCount;
+ var cancelToken = cancellationTokenSource.Token;
+
+ int pageCount;
int totalCount;
int pageSize = 100;
decimal seconds;
Invoke(new Action(() => { pageSize = this.ucSplitPage1.PageSize; }));
var list = GetProductList(out pageCount, out totalCount, out seconds, page, pageSize, isNotCount);
- lstTemuDbProduct.AddRange(list);
+
+ if (cancelToken.IsCancellationRequested)
+ return;
+
+ lstTemuDbProduct.AddRange(list);
this.ucSplitPage1.TotalPage = pageCount;
this.ucSplitPage1.TotalCount = totalCount;
@@ -211,6 +220,9 @@ namespace TemuKJD.WXForms.ProductForms
}
foreach (var prod in lstTemuDbProduct.Reverse().ToList())
{
+ if (cancelToken.IsCancellationRequested)
+ return;
+
var catName = GetProdCateName(prod);
Invoke(new Action(() =>
{
@@ -270,7 +282,9 @@ namespace TemuKJD.WXForms.ProductForms
}));
}
- Invoke(new Action(() =>
+ if (cancelToken.IsCancellationRequested)
+ return;
+ Invoke(new Action(() =>
{
ShowDgvImg();
this.pbLoading.Visible = false;
@@ -280,7 +294,7 @@ namespace TemuKJD.WXForms.ProductForms
#endif
this.statusBar.lblTaskStatus.Text += needKeepStatusText;
}));
- });
+ }, cancellationTokenSource.Token);
}
public static string GetProdCateName(KJDDBProduct prod)
diff --git a/Work/Services/CloudGoodsService.cs b/Work/Services/CloudGoodsService.cs
index 4120915..8079bd6 100644
--- a/Work/Services/CloudGoodsService.cs
+++ b/Work/Services/CloudGoodsService.cs
@@ -15,10 +15,10 @@ namespace Work.Services
public class CloudGoodsService
{
private const string ServerUrl = "http://119.45.4.202:14312";
- public static PageData GetGoods(GoodsSearchRequest request)
+ public static async Task> GetGoods(GoodsSearchRequest request)
{
string data = JsonHelper.SerializeObject(request);
- var html = GetHtml.PostUtf8(ServerUrl + "/Goods/SearchGoods", data, "application/json");
+ var html = await GetHtml.PostUtf8Async(ServerUrl + "/Goods/SearchGoods", data, "application/json");
var ret = JsonConvert.DeserializeObject>>(html);
if (ret.Code != 200)