diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java index 01b1d3648..b6b94a764 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java @@ -126,6 +126,11 @@ public class WxConsts { * 模板卡片消息. */ public static final String TEMPLATE_CARD = "template_card"; + + /** + * 发送图文消息(点击跳转到图文消息页面)使用通过 “发布” 系列接口得到的 article_id(草稿箱功能上线后不再支持客服接口中带 media_id 的 mpnews 类型的图文消息) + */ + public static final String MP_NEWS_ARTICLE = "mpnewsarticle"; } /** diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java index 37beb77e7..7ac8bee4f 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java @@ -37,6 +37,7 @@ public class WxMpKefuMessage implements Serializable { private String headContent; private String tailContent; private List articles = new ArrayList<>(); + private String mpNewsArticleId; /** * 菜单消息里的菜单内容. @@ -113,6 +114,13 @@ public class WxMpKefuMessage implements Serializable { return new MiniProgramPageBuilder(); } + /** + * 发送图文消息(点击跳转到图文消息页面)使用通过 “发布” 系列接口得到的 article_id(草稿箱功能上线后不再支持客服接口中带 media_id 的 mpnews 类型的图文消息) + */ + public static MpNewsArticleBuilder MPNEWSARTICLE() { + return new MpNewsArticleBuilder(); + } + /** *
    * 请使用
@@ -127,6 +135,7 @@ public class WxMpKefuMessage implements Serializable {
    * {@link WxConsts.KefuMsgType#MINIPROGRAMPAGE}
    * {@link WxConsts.KefuMsgType#TASKCARD}
    * {@link WxConsts.KefuMsgType#MSGMENU}
+   * {@link WxConsts.KefuMsgType#MP_NEWS_ARTICLE}
    * 
*/ public void setMsgType(String msgType) { diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/MpNewsArticleBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/MpNewsArticleBuilder.java new file mode 100644 index 000000000..2d6babcf8 --- /dev/null +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/MpNewsArticleBuilder.java @@ -0,0 +1,33 @@ +package me.chanjar.weixin.mp.builder.kefu; + +import me.chanjar.weixin.common.api.WxConsts; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; + +/** + * 图文消息builder + *
+ * 用法:
+ * WxMpKefuMessage m = WxMpKefuMessage.MPNEWSARTICLE().articleId("xxxxx").toUser(...).build();
+ * 
+ * + * @author JCLee + */ +public final class MpNewsArticleBuilder extends BaseBuilder{ + private String articleId; + + public MpNewsArticleBuilder() { + this.msgType = WxConsts.KefuMsgType.MP_NEWS_ARTICLE; + } + + public MpNewsArticleBuilder articleId(String articleId) { + this.articleId = articleId; + return this; + } + + @Override + public WxMpKefuMessage build() { + WxMpKefuMessage m = super.build(); + m.setMpNewsArticleId(this.articleId); + return m; + } +} diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpKefuMessageGsonAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpKefuMessageGsonAdapter.java index 679f8db1a..c4b124452 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpKefuMessageGsonAdapter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpKefuMessageGsonAdapter.java @@ -96,6 +96,11 @@ public class WxMpKefuMessageGsonAdapter implements JsonSerializer