All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.chanjar.weixin.open.api.impl.WxOpenMaEmbeddedServiceImpl Maven / Gradle / Ivy

There is a newer version: 4.7.1.B
Show newest version
package me.chanjar.weixin.open.api.impl;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.JsonObject;
import lombok.AllArgsConstructor;
import me.chanjar.weixin.common.enums.WxType;
import me.chanjar.weixin.common.error.WxError;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.open.api.WxOpenMaEmbeddedService;
import me.chanjar.weixin.open.bean.result.WxOpenMaEmbeddedListResult;
import org.apache.commons.lang3.StringUtils;

/**
 * 半屏小程序管理服务
 * 
 *   半屏小程序管理
 * 
* * @author Yuan * @version 1.0.0 * @date 2024-12-04 16:55:19 */ @AllArgsConstructor public class WxOpenMaEmbeddedServiceImpl implements WxOpenMaEmbeddedService { private final WxMaService wxMaService; /** * 添加半屏小程序 * * @param embeddedAppId 半屏小程序appId * @param applyReason 申请理由 * @author Yuan * @date 2024-12-04 17:33:33 */ @Override public void addEmbedded(String embeddedAppId, String applyReason) throws WxErrorException { JsonObject params = new JsonObject(); params.addProperty("appid", embeddedAppId); if (StringUtils.isNotBlank(applyReason)) { params.addProperty("apply_reason", applyReason); } String response = wxMaService.post(API_ADD_EMBEDDED, params); WxError wxError = WxError.fromJson(response, WxType.MiniApp); if (wxError.getErrorCode() != 0) { throw new WxErrorException(wxError); } } /** * 删除半屏小程序 * * @param embeddedAppId 半屏小程序appId * @author Yuan * @date 2024-12-04 17:33:33 */ @Override public void deleteEmbedded(String embeddedAppId) throws WxErrorException { JsonObject params = new JsonObject(); params.addProperty("appid", embeddedAppId); String response = wxMaService.post(API_DELETE_EMBEDDED, params); WxError wxError = WxError.fromJson(response, WxType.MiniApp); if (wxError.getErrorCode() != 0) { throw new WxErrorException(wxError); } } /** * 获取半屏小程序调用列表 * * @author Yuan * @date 2024-12-04 17:33:33 */ @Override public WxOpenMaEmbeddedListResult getEmbeddedList() throws WxErrorException { String response = wxMaService.get(API_GET_EMBEDDED_LIST, null); WxError wxError = WxError.fromJson(response, WxType.MiniApp); if (wxError.getErrorCode() != 0) { throw new WxErrorException(wxError); } return WxMaGsonBuilder.create().fromJson(response, WxOpenMaEmbeddedListResult.class); } /** * 取消授权小程序 * * @param embeddedAppId 半屏小程序appId * @author Yuan * @date 2024-12-04 17:33:33 */ @Override public void deleteAuthorizedEmbedded(String embeddedAppId) throws WxErrorException { JsonObject params = new JsonObject(); params.addProperty("appid", embeddedAppId); String response = wxMaService.post(API_DELETE_AUTHORIZED_EMBEDDED, params); WxError wxError = WxError.fromJson(response, WxType.MiniApp); if (wxError.getErrorCode() != 0) { throw new WxErrorException(wxError); } } /** * 获取半屏小程序授权列表 * * @return {@link WxOpenMaEmbeddedListResult } * @author Yuan * @date 2024-12-04 17:33:33 */ @Override public WxOpenMaEmbeddedListResult getOwnList() throws WxErrorException { String response = wxMaService.get(API_GET_OWN_LIST + "?num=1000", null); WxError wxError = WxError.fromJson(response, WxType.MiniApp); if (wxError.getErrorCode() != 0) { throw new WxErrorException(wxError); } return WxMaGsonBuilder.create().fromJson(response, WxOpenMaEmbeddedListResult.class); } /** * 获取半屏小程序授权列表 * * @param start 分页起始值 ,默认值为0 * @param num 一次拉取最大值,最大 1000,默认值为10 * @return {@link WxOpenMaEmbeddedListResult } * @author Yuan * @date 2024-12-04 17:33:33 */ @Override public WxOpenMaEmbeddedListResult getOwnList(Integer start, Integer num) throws WxErrorException { if (null == start) { start = 0; } if (null == num) { num = 10; } if (num > 1000) { num = 1000; } String response = wxMaService.get(API_GET_OWN_LIST + "?start=" + start + "&num=" + num, null); WxError wxError = WxError.fromJson(response, WxType.MiniApp); if (wxError.getErrorCode() != 0) { throw new WxErrorException(wxError); } return WxMaGsonBuilder.create().fromJson(response, WxOpenMaEmbeddedListResult.class); } /** * 设置授权方式 * * @param flag 半屏小程序授权方式。0表示需要管理员验证;1表示自动通过;2表示自动拒绝。 * @author Yuan * @date 2024-12-04 17:33:33 */ @Override public void setAuthorizedEmbedded(Integer flag) throws WxErrorException { JsonObject params = new JsonObject(); params.addProperty("flag", flag); String response = wxMaService.post(API_SET_AUTHORIZED_EMBEDDED, params); WxError wxError = WxError.fromJson(response, WxType.MiniApp); if (wxError.getErrorCode() != 0) { throw new WxErrorException(wxError); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy