diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java index 9b077590..35a438c0 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java @@ -5,16 +5,18 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; +import me.chanjar.weixin.open.bean.WxOpenMaCodeTemplate; import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage; import me.chanjar.weixin.open.bean.result.WxOpenAuthorizerInfoResult; import me.chanjar.weixin.open.bean.result.WxOpenAuthorizerOptionResult; import me.chanjar.weixin.open.bean.result.WxOpenQueryAuthResult; +import java.util.List; + /** * @author 007 */ public interface WxOpenComponentService { - String API_COMPONENT_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/component/api_component_token"; String API_CREATE_PREAUTHCODE_URL = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode"; String API_QUERY_AUTH_URL = "https://api.weixin.qq.com/cgi-bin/component/api_query_auth"; @@ -23,7 +25,6 @@ public interface WxOpenComponentService { String API_GET_AUTHORIZER_OPTION_URL = "https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_option"; String API_SET_AUTHORIZER_OPTION_URL = "https://api.weixin.qq.com/cgi-bin/component/api_set_authorizer_option"; - String COMPONENT_LOGIN_PAGE_URL = "https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=%s&pre_auth_code=%s&redirect_uri=%s"; String CONNECT_OAUTH2_AUTHORIZE_URL = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s&component_appid=%s#wechat_redirect"; @@ -87,4 +88,48 @@ public interface WxOpenComponentService { WxMaJscode2SessionResult miniappJscode2Session(String appId, String jsCode) throws WxErrorException; + /** + * 代小程序实现业务 + *
+ * 小程序代码模版库管理:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1506504150_nMMh6&token=&lang=zh_CN
+ * access_token 为 component_access_token
+ */
+ String GET_TEMPLATE_DRAFT_LIST_URL = "https://api.weixin.qq.com/wxa/gettemplatedraftlist";
+ String GET_TEMPLATE_LIST_URL = "https://api.weixin.qq.com/wxa/gettemplatelist";
+ String ADD_TO_TEMPLATE_URL = "https://api.weixin.qq.com/wxa/addtotemplate";
+ String DELETE_TEMPLATE_URL = "https://api.weixin.qq.com/wxa/deletetemplate";
+
+ /**
+ * 获取草稿箱内的所有临时代码草稿
+ *
+ * @return 草稿箱代码模板列表(draftId)
+ * @throws WxErrorException 获取失败时返回,具体错误码请看此接口的注释文档
+ */
+ List>() {
+ }.getType());
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public List
>() {
+ }.getType());
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public void addToTemplate(long draftId) throws WxErrorException {
+ JsonObject param = new JsonObject();
+ param.addProperty("draft_id", draftId);
+ post(ADD_TO_TEMPLATE_URL, param.toString());
+ }
+
+ @Override
+ public void deleteTemplate(long templateId) throws WxErrorException {
+ JsonObject param = new JsonObject();
+ param.addProperty("template_id", templateId);
+ post(DELETE_TEMPLATE_URL, param.toString());
+ }
}
diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenMaCodeTemplate.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenMaCodeTemplate.java
new file mode 100644
index 00000000..be1bb9b1
--- /dev/null
+++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenMaCodeTemplate.java
@@ -0,0 +1,40 @@
+package me.chanjar.weixin.open.bean;
+
+import com.google.gson.annotations.SerializedName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author Charming
+ * @since 2018-04-26 17:10
+ */
+@Data
+public class WxOpenMaCodeTemplate implements Serializable {
+ private static final long serialVersionUID = -3278116984473619010L;
+ /**
+ * 草稿id
+ */
+ @SerializedName(value = "draftId", alternate = "draft_id")
+ private Long draftId;
+ /**
+ * 模版id
+ */
+ @SerializedName(value = "templateId", alternate = "template_id")
+ private Long templateId;
+ /**
+ * 模版版本号,开发者自定义字段
+ */
+ @SerializedName(value = "userVersion", alternate = "user_version")
+ private String userVersion;
+ /**
+ * 模版描述 开发者自定义字段
+ */
+ @SerializedName(value = "userDesc", alternate = "user_desc")
+ private String userDesc;
+ /**
+ * 开发者上传草稿时间 / 被添加为模版的时间
+ */
+ @SerializedName(value = "createTime", alternate = "create_time")
+ private Long createTime;
+}