#759 增加三方平台代小程序业务接口:代码管理、模板管理、成员管理、发布审核等

This commit is contained in:
yuanqixun
2018-09-15 10:33:38 +08:00
committed by Binary Wang
parent 13bee05edc
commit 941833ea1a
27 changed files with 1524 additions and 31 deletions

View File

@@ -0,0 +1,96 @@
package me.chanjar.weixin.open.bean.ma;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 微信小程序三方平台代上传代码提交额外信息对象
* <p>
* 如果代码中已经有配置则配置的合并规则为除了pages和tabBar.list直接覆盖原配置其他都为插入或同级覆盖。
* </p>
*
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxMaOpenCommitExtInfo implements Serializable {
WxMaOpenCommitExtInfo() {
}
/**
* 授权小程序Appid可填入商户小程序AppID以区分不同商户
*/
private String extAppid;
@SerializedName("ext")
private Map<String, Object> extMap;
@SerializedName("extPages")
private Map<String, WxMaOpenPage> extPages;
/**
* 页面路径列表(和app.json结构一致)
*/
@SerializedName("pages")
private List<String> pageList;
@SerializedName("window")
private WxMaOpenWindow window;
@SerializedName("networkTimeout")
private WxMaOpenNetworkTimeout networkTimeout;
@SerializedName("tabBar")
private WxMaOpenTabBar tabBar;
/**
* 添加扩展项
*
* @param key
* @param value
*/
public void addExt(String key, String value) {
if (extMap == null)
extMap = new HashMap<>();
if (StringUtils.isNoneBlank(key, value))
extMap.put(key, value);
}
/**
* 添加扩展页面
*
* @param pagePath
* @param page
*/
public void addExtPage(String pagePath, WxMaOpenPage page) {
if (extPages == null)
extPages = new HashMap<>();
if (StringUtils.isNotBlank(pagePath) && page != null)
extPages.put(pagePath, page);
}
/**
* 添加页面
*
* @param pagePath
*/
public void addPage(String pagePath) {
if (pageList == null)
pageList = new ArrayList<>();
if (StringUtils.isNotBlank(pagePath))
pageList.add(pagePath);
}
public static WxMaOpenCommitExtInfo INSTANCE() {
return new WxMaOpenCommitExtInfo();
}
}

View File

@@ -0,0 +1,21 @@
package me.chanjar.weixin.open.bean.ma;
import lombok.Data;
import java.io.Serializable;
/**
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxMaOpenNetworkTimeout implements Serializable {
private Integer request;
private Integer connectSocket;
private Integer uploadFile;
private Integer downloadFile;
}

View File

@@ -0,0 +1,22 @@
package me.chanjar.weixin.open.bean.ma;
import lombok.Data;
import java.io.Serializable;
/**
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxMaOpenPage implements Serializable {
private String navigationBarBackgroundColor;
private String navigationBarTextStyle;
private String navigationBarTitleText;
private String backgroundColor;
private String backgroundTextStyle;
private Boolean enablePullDownRefresh;
private Integer onReachBottomDistance;
private Boolean disableScroll;
}

View File

@@ -0,0 +1,21 @@
package me.chanjar.weixin.open.bean.ma;
import lombok.Data;
import lombok.NonNull;
import java.io.Serializable;
/**
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxMaOpenTab implements Serializable {
@NonNull
private String pagePath;
@NonNull
private String text;
private String iconPath;
private String selectedIconPath;
}

View File

@@ -0,0 +1,49 @@
package me.chanjar.weixin.open.bean.ma;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* tabBar对象
*
* @author yqx
* @date 2018/9/13
*/
@Data
@NoArgsConstructor
public class WxMaOpenTabBar implements Serializable {
@NonNull
private String color;
@NonNull
private String selectedColor;
@NonNull
private String backgroundColor;
private String borderStyle;
@NonNull
@SerializedName("list")
private List<WxMaOpenTab> tabList;
private String position;
/**
* 添加tab
*
* @param text
* @param pagePath
*/
public void addTab(String text, String pagePath) {
if (tabList == null)
tabList = new ArrayList<>();
tabList.add(new WxMaOpenTab(pagePath, text));
}
}

View File

@@ -0,0 +1,34 @@
package me.chanjar.weixin.open.bean.ma;
import lombok.Data;
import java.io.Serializable;
/**
* window对象
*
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxMaOpenWindow implements Serializable {
private String navigationBarBackgroundColor;
private String navigationBarTextStyle;
private String navigationBarTitleText;
private String navigationStyle;
private String backgroundColor;
private String backgroundTextStyle;
private String backgroundColorTop;
private String backgroundColorBottom;
private Boolean enablePullDownRefresh;
private Integer onReachBottomDistance;
}

View File

@@ -0,0 +1,86 @@
package me.chanjar.weixin.open.bean.ma;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* 微信小程序体验二维码参数
*
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxMaQrcodeParam {
WxMaQrcodeParam() {
}
/**
* 页面路径
*/
private String pagePath;
/**
* 页面参数
*/
private Map<String, String> pageParams;
/**
* 添加页面参数
*
* @param key
* @param value
*/
public WxMaQrcodeParam addPageParam(String key, String value) {
if (StringUtils.isNoneBlank(key, value)) {
if (pageParams == null)
pageParams = new HashMap<>();
pageParams.put(key, value);
}
return this;
}
/**
* 添加页面参数
*
* @param params
* @return
*/
public WxMaQrcodeParam addPageParam(Map<String, String> params) {
if (params != null) {
if (pageParams == null)
pageParams = new HashMap<>();
pageParams.putAll(params);
}
return this;
}
/**
* 组装完整的页面请求路径(带参数)
*
* @return
*/
public String getRequestPath() {
if (StringUtils.isNotBlank(getPagePath()) && getPageParams() != null && !getPageParams().isEmpty()) {
Set<String> keys = getPageParams().keySet();
StringBuilder sb = new StringBuilder();
for (String key : keys) {
sb.append("&").append(key).append("=").append(getPageParams().get(key));
}
return pagePath + "?" + sb.substring(1);
} else {
return pagePath;
}
}
public static WxMaQrcodeParam create(String pagePath) {
WxMaQrcodeParam instance = new WxMaQrcodeParam();
instance.setPagePath(pagePath);
return instance;
}
}

