Files
KJD/Work/Api/Wx/WxActivityApi.cs
2026-10-30 11:30:02 +08:00

142 lines
12 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using AllBase;
using AllBase.Model.Result;
using AllBase.Model.Param.WXParam;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Work.Api.Wx
{
/// <summary>微信小店平台活动报名及活动商品接口;独立于原窗体,使用 HttpHelper 发送请求。</summary>
/// <remarks>传入原 ShopLoginInfo 登录信息;方法同步执行,界面调用请置于后台任务。返回原始正文,不自动登录、重试或解释业务状态。</remarks>
public static class WxActivityApi
{
/// <summary>取消商品活动报名;沿用原订单页面指定的活动请求结构。</summary>
/// <param name="shop">店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。</param>
/// <param name="activityData">取消报名请求 JSON 对象,字段结构沿用活动接口。</param>
/// <returns>微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。</returns>
/// <remarks>
/// 来源:TEMUKJD\WXForms\OrderForms\WXOrderListForm.cs,WXOrderList.cancelActivity。
/// 保留旧页面 Referer 中的活动 ID 1016;实际提交内容取自 activityData。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
/// </remarks>
public static string CancelActivity(ShopLoginInfo shop, JObject activityData)
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/updateRequestProductList?token=&lang=zh_CN";
string body = JsonHelper.SerializeObject(activityData);
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=1016&curTab=2";
var result = WxHttpClient.Post(shop, url, body, refere);
return result;
}
/// <summary>获取店铺针对指定平台活动的报名信息。</summary>
/// <param name="shop">店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。</param>
/// <param name="activityId">微信平台活动 ID;默认值沿用原活动页面,其他活动须显式传入。 默认值:&quot;1269&quot;。</param>
/// <returns>微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。</returns>
/// <remarks>
/// 来源:TEMUKJD\WXForms\ProductForms\ActivityForms\WXActivity618Form.cs,WXActivity.getShopCanActivity。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
/// </remarks>
public static string GetShopCanActivity(ShopLoginInfo shop, string activityId = "1269")
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/queryShopPlatformActivity?token=&lang=zh_CN&platformActivityId=" + activityId;
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2";
var result = WxHttpClient.Get(shop, url, refere);
return result;
}
/// <summary>提交店铺参加平台活动的申请。</summary>
/// <param name="shop">店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。</param>
/// <param name="activityId">微信平台活动 ID;默认值沿用原活动页面,其他活动须显式传入。 默认值:&quot;1269&quot;。</param>
/// <returns>微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。</returns>
/// <remarks>
/// 来源:TEMUKJD\WXForms\ProductForms\ActivityForms\WXActivity618Form.cs,WXActivity.applyShopActivity。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
/// </remarks>
public static string ApplyShopActivity(ShopLoginInfo shop, string activityId = "1269")
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/applyShopPlatformActivity?token=&lang=zh_CN";
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2";
string data = @"{""platformActivityId"":""" + activityId + @""",""finderCommunicationInfo"":{}}";
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
/// <summary>扫描可参加指定平台活动的商品。</summary>
/// <param name="shop">店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。</param>
/// <param name="page">页码,从 1 开始。</param>
/// <param name="pageSize">每页条数,默认值沿用原调用。 默认值:10。</param>
/// <param name="activityId">微信平台活动 ID;默认值沿用原活动页面,其他活动须显式传入。 默认值:&quot;1269&quot;。</param>
/// <returns>微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。</returns>
/// <remarks>
/// 来源:TEMUKJD\WXForms\ProductForms\ActivityForms\WXActivity618Form.cs,WXActivity.getActivityProdList。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
/// </remarks>
public static string GetActivityProdList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1269")
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/scanProductForPlatformInvestment?token=&lang=zh_CN";
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&goToUploadProduct=1";
string data = @"{""keyword"":"""",""pageNum"":" + page + @",""pageSize"":" + pageSize + @",""platformActivityId"":""" + activityId + @"""}";
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
/// <summary>提交平台活动商品报名或更新报名商品列表。</summary>
/// <param name="shop">店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。</param>
/// <param name="prodData">活动商品报名 JSON 对象,按原活动接口结构填写。</param>
/// <param name="activityId">微信平台活动 ID;默认值沿用原活动页面,其他活动须显式传入。 默认值:&quot;1269&quot;。</param>
/// <returns>微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。</returns>
/// <remarks>
/// 来源:TEMUKJD\WXForms\ProductForms\ActivityForms\WXActivity618Form.cs,WXActivity.signWxActivity。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
/// </remarks>
public static string SignWxActivity(ShopLoginInfo shop, JObject prodData, string activityId = "1269")
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/updateRequestProductList?token=&lang=zh_CN";
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&goToUploadProduct=1";
string data = JsonHelper.SerializeObject(prodData);
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
/// <summary>查询已经进入指定平台活动的商品列表。</summary>
/// <param name="shop">店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。</param>
/// <param name="page">页码,从 1 开始。</param>
/// <param name="pageSize">每页条数,默认值沿用原调用。 默认值:10。</param>
/// <param name="activityId">微信平台活动 ID;默认值沿用原活动页面,其他活动须显式传入。 默认值:&quot;1269&quot;。</param>
/// <returns>微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。</returns>
/// <remarks>
/// 来源:TEMUKJD\WXForms\ProductForms\ActivityForms\WXActivity618Form.cs,WXActivity.getProdInActivityList。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
/// </remarks>
public static string GetProdInActivityList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1269")
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/getPlatformInvestmentProductInfoList?token=&lang=zh_CN";
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2";
string data = @"{""platformActivityId"":""" + activityId + @""",""pageNum"":" + page + @",""pageSize"":" + pageSize + @",""auditStatus"":0,""productId"":""""}";
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
/// <summary>分页查询店铺可报名参加指定平台活动的商品。</summary>
/// <param name="shop">店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。</param>
/// <param name="page">页码,从 1 开始。</param>
/// <param name="pageSize">每页条数,默认值沿用原调用。 默认值:10。</param>
/// <param name="activityId">微信平台活动 ID;默认值沿用原活动页面,其他活动须显式传入。 默认值:&quot;1269&quot;。</param>
/// <returns>微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。</returns>
/// <remarks>
/// 来源:TEMUKJD\WXForms\ProductForms\ActivityForms\WXActivity618Form.cs,WXActivity.getShopActivityCanApplyProduct。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
/// </remarks>
public static string GetShopActivityCanApplyProduct(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1269")
{
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/getShopActivityCanApplyProduct?token=&lang=zh_CN";
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2";
string data = @"{""platformActivityId"":""" + activityId + @""",""page"":" + page + @",""pageSize"":" + pageSize + @",""queryWord"":""""}";
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
}
}