xujunwei 3 лет назад
Родитель
Сommit
678b0e0a9c

+ 9 - 0
framework-common/src/main/java/com/mrxu/framework/common/weixin/api/ComponentDeployApi.java

@@ -0,0 +1,9 @@
+package com.mrxu.framework.common.weixin.api;
+
+// 发布指定小程序相关接口
+// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/commit.html
+public class ComponentDeployApi {
+
+    //  todo
+
+}

+ 57 - 0
framework-common/src/main/java/com/mrxu/framework/common/weixin/api/ComponentTemplateApi.java

@@ -0,0 +1,57 @@
+package com.mrxu.framework.common.weixin.api;
+
+import com.alibaba.fastjson.JSONObject;
+import com.mrxu.framework.common.weixin.base.WxHttp;
+import com.mrxu.framework.common.weixin.base.WxResult;
+import com.mrxu.framework.common.weixin.bean.TemplateDraftList;
+import com.mrxu.framework.common.weixin.bean.TemplateList;
+
+// 小程序发布模板相关api
+// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/gettemplatedraftlist.html
+public class ComponentTemplateApi {
+
+    // 获取代码草稿列表
+    private static String get_draft = "https://api.weixin.qq.com/wxa/gettemplatedraftlist?access_token=";
+    // 将草稿添加到代码模板库
+    private static String addtotemplate = "https://api.weixin.qq.com/wxa/addtotemplate?access_token=";
+    // 获取代码模板列表
+    private static String gettemplatelist = "https://api.weixin.qq.com/wxa/gettemplatelist?access_token=";
+    // 删除指定代码模板
+    private static String deletetemplate = "https://api.weixin.qq.com/wxa/deletetemplate?access_token=";
+
+    // 第一步 获取代码草稿列表
+    // https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/gettemplatedraftlist.html
+    public static TemplateDraftList getComponentToken(String componentAccessToken) {
+        TemplateDraftList rs = WxHttp.get(TemplateDraftList.class,get_draft+componentAccessToken,null);
+        return rs;
+    }
+
+    // 第二步 将草稿添加到代码模板库
+    // https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/gettemplatelist.html
+    public static WxResult addToTemplate(String componentAccessToken, String draftId) {
+        JSONObject json = new JSONObject();
+        json.put("draft_id", draftId);
+        // 默认值是0,对应普通模板;可选1,对应标准模板库,关于标准模板库和普通模板库的区别可以查看小程序模板库介绍
+        json.put("template_type", 0);
+        WxResult rs = WxHttp.post(WxResult.class,addtotemplate+componentAccessToken,json);
+        return rs;
+    }
+
+    // 第三步 获取代码模板列表
+    // https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/gettemplatedraftlist.html
+    public static TemplateList getTemplateList(String componentAccessToken) {
+        TemplateList rs = WxHttp.get(TemplateList.class,gettemplatelist+componentAccessToken,null);
+        return rs;
+    }
+
+    // 删除指定代码模板
+    // 因为代码模板库的模板数量是有上限的,当达到上限或者有某个模板不再需要时,可以调用本接口删除指定的代码模板。使用过程中如遇到问题,可在开放平台服务商专区发帖交流。
+    // https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/deletetemplate.html
+    public static WxResult deleteTemplate(String componentAccessToken, String templateId) {
+        JSONObject json = new JSONObject();
+        json.put("template_id", templateId);
+        WxResult rs = WxHttp.post(WxResult.class,deletetemplate+componentAccessToken,json);
+        return rs;
+    }
+
+}

+ 18 - 0
framework-common/src/main/java/com/mrxu/framework/common/weixin/bean/Category.java

@@ -0,0 +1,18 @@
+package com.mrxu.framework.common.weixin.bean;
+
+import lombok.Data;
+
+// 标准模板的类目信息;如果是普通模板则值为空的数组
+@Data
+public class Category {
+
+    // 一级类目
+    private String first_class;
+    // 一级类目id
+    private int first_id;
+    // 二级类目
+    private String second_class;
+    // 二级类目id
+    private int second_id;
+
+}

+ 34 - 0
framework-common/src/main/java/com/mrxu/framework/common/weixin/bean/Template.java

@@ -0,0 +1,34 @@
+package com.mrxu.framework.common.weixin.bean;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+
+// 开发平台代码模板
+@Data
+public class Template {
+
+    // 被添加为模板的时间
+    private int create_time;
+    // 模板版本号,开发者自定义字段
+    private String user_version;
+    // 模板描述,开发者自定义字段
+    private String user_desc;
+    // 模板 id
+    private int template_id;
+    // 0对应普通模板,1对应标准模板
+    private int template_type;
+    // 开发小程序的appid
+    private String source_miniprogram_appid;
+    // 开发小程序的名称
+    private String source_miniprogram;
+    // 标准模板的类目信息;如果是普通模板则值为空的数组
+    private ArrayList<Category> category_list;
+    // 标准模板的场景标签;普通模板不返回该值
+    private int audit_scene;
+    // 标准模板的审核状态;普通模板不返回该值
+    private int audit_status;
+    // 标准模板的审核驳回的原因,;普通模板不返回该值
+    private String reason;
+
+}

+ 17 - 0
framework-common/src/main/java/com/mrxu/framework/common/weixin/bean/TemplateDraft.java

@@ -0,0 +1,17 @@
+package com.mrxu.framework.common.weixin.bean;
+
+import lombok.Data;
+
+// 开发平台代码草稿
+@Data
+public class TemplateDraft {
+
+    // 开发者上传草稿时间戳
+    private int create_time;
+    // 版本号,开发者自定义字段
+    private String user_version;
+    // 版本描述   开发者自定义字段
+    private String user_desc;
+    // 草稿 id
+    private int draft_id;
+}

+ 14 - 0
framework-common/src/main/java/com/mrxu/framework/common/weixin/bean/TemplateDraftList.java

@@ -0,0 +1,14 @@
+package com.mrxu.framework.common.weixin.bean;
+
+import com.mrxu.framework.common.weixin.base.WxResult;
+import lombok.Data;
+
+import java.util.ArrayList;
+
+// 开发平台代码草稿列表
+@Data
+public class TemplateDraftList extends WxResult {
+
+    private ArrayList<TemplateDraft> draft_list;
+
+}

+ 14 - 0
framework-common/src/main/java/com/mrxu/framework/common/weixin/bean/TemplateList.java

@@ -0,0 +1,14 @@
+package com.mrxu.framework.common.weixin.bean;
+
+import com.mrxu.framework.common.weixin.base.WxResult;
+import lombok.Data;
+
+import java.util.ArrayList;
+
+// 开发平台代码模板
+@Data
+public class TemplateList extends WxResult {
+
+    private ArrayList<Template> template_list;
+
+}