using BBWY.Common.Models; using BBWY.JDSDK.Request; using BBWY.Server.Model.Db; using BBWY.Server.Model.Dto; using Jd.Api; using Jd.Api.Request; using Jd.Api.Response; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using io = System.IO; namespace BBWY.Test { internal class Program { private static IJdClient GetJdClient(string appKey, string appSecret) { return new DefaultJdClient("https://api.jd.com/routerjson", appKey, appSecret); } static void Main(string[] args) { var appKey = "120EA9EC65AB017567D78CC1139EEEA5"; var appSecret = "866a9877f5f24b03b537483b4defe75d"; var token = "2ace3023200c4ea9aa682bbf8bffee18jztm"; var jdClient = GetJdClient(appKey, appSecret); SearchProductSkuRequest searchProductRequest = new SearchProductSkuRequest() { AppKey = appKey, AppSecret = appSecret, AppToken = token, Platform = Server.Model.Enums.Platform.京东, Spu = "10022849663452" }; //var jdClient = GetJdClient(searchProductRequest.AppKey, searchProductRequest.AppSecret); var req_skuList = new SkuReadSearchSkuListRequest() { pageSize = 50,//50 field = "logo,saleAttrs,status" }; if (!string.IsNullOrEmpty(searchProductRequest.Spu)) req_skuList.wareId = searchProductRequest.Spu; else if (!string.IsNullOrEmpty(searchProductRequest.Sku)) req_skuList.skuId = searchProductRequest.Sku; var rep_skuList = jdClient.Execute(req_skuList, searchProductRequest.AppToken, DateTime.Now.ToLocalTime()); if (rep_skuList.IsError) throw new BusinessException(string.IsNullOrEmpty(rep_skuList.ErrorMsg) ? rep_skuList.ErrMsg : rep_skuList.ErrorMsg); var response = ((JArray)rep_skuList.Json["jingdong_sku_read_searchSkuList_responce"]["page"]["data"]).Select(s => new ProductSkuResponse() { Id = s.Value("skuId"), ProductId = s.Value("wareId"), Price = s.Value("jdPrice"), Title = string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())), Logo = $"https://img13.360buyimg.com/n9/s80x80_{s.Value("logo")}", State = s.Value("status") }).ToList(); Console.WriteLine(JsonConvert.SerializeObject(response)); Console.ReadKey(); } } }