@@ -3,6 +3,7 @@ package me.chanjar.weixin.open.api; | |||||
import cn.binarywang.wx.miniapp.api.WxMaService; | import cn.binarywang.wx.miniapp.api.WxMaService; | ||||
import me.chanjar.weixin.common.error.WxErrorException; | import me.chanjar.weixin.common.error.WxErrorException; | ||||
import me.chanjar.weixin.open.bean.ma.WxMaOpenCommitExtInfo; | import me.chanjar.weixin.open.bean.ma.WxMaOpenCommitExtInfo; | ||||
import me.chanjar.weixin.open.bean.ma.WxOpenMaApplyInterface; | |||||
import me.chanjar.weixin.open.bean.message.WxOpenMaSubmitAuditMessage; | import me.chanjar.weixin.open.bean.message.WxOpenMaSubmitAuditMessage; | ||||
import me.chanjar.weixin.open.bean.result.*; | import me.chanjar.weixin.open.bean.result.*; | ||||
@@ -230,6 +231,20 @@ public interface WxOpenMaService extends WxMaService { | |||||
String API_SPEED_AUDIT = "https://api.weixin.qq.com/wxa/speedupaudit"; | String API_SPEED_AUDIT = "https://api.weixin.qq.com/wxa/speedupaudit"; | ||||
/** | |||||
* 从2022年4月18日开始,部分小程序前端api需申请后,方可使用。该接口用于获取“需申请并审核通过”后才可使用的接口列表。 | |||||
* | |||||
*/ | |||||
String API_GET_PRIVACY_INTERFACE = "https://api.weixin.qq.com/wxa/security/get_privacy_interface"; | |||||
/** | |||||
* 从2022年4月18日开始,部分小程序前端api需申请后,方可使用。该接口用于发起申请使用部分小程序前端api。发起申请后可通过get_privacy_interface查看审核状态。 | |||||
* 每个接口都有类目要求,申请之前建议先阅读api原文,详细查看类目要求。 | |||||
* | |||||
*/ | |||||
String API_APPLY_PRIVACY_INTERFACE = "https://api.weixin.qq.com/wxa/security/apply_privacy_interface"; | |||||
/** | /** | ||||
* 获得小程序的域名配置信息 | * 获得小程序的域名配置信息 | ||||
*/ | */ | ||||
@@ -483,4 +498,18 @@ public interface WxOpenMaService extends WxMaService { | |||||
* @return 小程序用户隐私保护指引服务 | * @return 小程序用户隐私保护指引服务 | ||||
*/ | */ | ||||
WxOpenMaPrivacyService getPrivacyService(); | WxOpenMaPrivacyService getPrivacyService(); | ||||
/** | |||||
*从2022年4月18日开始,部分小程序前端api需申请后,方可使用。该接口用于获取“需申请并审核通过”后才可使用的接口列表。 | |||||
* | |||||
*/ | |||||
WxOpenMaInterfaceListResult getPrivacyInterface() throws WxErrorException; | |||||
/** | |||||
* 申请接口 | |||||
* 从2022年4月18日开始,部分小程序前端api需申请后,方可使用。该接口用于发起申请使用部分小程序前端api。发起申请后可通过get_privacy_interface查看审核状态。 | |||||
* 每个接口都有类目要求,申请之前建议先阅读api原文,详细查看类目要求。 | |||||
* | |||||
*/ | |||||
WxOpenResult addCategory(WxOpenMaApplyInterface applyInterface) throws WxErrorException; | |||||
} | } |
@@ -13,6 +13,7 @@ import me.chanjar.weixin.open.api.WxOpenMaPrivacyService; | |||||
import me.chanjar.weixin.open.api.WxOpenMaService; | import me.chanjar.weixin.open.api.WxOpenMaService; | ||||
import me.chanjar.weixin.open.bean.ma.WxMaOpenCommitExtInfo; | import me.chanjar.weixin.open.bean.ma.WxMaOpenCommitExtInfo; | ||||
import me.chanjar.weixin.open.bean.ma.WxMaQrcodeParam; | import me.chanjar.weixin.open.bean.ma.WxMaQrcodeParam; | ||||
import me.chanjar.weixin.open.bean.ma.WxOpenMaApplyInterface; | |||||
import me.chanjar.weixin.open.bean.message.WxOpenMaSubmitAuditMessage; | import me.chanjar.weixin.open.bean.message.WxOpenMaSubmitAuditMessage; | ||||
import me.chanjar.weixin.open.bean.result.*; | import me.chanjar.weixin.open.bean.result.*; | ||||
import me.chanjar.weixin.open.executor.MaQrCodeRequestExecutor; | import me.chanjar.weixin.open.executor.MaQrCodeRequestExecutor; | ||||
@@ -630,6 +631,18 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ | |||||
return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class); | return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class); | ||||
} | } | ||||
@Override | |||||
public WxOpenMaInterfaceListResult getPrivacyInterface() throws WxErrorException { | |||||
String response = get(API_GET_PRIVACY_INTERFACE, null); | |||||
return WxMaGsonBuilder.create().fromJson(response, WxOpenMaInterfaceListResult.class); | |||||
} | |||||
@Override | |||||
public WxOpenResult addCategory(WxOpenMaApplyInterface applyPrivacyInterface) throws WxErrorException { | |||||
String response = post(API_APPLY_PRIVACY_INTERFACE, applyPrivacyInterface); | |||||
return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class); | |||||
} | |||||
/** | /** | ||||
* 将字符串对象转化为GsonArray对象 | * 将字符串对象转化为GsonArray对象 | ||||
* | * | ||||
@@ -0,0 +1,40 @@ | |||||
package me.chanjar.weixin.open.bean.ma; | |||||
import com.google.gson.annotations.SerializedName; | |||||
import lombok.Data; | |||||
import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder; | |||||
import java.io.Serializable; | |||||
import java.util.List; | |||||
/** | |||||
* 微信小程序前段API. | |||||
* | |||||
* @author yqx | |||||
* @date 2018/9/13 | |||||
*/ | |||||
@Data | |||||
public class WxOpenMaApplyInterface implements Serializable { | |||||
private static final long serialVersionUID = -2054964740942100351L; | |||||
@SerializedName("api_name") | |||||
private Integer apiName; | |||||
@SerializedName("owner_setting") | |||||
private String content; | |||||
@SerializedName("url_list") | |||||
private List<String> urlList; | |||||
@SerializedName("pic_list") | |||||
private List<String> picList; | |||||
@SerializedName("video_list") | |||||
private List<String> videoList; | |||||
@Override | |||||
public String toString() { | |||||
return WxOpenGsonBuilder.create().toJson(this); | |||||
} | |||||
} |
@@ -0,0 +1,59 @@ | |||||
package me.chanjar.weixin.open.bean.ma; | |||||
import com.google.gson.annotations.SerializedName; | |||||
import lombok.Data; | |||||
import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder; | |||||
import java.io.Serializable; | |||||
/** | |||||
* 微信小程序前段API. | |||||
* | |||||
* @author yqx | |||||
* @date 2018/9/13 | |||||
*/ | |||||
@Data | |||||
public class WxOpenMaInterface implements Serializable { | |||||
private static final long serialVersionUID = 5144162852271559768L; | |||||
@SerializedName("api_name") | |||||
private String apiName; | |||||
@SerializedName("api_ch_name") | |||||
private String apiChName; | |||||
@SerializedName("api_desc") | |||||
private String apiDesc; | |||||
@SerializedName("apply_time") | |||||
private Long applyTime; | |||||
/** | |||||
* 状态码 说明 | |||||
* 1 待申请开通 | |||||
* 2 无权限 | |||||
* 3 申请中 | |||||
* 4 申请失败 | |||||
* 5 已开通 | |||||
*/ | |||||
@SerializedName("status") | |||||
private Integer status; | |||||
@SerializedName("audit_id") | |||||
private Long auditId; | |||||
@SerializedName("fail_reason") | |||||
private String failReason; | |||||
@SerializedName("api_link") | |||||
private String apiLink; | |||||
@SerializedName("group_name") | |||||
private String groupName; | |||||
@Override | |||||
public String toString() { | |||||
return WxOpenGsonBuilder.create().toJson(this); | |||||
} | |||||
} |
@@ -0,0 +1,31 @@ | |||||
package me.chanjar.weixin.open.bean.result; | |||||
import com.google.gson.annotations.SerializedName; | |||||
import lombok.Data; | |||||
import lombok.EqualsAndHashCode; | |||||
import me.chanjar.weixin.open.bean.ma.WxOpenMaInterface; | |||||
import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder; | |||||
import java.util.List; | |||||
/** | |||||
* 微信开放平台小程序前段API.列表返回 | |||||
* | |||||
* @author yqx | |||||
* @date 2018/9/12 | |||||
*/ | |||||
@Data | |||||
@EqualsAndHashCode(callSuper = true) | |||||
public class WxOpenMaInterfaceListResult extends WxOpenResult { | |||||
private static final long serialVersionUID = 1794866720881151955L; | |||||
@SerializedName("interface_list") | |||||
List<WxOpenMaInterface> interfaceList; | |||||
@Override | |||||
public String toString() { | |||||
return WxOpenGsonBuilder.create().toJson(this); | |||||
} | |||||
} |