Ver a proveniência

#425 小程序客服消息新增小程序卡片消息支持

master
Binary Wang há 7 anos
ascendente
cometimento
2eb3fc5ed1
6 ficheiros alterados com 99 adições e 29 eliminações
  1. +17
    -9
      weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessage.java
  2. +6
    -5
      weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/ImageMessageBuilder.java
  3. +10
    -9
      weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/LinkMessageBuilder.java
  4. +47
    -0
      weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/MaPageMessageBuilder.java
  5. +6
    -5
      weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/TextMessageBuilder.java
  6. +13
    -1
      weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessageTest.java

+ 17
- 9
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessage.java Ver ficheiro

@@ -1,8 +1,9 @@
package cn.binarywang.wx.miniapp.bean;

import cn.binarywang.wx.miniapp.builder.ImageBuilder;
import cn.binarywang.wx.miniapp.builder.LinkBuilder;
import cn.binarywang.wx.miniapp.builder.TextBuilder;
import cn.binarywang.wx.miniapp.builder.ImageMessageBuilder;
import cn.binarywang.wx.miniapp.builder.LinkMessageBuilder;
import cn.binarywang.wx.miniapp.builder.MaPageMessageBuilder;
import cn.binarywang.wx.miniapp.builder.TextMessageBuilder;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
@@ -77,22 +78,29 @@ public class WxMaKefuMessage implements Serializable {
/**
* 获得文本消息builder.
*/
public static TextBuilder newTextBuilder() {
return new TextBuilder();
public static TextMessageBuilder newTextBuilder() {
return new TextMessageBuilder();
}

/**
* 获得图片消息builder.
*/
public static ImageBuilder newImageBuilder() {
return new ImageBuilder();
public static ImageMessageBuilder newImageBuilder() {
return new ImageMessageBuilder();
}

/**
* 获得图文链接消息builder.
*/
public static LinkBuilder newLinkBuilder() {
return new LinkBuilder();
public static LinkMessageBuilder newLinkBuilder() {
return new LinkMessageBuilder();
}

/**
* 获得图文链接消息builder.
*/
public static MaPageMessageBuilder newMaPageBuilder() {
return new MaPageMessageBuilder();
}

public String toJson() {


weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/ImageBuilder.java → weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/ImageMessageBuilder.java Ver ficheiro

@@ -1,21 +1,22 @@
package cn.binarywang.wx.miniapp.builder;

import cn.binarywang.wx.miniapp.bean.WxMaKefuMessage;
import cn.binarywang.wx.miniapp.constant.WxMaConstants;

import static cn.binarywang.wx.miniapp.constant.WxMaConstants.KefuMsgType;

/**
* 图片消息builder.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
public final class ImageBuilder extends BaseBuilder<ImageBuilder> {
public final class ImageMessageBuilder extends BaseBuilder<ImageMessageBuilder> {
private String mediaId;

public ImageBuilder() {
this.msgType = WxMaConstants.KefuMsgType.IMAGE;
public ImageMessageBuilder() {
this.msgType = KefuMsgType.IMAGE;
}

public ImageBuilder mediaId(String mediaId) {
public ImageMessageBuilder mediaId(String mediaId) {
this.mediaId = mediaId;
return this;
}

weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/LinkBuilder.java → weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/LinkMessageBuilder.java Ver ficheiro

@@ -1,39 +1,40 @@
package cn.binarywang.wx.miniapp.builder;

import cn.binarywang.wx.miniapp.bean.WxMaKefuMessage;
import cn.binarywang.wx.miniapp.constant.WxMaConstants;

import static cn.binarywang.wx.miniapp.constant.WxMaConstants.KefuMsgType;

/**
* 图文链接builder
* 图文链接消息builder
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
public class LinkBuilder extends BaseBuilder<LinkBuilder> {
public class LinkMessageBuilder extends BaseBuilder<LinkMessageBuilder> {
private String title;
private String description;
private String url;
private String thumbUrl;

public LinkBuilder() {
this.msgType = WxMaConstants.KefuMsgType.IMAGE;
public LinkMessageBuilder() {
this.msgType = KefuMsgType.LINK;
}

public LinkBuilder title(String title) {
public LinkMessageBuilder title(String title) {
this.title = title;
return this;
}

public LinkBuilder description(String description) {
public LinkMessageBuilder description(String description) {
this.description = description;
return this;
}

public LinkBuilder url(String url) {
public LinkMessageBuilder url(String url) {
this.url = url;
return this;
}

public LinkBuilder thumbUrl(String thumbUrl) {
public LinkMessageBuilder thumbUrl(String thumbUrl) {
this.thumbUrl = thumbUrl;
return this;
}

+ 47
- 0
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/MaPageMessageBuilder.java Ver ficheiro

@@ -0,0 +1,47 @@
package cn.binarywang.wx.miniapp.builder;

import cn.binarywang.wx.miniapp.bean.WxMaKefuMessage;

import static cn.binarywang.wx.miniapp.constant.WxMaConstants.KefuMsgType;

/**
* 小程序卡片消息builder
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
public class MaPageMessageBuilder extends BaseBuilder<MaPageMessageBuilder> {
private String title;
private String pagePath;
private String thumbMediaId;

public MaPageMessageBuilder() {
this.msgType = KefuMsgType.MA_PAGE;
}

public MaPageMessageBuilder title(String title) {
this.title = title;
return this;
}

public MaPageMessageBuilder pagePath(String pagePath) {
this.pagePath = pagePath;
return this;
}

public MaPageMessageBuilder thumbMediaId(String thumbMediaId) {
this.thumbMediaId = thumbMediaId;
return this;
}

@Override
public WxMaKefuMessage build() {
WxMaKefuMessage m = super.build();
m.setMaPage(WxMaKefuMessage.KfMaPage.builder()
.title(this.title)
.pagePath(this.pagePath)
.thumbMediaId(this.thumbMediaId)
.build()
);
return m;
}
}

weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/TextBuilder.java → weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/TextMessageBuilder.java Ver ficheiro

@@ -1,21 +1,22 @@
package cn.binarywang.wx.miniapp.builder;

import cn.binarywang.wx.miniapp.bean.WxMaKefuMessage;
import cn.binarywang.wx.miniapp.constant.WxMaConstants;

import static cn.binarywang.wx.miniapp.constant.WxMaConstants.KefuMsgType;

/**
* 文本消息builder.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
public final class TextBuilder extends BaseBuilder<TextBuilder> {
public final class TextMessageBuilder extends BaseBuilder<TextMessageBuilder> {
private String content;

public TextBuilder() {
this.msgType = WxMaConstants.KefuMsgType.TEXT;
public TextMessageBuilder() {
this.msgType = KefuMsgType.TEXT;
}

public TextBuilder content(String content) {
public TextMessageBuilder content(String content) {
this.content = content;
return this;
}

+ 13
- 1
weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessageTest.java Ver ficheiro

@@ -37,9 +37,21 @@ public class WxMaKefuMessageTest {
.thumbUrl("thumbUrl")
.build();
assertThat(reply.toJson())
.isEqualTo( "{\"touser\":\"OPENID\",\"msgtype\":\"image\"," +
.isEqualTo( "{\"touser\":\"OPENID\",\"msgtype\":\"link\"," +
"\"link\":{\"title\":\"title\",\"description\":\"description\",\"url\":\"url\",\"thumb_url\":\"thumbUrl\"}}");
}

public void testMaPageBuilder() {
WxMaKefuMessage reply = WxMaKefuMessage.newMaPageBuilder()
.toUser("OPENID")
.title("title")
.pagePath("pagePath")
.thumbMediaId("thumbMediaId")
.build();
assertThat(reply.toJson())
.isEqualTo( "{\"touser\":\"OPENID\",\"msgtype\":\"miniprogrampage\"," +
"\"miniprogrampage\":{\"title\":\"title\",\"pagepath\":\"pagePath\",\"thumb_media_id\":\"thumbMediaId\"}}");
}


}

Carregando…
Cancelar
Guardar