View File

@@ -0,0 +1,40 @@
package me.chanjar.weixin.open.bean.ma;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.io.Serializable;
/**
* 微信小程序分类目录
*
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxOpenMaCategory implements Serializable {
@SerializedName("first_class")
private String firstClass;
@SerializedName("second_class")
private String secondClass;
@SerializedName("third_class")
private String thirdClass;
@SerializedName("first_id")
private Integer firstId;
@SerializedName("second_id")
private Integer secondId;
@SerializedName("third_id")
private Integer thirdId;
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@@ -0,0 +1,19 @@
package me.chanjar.weixin.open.bean.ma;
import lombok.Data;
import java.io.Serializable;
/**
* 微信开放平台小程序成员对象
*
* @author yqx
* @date 2018/9/12
*/
@Data
public class WxOpenMaMember implements Serializable {
/**
* 人员对应的唯一字符串
*/
private String userstr;
}

View File

@@ -0,0 +1,60 @@
package me.chanjar.weixin.open.bean.ma;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* 三方平台提交小程序代码审核
*
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxOpenMaSubmitAudit implements Serializable {
/**
* 小程序的页面,可通过“获取小程序的第三方提交代码的页面配置”接口获得
*/
@SerializedName("address")
private String pagePath;
/**
* 小程序的标签多个标签用空格分隔标签不能多于10个标签长度不超过20
*/
@SerializedName("tag")
private String tag;
/**
* 类目名称,可通过“获取授权小程序帐号的可选类目”接口获得
*/
@SerializedName("first_class")
private String firstClass;
@SerializedName("second_class")
private String secondClass;
@SerializedName("third_class")
private String thirdClass;
/**
* 类目的ID可通过“获取授权小程序帐号的可选类目”接口获得
*/
@SerializedName("first_id")
private Integer firstId;
@SerializedName("second_id")
private Integer secondId;
@SerializedName("third_id")
private Integer thirdId;
/**
* 小程序页面的标题,标题长度不超过32
*/
@SerializedName("title")
private String title;
}

View File

@@ -0,0 +1,21 @@
package me.chanjar.weixin.open.bean.message;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.open.bean.ma.WxOpenMaSubmitAudit;
import java.io.Serializable;
import java.util.List;
/**
* 微信小程序代码包提交审核(仅供第三方开发者代小程序调用)
*
* @author yqx
* @date 2018/9/13
*/
@Data
public class WxOpenMaSubmitAuditMessage implements Serializable {
@SerializedName("item_list")
private List<WxOpenMaSubmitAudit> itemList;
}

View File

@@ -0,0 +1,31 @@
package me.chanjar.weixin.open.bean.result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.open.bean.ma.WxOpenMaCategory;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.io.Serializable;
import java.util.List;
/**
* 微信开放平台小程序分类目录列表返回
*
* @author yqx
* @date 2018/9/12
*/
@Data
public class WxOpenMaCategoryListResult implements Serializable {
private String errcode;
private String errmsg;
@SerializedName("category_list")
List<WxOpenMaCategory> categoryList;
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@@ -0,0 +1,33 @@
package me.chanjar.weixin.open.bean.result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 微信开放平台小程序域名设置返回对象
*
* @author yqx
* @date 2018/9/12
*/
@Data
public class WxOpenMaDomainResult implements Serializable {
private String errcode;
private String errmsg;
@SerializedName("requestdomain")
List<String> requestdomainList;
@SerializedName("wsrequestdomain")
List<String> wsrequestdomainList;
@SerializedName("uploaddomain")
List<String> uploaddomainList;
@SerializedName("downloaddomain")
List<String> downloaddomainList;
}

View File

@@ -0,0 +1,30 @@
package me.chanjar.weixin.open.bean.result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.io.Serializable;
import java.util.List;
/**
* 微信开放平台小程序第三方提交代码的页面配置列表
*
* @author yqx
* @date 2018/9/12
*/
@Data
public class WxOpenMaPageListResult implements Serializable {
private String errcode;
private String errmsg;
@SerializedName("page_list")
List<String> pageList;
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@@ -0,0 +1,26 @@
package me.chanjar.weixin.open.bean.result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* 微信开放平台小程序发布代码审核结果
*
* @author yqx
* @date 2018/9/12
*/
@Data
public class WxOpenMaSubmitAuditResult implements Serializable {
private String errcode;
private String errmsg;
/**
* 审核编号
*/
@SerializedName("auditid")
Long auditId;
}

View File

@@ -0,0 +1,31 @@
package me.chanjar.weixin.open.bean.result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.open.bean.ma.WxOpenMaMember;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.io.Serializable;
import java.util.List;
/**
* 微信开放平台小程序体验者列表返回
*
* @author yqx
* @date 2018/9/12
*/
@Data
public class WxOpenMaTesterListResult implements Serializable {
private String errcode;
private String errmsg;
@SerializedName("members")
List<WxOpenMaMember> membersList;
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}