From 4fbf387010f33a899523821f603829d1b8f5218f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 27 Nov 2025 12:47:00 +0000 Subject: [PATCH 1/3] Initial plan From 94be553279f7fc4f152ed4c12a18683e0f93a178 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 27 Nov 2025 12:58:58 +0000 Subject: [PATCH 2/3] =?UTF-8?q?feat(open):=20=E6=B7=BB=E5=8A=A0=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E7=B1=BB=E7=9B=AE=E7=AE=A1=E7=90=86=20API=20?= =?UTF-8?q?-=20=E8=8E=B7=E5=8F=96=E7=B1=BB=E7=9B=AE=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 WxOpenMaCategoryNameListResult 响应结果类 - 在 WxOpenMaBasicService 接口中添加 getAllCategoryName() 方法 - 在 WxOpenMaBasicServiceImpl 实现类中实现该方法 - 在废弃的 WxOpenFastMaServiceImpl 中保持接口一致性 API: https://api.weixin.qq.com/cgi-bin/wxopen/getallcategorynamelist 文档: https://developers.weixin.qq.com/doc/oplatform/openApi/miniprogram-management/category-management/api_getallcategoryname.html --- .../weixin/open/api/WxOpenMaBasicService.java | 16 +++++ .../api/impl/WxOpenFastMaServiceImpl.java | 6 ++ .../api/impl/WxOpenMaBasicServiceImpl.java | 6 ++ .../WxOpenMaCategoryNameListResult.java | 65 +++++++++++++++++++ 4 files changed, 93 insertions(+) create mode 100644 weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaCategoryNameListResult.java diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaBasicService.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaBasicService.java index 3952f7dbf9..5929f83902 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaBasicService.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaBasicService.java @@ -73,6 +73,10 @@ public interface WxOpenMaBasicService { * 8.6 修改类目 */ String OPEN_MODIFY_CATEGORY = "https://api.weixin.qq.com/cgi-bin/wxopen/modifycategory"; + /** + * 8.7 获取类目名称信息 + */ + String OPEN_GET_ALL_CATEGORY_NAME = "https://api.weixin.qq.com/cgi-bin/wxopen/getallcategorynamelist"; /** * 获取订单页path信息 @@ -222,6 +226,18 @@ WxFastMaSetNickameResult setNickname(String nickname, String idCard, String lice */ WxOpenResult modifyCategory(WxFastMaCategory category) throws WxErrorException; + /** + * 8.7 获取类目名称信息 + *
+ * 获取所有类目名称信息,用于给用户展示选择 + * https://developers.weixin.qq.com/doc/oplatform/openApi/miniprogram-management/category-management/api_getallcategoryname.html + *+ * + * @return 类目名称列表 + * @throws WxErrorException . + */ + WxOpenMaCategoryNameListResult getAllCategoryName() throws WxErrorException; + /** * 获取订单页Path信息 * diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenFastMaServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenFastMaServiceImpl.java index 84ff7b495c..c80ce03c3e 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenFastMaServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenFastMaServiceImpl.java @@ -152,6 +152,12 @@ public WxOpenResult modifyCategory(WxFastMaCategory category) throws WxErrorExce return WxOpenGsonBuilder.create().fromJson(response, WxOpenResult.class); } + @Override + public WxOpenMaCategoryNameListResult getAllCategoryName() throws WxErrorException { + String response = get(OPEN_GET_ALL_CATEGORY_NAME, ""); + return WxOpenGsonBuilder.create().fromJson(response, WxOpenMaCategoryNameListResult.class); + } + /** * 获取订单页Path信息 * diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaBasicServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaBasicServiceImpl.java index 56d209a322..6204b1e260 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaBasicServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaBasicServiceImpl.java @@ -146,6 +146,12 @@ public WxOpenResult modifyCategory(WxFastMaCategory category) throws WxErrorExce return WxOpenGsonBuilder.create().fromJson(response, WxOpenResult.class); } + @Override + public WxOpenMaCategoryNameListResult getAllCategoryName() throws WxErrorException { + String response = wxMaService.get(OPEN_GET_ALL_CATEGORY_NAME, ""); + return WxOpenGsonBuilder.create().fromJson(response, WxOpenMaCategoryNameListResult.class); + } + /** * 获取订单页Path信息 * diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaCategoryNameListResult.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaCategoryNameListResult.java new file mode 100644 index 0000000000..c73447269f --- /dev/null +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaCategoryNameListResult.java @@ -0,0 +1,65 @@ +package me.chanjar.weixin.open.bean.result; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder; + +import java.io.Serializable; +import java.util.List; + +/** + * 获取类目名称信息的返回结果. + * + * @author Binary Wang + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WxOpenMaCategoryNameListResult extends WxOpenResult { + private static final long serialVersionUID = 8989721350285449879L; + + /** + * 类目名称列表. + */ + @SerializedName("category_name_list") + private List
+ * 用于获取所有小程序类目的 ID 和名称信息,包括一级类目和二级类目。 + *
* * @author Binary Wang + * @see 官方文档 */ @Data @EqualsAndHashCode(callSuper = true) @@ -29,6 +33,12 @@ public String toString() { return WxOpenGsonBuilder.create().toJson(this); } + /** + * 类目名称信息. + *+ * 包含一级类目和二级类目的 ID 和名称。 + *
+ */ @Data public static class CategoryName implements Serializable { private static final long serialVersionUID = 8989721350285449880L;