🎨 #2632【企业微信】完善模板卡片消息接口部分参数

This commit is contained in:
xiaohe-53
2022-05-05 11:42:44 +08:00
committed by GitHub
parent 303a0ea155
commit 946f693bd0
9 changed files with 182 additions and 9 deletions

View File

@@ -92,6 +92,21 @@ public class WxCpMessage implements Serializable {
*/
private String sourceDesc;
/**
* 来源文字的颜色目前支持0(默认) 灰色1 黑色2 红色3 绿色
*/
private Integer sourceDescColor;
/**
* 更多操作界面的描述
*/
private String actionMenuDesc;
/**
* 操作列表,列表长度取值范围为 [1, 3]
*/
private List<ActionMenuItem> actionMenuActionList;
/**
* 一级标题建议不超过36个字
*/
@@ -482,9 +497,22 @@ public class WxCpMessage implements Serializable {
if (StringUtils.isNotBlank(this.getSourceDesc())) {
source.addProperty("desc", this.getSourceDesc());
}
source.addProperty("desc_color", this.getSourceDescColor());
template.add("source", source);
}
if (StringUtils.isNotBlank(this.getActionMenuDesc())) {
JsonObject action_menu = new JsonObject();
action_menu.addProperty("desc", this.getActionMenuDesc());
JsonArray actionList = new JsonArray();
List<ActionMenuItem> actionMenuItemList = this.getActionMenuActionList();
for (ActionMenuItem actionItemI : actionMenuItemList) {
actionList.add(actionItemI.toJson());
}
action_menu.add("action_list", actionList);
template.add("action_menu", action_menu);
}
if (StringUtils.isNotBlank(this.getMainTitleTitle()) || StringUtils.isNotBlank(this.getMainTitleDesc())) {
JsonObject mainTitle = new JsonObject();
if (StringUtils.isNotBlank(this.getMainTitleTitle())) {

View File

@@ -36,6 +36,21 @@ public class TemplateCardBuilder extends BaseBuilder<TemplateCardBuilder> {
*/
private String sourceDesc;
/**
* 来源文字的颜色目前支持0(默认) 灰色1 黑色2 红色3 绿色
*/
private Integer sourceDescColor;
/**
* 更多操作界面的描述
*/
private String actionMenuDesc;
/**
* 操作列表,列表长度取值范围为 [1, 3]
*/
private List<ActionMenuItem> actionMenuActionList;
/**
* 一级标题建议不超过36个字
*/
@@ -172,6 +187,16 @@ public class TemplateCardBuilder extends BaseBuilder<TemplateCardBuilder> {
return this;
}
public TemplateCardBuilder actionMenuDesc(String actionMenuDesc) {
this.actionMenuDesc = actionMenuDesc;
return this;
}
public TemplateCardBuilder actionMenuActionList(List<ActionMenuItem> actionMenuItemList) {
this.actionMenuActionList = actionMenuItemList;
return this;
}
public TemplateCardBuilder sourceIconUrl(String sourceIconUrl) {
this.sourceIconUrl = sourceIconUrl;
return this;
@@ -182,6 +207,11 @@ public class TemplateCardBuilder extends BaseBuilder<TemplateCardBuilder> {
return this;
}
public TemplateCardBuilder sourceDescColor(Integer sourceDescColor) {
this.sourceDescColor = sourceDescColor;
return this;
}
public TemplateCardBuilder mainTitleTitle(String mainTitleTitle) {
this.mainTitleTitle = mainTitleTitle;
return this;
@@ -294,6 +324,9 @@ public class TemplateCardBuilder extends BaseBuilder<TemplateCardBuilder> {
m.setCardType(this.cardType);
m.setSourceIconUrl(this.sourceIconUrl);
m.setSourceDesc(this.sourceDesc);
m.setSourceDescColor(this.sourceDescColor);
m.setActionMenuDesc(this.actionMenuDesc);
m.setActionMenuActionList(this.actionMenuActionList);
m.setMainTitleTitle(this.mainTitleTitle);
m.setMainTitleDesc(this.mainTitleDesc);
m.setCardImageUrl(this.cardImageUrl);

View File

@@ -0,0 +1,40 @@
package me.chanjar.weixin.cp.bean.templatecard;
import com.google.gson.JsonObject;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 卡片右上角更多操作按钮点击后出现的操作列表,列表长度取值范围为 [1, 3]
* @author xiaohe
* @date 2022-03-06
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActionMenuItem implements Serializable {
private static final long serialVersionUID = 400885585614100693L;
/**
* 操作的描述文案
*/
private String text;
/**
* 按钮key值用户点击后会产生回调事件将本参数作为EventKey返回回调事件会带上该key值最长支持1024字节不可重复
*/
private String key;
public JsonObject toJson() {
JsonObject btnObject = new JsonObject();
btnObject.addProperty("text", this.getText());
btnObject.addProperty("key", this.getKey());
return btnObject;
}
}

View File

@@ -44,6 +44,11 @@ public class HorizontalContent implements Serializable {
*/
private String media_id;
/**
* 成员详情的useridhorizontal_content_list.type是3时必填
*/
private String userid;
public JsonObject toJson() {
JsonObject hContentJson = new JsonObject();
@@ -61,6 +66,9 @@ public class HorizontalContent implements Serializable {
if (StringUtils.isNotBlank(this.getMedia_id())) {
hContentJson.addProperty("media_id", this.getMedia_id());
}
if (StringUtils.isNotBlank(this.getUserid())) {
hContentJson.addProperty("userid", this.getUserid());
}
return hContentJson;
}