mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2026-02-18 06:06:23 +08:00
#615 公众号客服消息添加 "发送小程序卡片" 类型
This commit is contained in:
@@ -30,6 +30,8 @@ public class WxMpKefuMessage implements Serializable {
|
||||
private String kfAccount;
|
||||
private String cardId;
|
||||
private String mpNewsMediaId;
|
||||
private String miniProgramAppId;
|
||||
private String miniProgramPagePath;
|
||||
private List<WxArticle> articles = new ArrayList<>();
|
||||
|
||||
/**
|
||||
@@ -88,6 +90,13 @@ public class WxMpKefuMessage implements Serializable {
|
||||
return new WxCardBuilder();
|
||||
}
|
||||
|
||||
/**
|
||||
* 小程序卡片
|
||||
*/
|
||||
public static MiniProgramPageBuilder MINIPROGRAMPAGE() {
|
||||
return new MiniProgramPageBuilder();
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 请使用
|
||||
@@ -99,6 +108,7 @@ public class WxMpKefuMessage implements Serializable {
|
||||
* {@link WxConsts.KefuMsgType#NEWS}
|
||||
* {@link WxConsts.KefuMsgType#MPNEWS}
|
||||
* {@link WxConsts.KefuMsgType#WXCARD}
|
||||
* {@link WxConsts.KefuMsgType#MINIPROGRAMPAGE}
|
||||
* </pre>
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
package me.chanjar.weixin.mp.builder.kefu;
|
||||
|
||||
import me.chanjar.weixin.common.api.WxConsts.KefuMsgType;
|
||||
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
|
||||
|
||||
/**
|
||||
* 小程序卡片 builder
|
||||
* <pre>
|
||||
* 用法:
|
||||
* WxMpKefuMessage m = WxMpKefuMessage.MINIPROGRAMPAGE().title("xxxx").thumbMediaId("xxxxx").appId("xxxx").pagePath("****").toUser(...).build();
|
||||
* </pre>
|
||||
*
|
||||
* @author boris.bao
|
||||
*/
|
||||
public final class MiniProgramPageBuilder extends BaseBuilder<MiniProgramPageBuilder> {
|
||||
|
||||
private String title;
|
||||
private String appId;
|
||||
private String pagePath;
|
||||
private String thumbMediaId;
|
||||
|
||||
public MiniProgramPageBuilder() {
|
||||
this.msgType = KefuMsgType.MINIPROGRAMPAGE;
|
||||
}
|
||||
|
||||
|
||||
public MiniProgramPageBuilder title(String title) {
|
||||
this.title = title;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MiniProgramPageBuilder appId(String appId) {
|
||||
this.appId = appId;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public MiniProgramPageBuilder pagePath(String pagePath) {
|
||||
this.pagePath = pagePath;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public MiniProgramPageBuilder thumbMediaId(String thumbMediaId) {
|
||||
this.thumbMediaId = thumbMediaId;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public WxMpKefuMessage build() {
|
||||
WxMpKefuMessage m = super.build();
|
||||
m.setTitle(this.title);
|
||||
m.setMiniProgramAppId(this.appId);
|
||||
m.setMiniProgramPagePath(this.pagePath);
|
||||
m.setThumbMediaId(this.thumbMediaId);
|
||||
return m;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package me.chanjar.weixin.mp.util.json;
|
||||
|
||||
import com.google.gson.*;
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
import me.chanjar.weixin.common.api.WxConsts.KefuMsgType;
|
||||
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
@@ -79,6 +80,15 @@ public class WxMpKefuMessageGsonAdapter implements JsonSerializer<WxMpKefuMessag
|
||||
messageJson.add("wxcard", wxcard);
|
||||
}
|
||||
|
||||
if (KefuMsgType.MINIPROGRAMPAGE.equals(message.getMsgType())) {
|
||||
JsonObject miniProgramPage = new JsonObject();
|
||||
miniProgramPage.addProperty("title", message.getTitle());
|
||||
miniProgramPage.addProperty("appid", message.getMiniProgramAppId());
|
||||
miniProgramPage.addProperty("pagepath", message.getMiniProgramPagePath());
|
||||
miniProgramPage.addProperty("thumb_media_id", message.getThumbMediaId());
|
||||
messageJson.add("miniprogrampage", miniProgramPage);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(message.getKfAccount())) {
|
||||
JsonObject newsJsonObject = new JsonObject();
|
||||
newsJsonObject.addProperty("kf_account", message.getKfAccount());
|
||||
|
||||
Reference in New Issue
Block a user