mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2026-03-10 00:13:40 +08:00
🆕 #2356 【公众号】新增草稿箱和发布相关的接口
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package me.chanjar.weixin.mp.bean.draft;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import me.chanjar.weixin.common.bean.ToJson;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 草稿箱能力-新建草稿.
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-22
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WxMpAddDraft implements ToJson, Serializable {
|
||||
private static final long serialVersionUID = 2481699972367293721L;
|
||||
|
||||
/**
|
||||
* 图文素材列表
|
||||
*/
|
||||
@SerializedName("articles")
|
||||
private List<WxMpDraftArticles> articles;
|
||||
|
||||
public static WxMpAddDraft fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpAddDraft.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJson() {
|
||||
return WxGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package me.chanjar.weixin.mp.bean.draft;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import me.chanjar.weixin.common.bean.ToJson;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 草稿箱能力-图文素材文章实体.
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-22
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WxMpDraftArticles implements ToJson, Serializable {
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@SerializedName("title")
|
||||
private String title;
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
@SerializedName("author")
|
||||
private String author;
|
||||
/**
|
||||
* 图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空。如果本字段为没有填写,则默认抓取正文前54个字。
|
||||
*/
|
||||
@SerializedName("digest")
|
||||
private String digest;
|
||||
/**
|
||||
* 图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS,涉及图片url必须来源 "上传图文消息内的图片获取URL"接口获取。外部图片url将被过滤。
|
||||
*/
|
||||
@SerializedName("content")
|
||||
private String content;
|
||||
/**
|
||||
* 图文消息的原文地址,即点击“阅读原文”后的URL
|
||||
*/
|
||||
@SerializedName("content_source_url")
|
||||
private String contentSourceUrl;
|
||||
/**
|
||||
* 图文消息的封面图片素材id(必须是永久MediaID)
|
||||
*/
|
||||
@SerializedName("thumb_media_id")
|
||||
private String thumbMediaId;
|
||||
/**
|
||||
* 是否显示封面,0为false,即不显示,1为true,即显示(默认)
|
||||
*/
|
||||
@SerializedName("show_cover_pic")
|
||||
private Integer showCoverPic;
|
||||
/**
|
||||
* 是否打开评论,0不打开(默认),1打开
|
||||
*/
|
||||
@SerializedName("need_open_comment")
|
||||
private Integer needOpenComment;
|
||||
/**
|
||||
* 是否粉丝才可评论,0所有人可评论(默认),1粉丝才可评论
|
||||
*/
|
||||
@SerializedName("only_fans_can_comment")
|
||||
private Integer onlyFansCanComment;
|
||||
|
||||
public static WxMpDraftArticles fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpDraftArticles.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJson() {
|
||||
return WxGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package me.chanjar.weixin.mp.bean.draft;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import me.chanjar.weixin.common.bean.ToJson;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 草稿箱能力-获取草稿详情.
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-22
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WxMpDraftInfo implements ToJson, Serializable {
|
||||
private static final long serialVersionUID = 6111694033486314392L;
|
||||
|
||||
/**
|
||||
* 文章列表
|
||||
*/
|
||||
@SerializedName("news_item")
|
||||
private List<WxMpDraftArticles> newsItem;
|
||||
|
||||
public static WxMpDraftInfo fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpDraftInfo.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJson() {
|
||||
return WxGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package me.chanjar.weixin.mp.bean.draft;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 一条草稿
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-22
|
||||
*/
|
||||
@Data
|
||||
public class WxMpDraftItem implements Serializable {
|
||||
private static final long serialVersionUID = 214696458030935146L;
|
||||
|
||||
/**
|
||||
* 图文消息的id
|
||||
*/
|
||||
@SerializedName("media_id")
|
||||
private String mediaId;
|
||||
/**
|
||||
* 图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS。
|
||||
*/
|
||||
@SerializedName("content")
|
||||
private WxMpDraftInfo content;
|
||||
|
||||
public static WxMpDraftItem fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpDraftItem.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package me.chanjar.weixin.mp.bean.draft;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 草稿箱能力-获取草稿列表.
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-22
|
||||
*/
|
||||
@Data
|
||||
public class WxMpDraftList implements Serializable {
|
||||
private static final long serialVersionUID = 7216822694952035295L;
|
||||
|
||||
/**
|
||||
* 草稿素材的总数
|
||||
*/
|
||||
@SerializedName("total_count")
|
||||
private Integer totalCount;
|
||||
|
||||
/**
|
||||
* 本次调用获取的素材的数量
|
||||
*/
|
||||
@SerializedName("item_count")
|
||||
private Integer itemCount;
|
||||
|
||||
/**
|
||||
* 所有草稿列表
|
||||
*/
|
||||
@SerializedName("item")
|
||||
private List<WxMpDraftItem> items;
|
||||
|
||||
public static WxMpDraftList fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpDraftList.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package me.chanjar.weixin.mp.bean.draft;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import me.chanjar.weixin.common.bean.ToJson;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 草稿箱能力-修改草稿.
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-22
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WxMpUpdateDraft implements ToJson, Serializable {
|
||||
|
||||
private static final long serialVersionUID = -8564521168423899915L;
|
||||
/**
|
||||
* 要修改的图文消息的id
|
||||
*/
|
||||
@SerializedName("media_id")
|
||||
private String mediaId;
|
||||
|
||||
/**
|
||||
* 要更新的文章在图文消息中的位置(多图文消息时,此字段才有意义),第一篇为0
|
||||
*/
|
||||
@SerializedName("index")
|
||||
private Integer index;
|
||||
|
||||
/**
|
||||
* 图文素材列表
|
||||
*/
|
||||
@SerializedName("articles")
|
||||
private WxMpDraftArticles articles;
|
||||
|
||||
public static WxMpUpdateDraft fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpUpdateDraft.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJson() {
|
||||
return WxGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package me.chanjar.weixin.mp.bean.freepublish;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 一条发布的图文记录
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-23
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class WxMpFreePublishArticles implements Serializable {
|
||||
private static final long serialVersionUID = -6435229818150835883L;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@SerializedName("title")
|
||||
private String title;
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
@SerializedName("author")
|
||||
private String author;
|
||||
/**
|
||||
* 图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空。
|
||||
*/
|
||||
@SerializedName("digest")
|
||||
private String digest;
|
||||
/**
|
||||
* 图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS
|
||||
*/
|
||||
@SerializedName("content")
|
||||
private String content;
|
||||
/**
|
||||
* 图文消息的原文地址,即点击“阅读原文”后的URL
|
||||
*/
|
||||
@SerializedName("content_source_url")
|
||||
private String contentSourceUrl;
|
||||
/**
|
||||
* 图文消息的封面图片素材id(一定是永久MediaID)
|
||||
*/
|
||||
@SerializedName("thumb_media_id")
|
||||
private String thumbMediaId;
|
||||
/**
|
||||
* 是否显示封面,0为false,即不显示,1为true,即显示(默认)
|
||||
*/
|
||||
@SerializedName("show_cover_pic")
|
||||
private Integer showCoverPic;
|
||||
/**
|
||||
* 是否打开评论,0不打开(默认),1打开
|
||||
*/
|
||||
@SerializedName("need_open_comment")
|
||||
private Integer needOpenComment;
|
||||
/**
|
||||
* 是否粉丝才可评论,0所有人可评论(默认),1粉丝才可评论
|
||||
*/
|
||||
@SerializedName("only_fans_can_comment")
|
||||
private Integer onlyFansCanComment;
|
||||
|
||||
/*
|
||||
* ===== 上面的参数,就是草稿箱的内容的字段,为了后续扩展,单独写一份====
|
||||
*/
|
||||
|
||||
/**
|
||||
* 草稿的临时链接
|
||||
*/
|
||||
@SerializedName("url")
|
||||
private String url;
|
||||
/**
|
||||
* 该图文是否被删除
|
||||
*/
|
||||
@SerializedName("is_deleted")
|
||||
private Boolean isDeleted;
|
||||
|
||||
public static WxMpFreePublishArticles fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpFreePublishArticles.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package me.chanjar.weixin.mp.bean.freepublish;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import me.chanjar.weixin.common.bean.ToJson;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 发布能力-通过 article_id 获取已发布文章.
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WxMpFreePublishInfo implements ToJson, Serializable {
|
||||
private static final long serialVersionUID = 3331288672996730705L;
|
||||
|
||||
/**
|
||||
* 文章列表
|
||||
*/
|
||||
@SerializedName("news_item")
|
||||
private List<WxMpFreePublishArticles> newsItem;
|
||||
|
||||
public static WxMpFreePublishInfo fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpFreePublishInfo.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJson() {
|
||||
return WxGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package me.chanjar.weixin.mp.bean.freepublish;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 发布列表的一条记录
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-23
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class WxMpFreePublishItem implements Serializable {
|
||||
private static final long serialVersionUID = -6435229818150835883L;
|
||||
|
||||
/**
|
||||
* 成功发布的图文消息id
|
||||
*/
|
||||
@SerializedName("article_id")
|
||||
private String articleId;
|
||||
/**
|
||||
* 图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS。
|
||||
*/
|
||||
@SerializedName("content")
|
||||
private WxMpFreePublishInfo content;
|
||||
|
||||
public static WxMpFreePublishItem fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpFreePublishItem.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package me.chanjar.weixin.mp.bean.freepublish;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 发布能力-获取成功发布列表.
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-22
|
||||
*/
|
||||
@Data
|
||||
public class WxMpFreePublishList implements Serializable {
|
||||
private static final long serialVersionUID = 764054773431665250L;
|
||||
|
||||
/**
|
||||
* 成功发布素材的总数
|
||||
*/
|
||||
@SerializedName("total_count")
|
||||
private Integer totalCount;
|
||||
|
||||
/**
|
||||
* 本次调用获取的素材的数量
|
||||
*/
|
||||
@SerializedName("item_count")
|
||||
private Integer itemCount;
|
||||
|
||||
/**
|
||||
* 所有成功发布列表
|
||||
*/
|
||||
@SerializedName("item")
|
||||
private List<WxMpFreePublishItem> items;
|
||||
|
||||
public static WxMpFreePublishList fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpFreePublishList.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package me.chanjar.weixin.mp.bean.freepublish;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import me.chanjar.weixin.common.bean.ToJson;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 发布能力-发布状态轮询接口,通过publishId返回 article_id(删除发布时需要用到).
|
||||
*
|
||||
* @author dragon
|
||||
* @date 2021-10-23
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WxMpFreePublishStatus implements ToJson, Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7526369389476785732L;
|
||||
private String publish_id;
|
||||
private Integer publish_status;
|
||||
private String article_id;
|
||||
private ArticleDetail article_detail;
|
||||
private List<Integer> fail_idx;
|
||||
|
||||
public static WxMpFreePublishStatus fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpFreePublishStatus.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJson() {
|
||||
return WxGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class ArticleDetail {
|
||||
private Integer count;
|
||||
private List<Item> item;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class Item {
|
||||
private Integer idx;
|
||||
private String article_url;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user