微信小程序> 代小程序实现业务之代码管理

代小程序实现业务之代码管理

浏览量:2159 时间: 来源:Mr.caesar

代小程序实现业务之代码管理

本文将描述在公司开发平台实现小程序代码的上传审核,审核结果获取更新及代码的发布流程,详细资料可参阅官方文档代小程序实现业务-代码管理;

小程序第三方平台模板

将小程序授权给第三方平台,授权完成之后,小程序将不能进行小程序代码的上传审核,此时需要第三方平台统一开发管理小程序模板,第三方平台开发小程序模板版本的迭代更新升级;
新版本小程序模板进行提交审核将进入到第三方平台草稿箱中,小程序想要上传发布代码,需将小程序模板添加到小程序模板库中,获取小程序模板id(templateID)配合代码程序实现代码的提交审核及发布

小程序模板草稿箱

小程序

小程序模板库及绑定测试小程序

小程序

代码实现

给指定小程序上传代码

请求参数

小程序

后台接口

/**    * @Description: 小程序上传/提交审核    * @Author: Mr.Jkx    * @Date: 2019/5/11 15:15    */    @RequestMapping("/appletsUploadCheck")    @ResponseBody    public Map<String, String> appletsUploadCheck(TWarrantMerchant tWarrantMerchant) throws IOException {        TPayConfig payConfig = payService.getPayConfig(tWarrantMerchant);        if(null != payConfig){            tWarrantMerchant.setPayConfig("1");        }else{            tWarrantMerchant.setPayConfig("0");        }        Map<String, String> stringStringMap = appletsUploadCheck(tWarrantMerchant);        if(StringUtils.equals("0", stringStringMap.get("errcode"))){            TUser tUser = new TUser();            tUser.setUserId(tWarrantMerchant.getWarrantCreater());            tUser.setTemplateType("1"); // 模板状态;1,已上传;0,未上传;2,审核通过;3,发布成功            int i = userService.updateTemplateType(tUser);            if(i > 0){                LOGGER.info("--------小程序上传/提交审核,数据状态修改-------成功!!!");            }else {                LOGGER.info("--------小程序上传/提交审核,数据状态修改-------失败!!!");            }        }        return stringStringMap;    }
package com.litte.util;import com.google.gson.JsonArray;import com.litte.entity.reception.TWarrantMerchant;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import org.apache.commons.lang.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;import java.util.HashMap;import java.util.Map;/*** @Description: 第三方小程序配置相关* @Author:      Mr.Jkx* @UpdateDate:  2019/5/11 15:29*/public class AppletsConfiguration {    private static final Logger LOGGER = LoggerFactory.getLogger(AppletsConfiguration.class);    // 设置小程序服务器域名    private static final String ACCESS_TOKEN_URL = "https://api.weixin.qq.com/wxa/modify_domain?access_token=TOKEN";    // 设置小程序业务域名(仅供第三方代小程序调用)    private static final String SET_WEBVIEW_DOMAIN = "https://api.weixin.qq.com/wxa/setwebviewdomain?access_token=TOKEN";    // 为授权的小程序帐号上传小程序代码    private static final String APPLETS_CODE_COMMIT = "https://api.weixin.qq.com/wxa/commit?access_token=TOKEN";    // 请求参数模板数据    private static final String DOMAIN_NAME = "https://www.xxx.com";    // 模板id    private static final String TEMPLATE_ID = "14";    // 获取授权小程序帐号已设置的类目    private static final String APPLETS_CATEGORY_URL = "https://api.weixin.qq.com/wxa/get_category?access_token=TOKEN";    // 获取小程序的第三方提交代码的页面配置    private static final String APPLETS_PAGE_URL = "https://api.weixin.qq.com/wxa/get_page?access_token=TOKEN";    // 将第三方提交的代码包提交审核    private static final String SUBMIT_AUDIT_URL = "https://api.weixin.qq.com/wxa/submit_audit?access_token=TOKEN";    // 查询最新一次提交的审核状态    private static final String GET_LATEST_AUDITSTATUS = "https://api.weixin.qq.com/wxa/get_latest_auditstatus?access_token=TOKEN";    // 发布已通过审核的小程序    private static final String APPLETS_RELEASE_URL = "https://api.weixin.qq.com/wxa/release?access_token=TOKEN";    /**     * @Description: 代小程序实现业务     * 参考链接:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1489138143_WPbOO&token=52693293ec662d6feb87eb805f97c1fc23c80c50&lang=zh_CN    * @Author: Mr.Jkx     * @Date: 2019/5/11 15:29    */    public static Map<String, String> appletsUploadCheck(TWarrantMerchant tWarrantMerchant) throws IOException {        HashMap<String, String> AppletsDomainNameMap = new HashMap<>();        // 设置小程序服务器域名        HashMap<String, String> domainNameMap = domainNameConfiguration(tWarrantMerchant);        if(!StringUtils.equals("85017", domainNameMap.get("errcode")) && !StringUtils.equals("0", domainNameMap.get("errcode"))){            return domainNameMap;        }        // 设置小程序业务域名(仅供第三方代小程序调用)        HashMap<String, String> businessDomainMap = businessDomainConfiguration(tWarrantMerchant);        if(!StringUtils.equals("0", businessDomainMap.get("errcode"))){            return businessDomainMap;        }        // 为授权的小程序帐号上传小程序代码        HashMap<String, String> appletsCodeCommitMap = appletsCodeCommit(tWarrantMerchant);        if(!StringUtils.equals("0", appletsCodeCommitMap.get("errcode"))){            return appletsCodeCommitMap;        }        // 获取授权小程序帐号已设置的类目        HashMap<String, String> submitAuditMap = appletsSubmitAudit(tWarrantMerchant);        if("0" != submitAuditMap.get("errcode")){            return submitAuditMap;        }        AppletsDomainNameMap.put("errcode", "0");        AppletsDomainNameMap.put("errmsg", "SUCCESS");        return AppletsDomainNameMap;    }    /**     * @Description: 设置小程序服务器域名    * @Author: Mr.Jkx     * @Date: 2019/5/11 19:22    */     public static HashMap<String, String> domainNameConfiguration(TWarrantMerchant tWarrantMerchant) throws IOException {        HashMap<String, String> domainNameMap = new HashMap<>();        JsonArray requestdomainArray = new JsonArray();        // 不要删除这里就是两个参数        requestdomainArray.add(DOMAIN_NAME);        requestdomainArray.add(DOMAIN_NAME);        JSONObject json = new JSONObject();        json.accumulate("action", "add");        json.accumulate("requestdomain", requestdomainArray.toString());        json.accumulate("wsrequestdomain", requestdomainArray.toString());        json.accumulate("uploaddomain", requestdomainArray.toString());        json.accumulate("downloaddomain", requestdomainArray.toString());        /**发送Https请求到微信*/        String url = ACCESS_TOKEN_URL.replace("TOKEN", tWarrantMerchant.getAuthorizerAccessToken());        LOGGER.info("==========设置小程序服务器域名=====请求参数{}", json.toString());        JSONObject retStr = WinxinUtil.doPostStr(url, json.toString());        LOGGER.info("==========设置小程序服务器域名=====回执参数{}", retStr);        JSONObject retJSONObject = JSONObject.fromObject(retStr);        domainNameMap.put("errcode", retJSONObject.getString("errcode"));        domainNameMap.put("errmsg", retJSONObject.getString("errmsg"));        return domainNameMap;    }    /**     * @Description: 设置小程序业务域名(仅供第三方代小程序调用)    * @Author: Mr.Jkx     * @Date: 2019/5/11 19:27    */     public static HashMap<String, String> businessDomainConfiguration(TWarrantMerchant tWarrantMerchant) throws IOException {        HashMap<String, String>  businessDomainMap = new HashMap<>();        JsonArray requestdomainArray = new JsonArray();        requestdomainArray.add(DOMAIN_NAME);        requestdomainArray.add(DOMAIN_NAME);        JSONObject json = new JSONObject();        json.accumulate("action", "add");        json.accumulate("webviewdomain", requestdomainArray.
              
              
            

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