|
@@ -49,11 +49,11 @@ namespace molilian.core
|
|
|
};
|
|
};
|
|
|
var body = await RequestAsync(method, version, data.Convert2Json(), cancellationToken);
|
|
var body = await RequestAsync(method, version, data.Convert2Json(), cancellationToken);
|
|
|
var root = body.Convert2Object<JdUnionResponse>();
|
|
var root = body.Convert2Object<JdUnionResponse>();
|
|
|
|
|
+ var _promotion_data = root.jd_union_open_promotion_common_get_responce.getResult;
|
|
|
|
|
+ var promotion_data = _promotion_data.Convert2Object<JdData>();
|
|
|
string code = root.jd_union_open_promotion_common_get_responce.code;
|
|
string code = root.jd_union_open_promotion_common_get_responce.code;
|
|
|
if ("0".Equals(code))
|
|
if ("0".Equals(code))
|
|
|
{
|
|
{
|
|
|
- var _promotion_data = root.jd_union_open_promotion_common_get_responce.getResult;
|
|
|
|
|
- var promotion_data = _promotion_data.Convert2Object<JdData>();
|
|
|
|
|
if (promotion_data.code == 200)
|
|
if (promotion_data.code == 200)
|
|
|
{
|
|
{
|
|
|
var url = promotion_data.data.clickURL;
|
|
var url = promotion_data.data.clickURL;
|
|
@@ -71,6 +71,7 @@ namespace molilian.core
|
|
|
result.success = false;
|
|
result.success = false;
|
|
|
result.message = "转链失败";
|
|
result.message = "转链失败";
|
|
|
result.reason = root.jd_union_open_promotion_common_get_responce.message;
|
|
result.reason = root.jd_union_open_promotion_common_get_responce.message;
|
|
|
|
|
+ if (string.IsNullOrEmpty(result.reason)) result.reason = promotion_data.message;
|
|
|
result.shortLinkurl = shortLinkurl;
|
|
result.shortLinkurl = shortLinkurl;
|
|
|
result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
|
|
|
|
|
@@ -94,14 +95,18 @@ namespace molilian.core
|
|
|
};
|
|
};
|
|
|
var body = await RequestAsync(method, version, data.Convert2Json(), cancellationToken);
|
|
var body = await RequestAsync(method, version, data.Convert2Json(), cancellationToken);
|
|
|
var root = body.Convert2Object<JdUnionResponse>();
|
|
var root = body.Convert2Object<JdUnionResponse>();
|
|
|
- string code = root.jd_union_open_promotion_common_get_responce.code;
|
|
|
|
|
|
|
+ //{"jd_union_open_promotion_bysubunionid_get_responce":{"code":"0","getResult":"{\"code\":200,\"data\":{\"shortURL\":\"https://u.jd.com/esCrWn4\"},\"message\":\"success\",\"requestId\":\"o_0b64a07b_lyiusnpg_74220789\"}"}}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ string code = root.jd_union_open_promotion_bysubunionid_get_responce.code;
|
|
|
|
|
+
|
|
|
|
|
+ var _promotion_data = root.jd_union_open_promotion_bysubunionid_get_responce.getResult;
|
|
|
|
|
+ var promotion_data = _promotion_data.Convert2Object<JdData>();
|
|
|
if ("0".Equals(code))
|
|
if ("0".Equals(code))
|
|
|
{
|
|
{
|
|
|
- var _promotion_data = root.jd_union_open_promotion_common_get_responce.getResult;
|
|
|
|
|
- var promotion_data = _promotion_data.Convert2Object<JdData>();
|
|
|
|
|
if (promotion_data.code == 200)
|
|
if (promotion_data.code == 200)
|
|
|
{
|
|
{
|
|
|
- var url = promotion_data.data.clickURL;
|
|
|
|
|
|
|
+ var url = promotion_data.data.shortURL;
|
|
|
|
|
|
|
|
result.success = true;
|
|
result.success = true;
|
|
|
result.message = "OK";
|
|
result.message = "OK";
|
|
@@ -115,7 +120,8 @@ namespace molilian.core
|
|
|
|
|
|
|
|
result.success = false;
|
|
result.success = false;
|
|
|
result.message = "转链失败";
|
|
result.message = "转链失败";
|
|
|
- result.reason = root.jd_union_open_promotion_common_get_responce.message;
|
|
|
|
|
|
|
+ result.reason = root.jd_union_open_promotion_bysubunionid_get_responce.message;
|
|
|
|
|
+ if (string.IsNullOrEmpty(result.reason)) result.reason = promotion_data.message;
|
|
|
result.shortLinkurl = shortLinkurl;
|
|
result.shortLinkurl = shortLinkurl;
|
|
|
result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
|
|
|
|
|
@@ -124,6 +130,13 @@ namespace molilian.core
|
|
|
}
|
|
}
|
|
|
public async Task<JdDataDTO> GetPromotionByCrawlerAsync(JdDataDTO result, string wareUrl, CancellationToken cancellationToken = default)
|
|
public async Task<JdDataDTO> GetPromotionByCrawlerAsync(JdDataDTO result, string wareUrl, CancellationToken cancellationToken = default)
|
|
|
{
|
|
{
|
|
|
|
|
+ string[] parts = wareUrl.Split(new string[] { ".html" }, StringSplitOptions.None);
|
|
|
|
|
+ if (parts.Length > 1)
|
|
|
|
|
+ {
|
|
|
|
|
+ wareUrl = parts[0] + ".html";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
var ts = DateTime.Now.Convert2UnixTimestamp(true);
|
|
var ts = DateTime.Now.Convert2UnixTimestamp(true);
|
|
|
string cookies = _account.cookies;
|
|
string cookies = _account.cookies;
|
|
|
|
|
|
|
@@ -208,12 +221,16 @@ namespace molilian.core
|
|
|
public class JdData
|
|
public class JdData
|
|
|
{
|
|
{
|
|
|
public int code { get; set; }
|
|
public int code { get; set; }
|
|
|
|
|
+ public string message { get; set; }
|
|
|
|
|
+ public string requestId { get; set; }
|
|
|
public JdClickData data { get; set; }
|
|
public JdClickData data { get; set; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public class JdClickData
|
|
public class JdClickData
|
|
|
{
|
|
{
|
|
|
|
|
+ public string shortURL { get; set; }
|
|
|
public string clickURL { get; set; }
|
|
public string clickURL { get; set; }
|
|
|
|
|
+ public string jCommand { get; set; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -221,6 +238,8 @@ namespace molilian.core
|
|
|
public class JdUnionResponse
|
|
public class JdUnionResponse
|
|
|
{
|
|
{
|
|
|
public JdUnionOpenPromotionCommonGetResponce jd_union_open_promotion_common_get_responce { get; set; }
|
|
public JdUnionOpenPromotionCommonGetResponce jd_union_open_promotion_common_get_responce { get; set; }
|
|
|
|
|
+ public JdUnionOpenPromotionCommonGetResponce jd_union_open_promotion_bysubunionid_get_responce { get; set; }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public class JdUnionOpenPromotionCommonGetResponce
|
|
public class JdUnionOpenPromotionCommonGetResponce
|