diff --git a/Work/Services/ImageCacheService.cs b/Work/Services/ImageCacheService.cs index 5acd892..a91d8db 100644 --- a/Work/Services/ImageCacheService.cs +++ b/Work/Services/ImageCacheService.cs @@ -41,37 +41,44 @@ public class ImageCacheService public static Dictionary GetImageCaches(PDDProductInfo product) { Dictionary wxImgMapDic = new Dictionary(StringComparer.OrdinalIgnoreCase); - //if (EnvironmentHelper.IsProduction) - //{ - // return wxImgMapDic; - //} - List imageUrls = new List(); - imageUrls.AddRange(product.detail.galleries.Where(g => g.type == 1).Take(9).Select(a => a.url)); - var temp_detailGalleries = product.detail.galleries.Where(g => g.type == 2).ToList(); - if (temp_detailGalleries.Count == 0) - temp_detailGalleries.Add(new gallery_item() { type = 2, url = product.detail.galleries.FirstOrDefault(g => g.type == 1)?.url }); - imageUrls.AddRange(temp_detailGalleries.Select(a => a.url)); - - - if (product.detail.sku.FirstOrDefault()?.spec?.Count > 0) + try { - imageUrls.AddRange(product.detail.sku.Select(a => a.thumb_url)); - } + //if (EnvironmentHelper.IsProduction) + //{ + // return wxImgMapDic; + //} + List imageUrls = new List(); + imageUrls.AddRange(product.detail.galleries.Where(g => g.type == 1).Take(9).Select(a => a.url)); + var temp_detailGalleries = product.detail.galleries.Where(g => g.type == 2).ToList(); + if (temp_detailGalleries.Count == 0) + temp_detailGalleries.Add(new gallery_item() { type = 2, url = product.detail.galleries.FirstOrDefault(g => g.type == 1)?.url }); + imageUrls.AddRange(temp_detailGalleries.Select(a => a.url)); - - List imageUrlMd5s = imageUrls.Select(a => BaseClass.GetMd5(a)).ToList(); - - var url = ServerUrl + "/api/ImageCache/GetImageCache";//获取缓存 - var html = GetHtml.PostJson(url, new { md5s = imageUrlMd5s }); - var ret = JsonConvert.DeserializeObject>>(html); - if (ret.Code == 200) - { - foreach (var item in ret.Data) + if (product.detail.sku.FirstOrDefault()?.spec?.Count > 0) { - item.IsCache = true; - wxImgMapDic[item.Md5] = item; + imageUrls.AddRange(product.detail.sku.Select(a => a.thumb_url)); } + + + + List imageUrlMd5s = imageUrls.Select(a => BaseClass.GetMd5(a)).ToList(); + + var url = ServerUrl + "/api/ImageCache/GetImageCache";//获取缓存 + var html = GetHtml.PostJson(url, new { md5s = imageUrlMd5s }); + var ret = JsonConvert.DeserializeObject>>(html); + if (ret.Code == 200) + { + foreach (var item in ret.Data) + { + item.IsCache = true; + wxImgMapDic[item.Md5] = item; + } + } + } + catch(Exception ex) + { + } return wxImgMapDic; } @@ -83,40 +90,47 @@ public class ImageCacheService /// public static void SaveImageCaches(PlatformType platform, IEnumerable images) { - //if (EnvironmentHelper.IsProduction) - //{ - // return; - //} - var data = ""; - data = JsonHelper.SerializeObject(images.Where(a => a.IsCache == false).Select(a => - new - { - md5 = a.Md5, - Platform = platform, - PlatformUrl = a.PlatformUrl - } - )); - - var url = ServerUrl + "/api/ImageCache/AddOrUpdate"; - var html = GetHtml.PostJson(url, data); - - - var ret = JsonConvert.DeserializeObject>(html); - List failed = new List(); - if (ret.Code == 500) + try { - if (ret.Data is JArray jArray) + //if (EnvironmentHelper.IsProduction) + //{ + // return; + //} + var data = ""; + data = JsonHelper.SerializeObject(images.Where(a => a.IsCache == false).Select(a => + new + { + md5 = a.Md5, + Platform = platform, + PlatformUrl = a.PlatformUrl + } + )); + + var url = ServerUrl + "/api/ImageCache/AddOrUpdate"; + var html = GetHtml.PostJson(url, data); + + + var ret = JsonConvert.DeserializeObject>(html); + List failed = new List(); + if (ret.Code == 500) { - failed = jArray.ToObject>() ?? new List(); + if (ret.Data is JArray jArray) + { + failed = jArray.ToObject>() ?? new List(); + } + else if (ret.Data is JValue jValue && jValue.Value is string str) + { + failed.Add(str); + } } - else if (ret.Data is JValue jValue && jValue.Value is string str) + foreach (ImageCache item in images) { - failed.Add(str); + item.IsCache = !failed.Contains(item.Md5, StringComparer.OrdinalIgnoreCase); } } - foreach (ImageCache item in images) + catch { - item.IsCache = !failed.Contains(item.Md5, StringComparer.OrdinalIgnoreCase); + } }