🎨 优化小程序接口注释文档

This commit is contained in:
Binary Wang
2025-07-02 09:59:29 +08:00
parent cc344f105e
commit 4731479b93

View File

@ -16,7 +16,7 @@ import me.chanjar.weixin.common.util.http.RequestExecutor;
import me.chanjar.weixin.common.util.http.RequestHttp;
/**
* The interface Wx ma service.
* 微信小程序主服务接口,定义了所有小程序相关的核心操作方法。
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
@ -37,115 +37,101 @@ public interface WxMaService extends WxService {
String SET_DYNAMIC_DATA_URL = "https://api.weixin.qq.com/wxa/setdynamicdata";
/**
* 获取登录后的session信息.
* 获取登录后的 session 信息
*
* @param jsCode 登录时获取的 code
* @return the wx ma jscode 2 session result
* @throws WxErrorException the wx error exception
* @param jsCode 登录时获取的 code
* @return 登录 session 结果对象
* @throws WxErrorException 调用微信接口失败时抛出
*/
WxMaJscode2SessionResult jsCode2SessionInfo(String jsCode) throws WxErrorException;
/**
* 导入抽样数据
*
* <pre>
* 导入抽样数据到微信后台,用于流量分配。
* 第三方通过调用微信API将数据写入到setdynamicdata这个API。每个Post数据包不超过5K若数据过多可开多进线程并发导入数据例如数据量为十万量级可以开50个线程并行导数据
* 文档地址https://wsad.weixin.qq.com/wsad/zh_CN/htmledition/widget-docs-v3/html/custom/quickstart/implement/import/index.html
* http请求方式POST http(s)://api.weixin.qq.com/wxa/setdynamicdata?access_token=ACCESS_TOKEN
* </pre>
*
* @param lifespan 数据有效时间秒为单位一般为86400一天一次导入的频率
* @param type 用于标识数据所属服务类目
* @param scene 1代表用于搜索的数据
* @param data 推送到微信后台的数据列表该数据被微信用于流量分配注意该字段为string类型而不是object
* @throws WxErrorException .
* @param lifespan 数据有效时间(秒),如 86400 表示一天
* @param type 数据所属服务类目标识
* @param scene 场景值1 代表用于搜索的数据
* @param data 推送到微信后台的数据列表(字符串类型)
* @throws WxErrorException 调用微信接口失败时抛出
*/
void setDynamicData(int lifespan, String type, int scene, String data) throws WxErrorException;
/**
*
*
* <pre>
* 验证消息的确来自微信服务器.
* 校验消息是否来自微信服务器。
* 详情请见: http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319&token=&lang=zh_CN
* </pre>
*
* @param timestamp the timestamp
* @param nonce the nonce
* @param signature the signature
* @return the boolean
* @param timestamp 时间戳
* @param nonce 随机数
* @param signature 签名字符串
* @return 校验通过返回 true否则返回 false
*/
boolean checkSignature(String timestamp, String nonce, String signature);
/**
* 获取access_token, 不强制刷新access_token.
* 获取 access_token不强制刷新
*
* @return the access token
* @throws WxErrorException the wx error exception
* @see #getAccessToken(boolean) #getAccessToken(boolean)
* @return access_token 字符串
* @throws WxErrorException 调用微信接口失败时抛出
* @see #getAccessToken(boolean)
*/
String getAccessToken() throws WxErrorException;
/**
* 获取 access_token本方法线程安全。多线程同时刷新时只刷新一次避免超出调用次数上限。
* 一般无需主动调用,所有接口会自动处理 token 过期。
* 详情见http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183&token=&lang=zh_CN
*
*
* <pre>
* 获取access_token本方法线程安全.
* 且在多线程同时刷新时只刷新一次避免超出2000次/日的调用次数上限
*
* 另本service的所有方法都会在access_token过期是调用此方法
*
* 程序员在非必要情况下尽量不要主动调用此方法
*
* 详情请见: http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183&token=&lang=zh_CN
* </pre>
*
* @param forceRefresh 强制刷新
* @return the access token
* @throws WxErrorException the wx error exception
* @param forceRefresh 是否强制刷新
* @return access_token 字符串
* @throws WxErrorException 调用微信接口失败时抛出
*/
String getAccessToken(boolean forceRefresh) throws WxErrorException;
/**
*
*
* <pre>
* 用户支付完成后,获取该用户的 UnionId无需用户授权。本接口支持第三方平台代理查询。
*
* 注意:调用前需要用户完成支付,且在支付后的五分钟内有效。
* 请求地址: GET https://api.weixin.qq.com/wxa/getpaidunionid?access_token=ACCESS_TOKEN&openid=OPENID
* 文档地址https://developers.weixin.qq.com/miniprogram/dev/api/getPaidUnionId.html
* </pre>
* 文档https://developers.weixin.qq.com/miniprogram/dev/api/getPaidUnionId.html
*
* @param openid 必填 支付用户唯一标识
* @param transactionId 非必填 微信支付订单号
* @param mchId 非必填 微信支付分配的商户号,商户订单号配合使用
* @param outTradeNo 非必填 微信支付商户订单号,商户号配合使用
* @return UnionId. paid union id
* @throws WxErrorException .
* @param openid 支付用户唯一标识(必填)
* @param transactionId 微信支付订单号(可选)
* @param mchId 微信支付分配的商户号,商户订单号配合使用(可选)
* @param outTradeNo 微信支付商户订单号,商户号配合使用(可选)
* @return 用户的 UnionId
* @throws WxErrorException 调用微信接口失败时抛出
*/
String getPaidUnionId(String openid, String transactionId, String mchId, String outTradeNo)
throws WxErrorException;
/**
* 执行自定义的微信API请求。
* <br>
* Service没有实现某个API的时候可以用这个方法比{@link #get}和{@link #post}方法更灵活可以自己构造RequestExecutor用来处理不同的参数和不同的返回类型。
* 可以参考 {@link MediaUploadRequestExecutor} 的实现方法。
*
*
* <pre>
* Service没有实现某个API的时候可以用这个
* 比{@link #get}和{@link #post}方法更灵活可以自己构造RequestExecutor用来处理不同的参数和不同的返回类型。
* 可以参考,{@link MediaUploadRequestExecutor}的实现方法
* </pre>
*
* @param <T> .
* @param <E> .
* @param executor 执行器
* @param uri 接口请求地址
* @param data 参数或请求数据
* @return . t
* @throws WxErrorException the wx error exception
* @param <T> 返回的数据类型
* @param <E> 请求参数的数据类型
* @param executor 执行器对象
* @param uri 接口请求地址
* @param data 请求参数或数据
* @return 微信接口返回的数据对象
* @throws WxErrorException 微信接口调用异常
*/
<T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException;
/**
* 执行带有签名的微信API请求。
*
* @param executor 签名请求执行器
* @param uri 接口请求地址
* @param headers 请求头信息
* @param data 请求数据
* @return 微信接口响应对象
* @throws WxErrorException 微信接口调用异常
*/
WxMaApiResponse execute(
ApiSignaturePostRequestExecutor<?, ?> executor,
String uri,
@ -154,446 +140,462 @@ public interface WxMaService extends WxService {
throws WxErrorException;
/**
* 设置微信系统繁忙时的重试等待时间(毫秒)。
*
*
* <pre>
* 设置当微信系统响应系统繁忙时,要等待多少 retrySleepMillis(ms) * 2^(重试次数 - 1) 再发起重试.
* 默认1000ms
* </pre>
*
* @param retrySleepMillis 重试等待毫秒数
* @param retrySleepMillis 重试等待的毫秒数默认1000ms
*/
void setRetrySleepMillis(int retrySleepMillis);
/**
* 设置微信系统繁忙时的最大重试次数。
*
*
* <pre>
* 设置当微信系统响应系统繁忙时,最大重试次数.
* 默认5次
* </pre>
*
* @param maxRetryTimes 最大重试次数
* @param maxRetryTimes 最大重试次数默认5次
*/
void setMaxRetryTimes(int maxRetryTimes);
/**
* 获取WxMaConfig 对象.
* 获取当前小程序的配置信息对象
*
* @return WxMaConfig wx ma config
* @return 当前小程序的WxMaConfig配置对象
*/
WxMaConfig getWxMaConfig();
/**
* 注入 {@link WxMaConfig} 的实现.
* 注入小程序配置信息。
*
* @param maConfig config
* @param maConfig 小程序配置信息对象
*/
void setWxMaConfig(WxMaConfig maConfig);
/**
* Map里 加入新的 {@link WxMaConfig},适用于动态添加新的微信公众号配置.
* 动态添加新的小程序配置信息。
*
* @param miniappId 小程序标识
* @param configStorage 新的微信配置
* @param miniappId 小程序唯一标识
* @param configStorage 新的小程序配置信息
*/
void addConfig(String miniappId, WxMaConfig configStorage);
/**
* 从 Map中 移除 {@link String miniappId} 所对应的 {@link WxMaConfig},适用于动态移除小程序配置.
* 动态移除指定小程序配置信息。
*
* @param miniappId 对应小程序标识
* @param miniappId 小程序唯一标识
*/
void removeConfig(String miniappId);
/**
* 注入多个 {@link WxMaConfig} 的实现. 并为每个 {@link WxMaConfig} 赋予不同的 {@link String mpId} 值 随机采用一个{@link
* String mpId}进行Http初始化操作
* 批量注入多个小程序配置信息。
*
* @param configs WxMaConfig map
* @param configs 小程序配置Mapkey为小程序标识
*/
void setMultiConfigs(Map<String, WxMaConfig> configs);
/**
* 注入多个 {@link WxMaConfig} 的实现. 并为每个 {@link WxMaConfig} 赋予不同的 {@link String label} 值
* 批量注入多个小程序配置信息,并指定默认小程序。
*
* @param configs WxMaConfig map
* @param defaultMiniappId 设置一个{@link WxMaConfig} 所对应的{@link String defaultMiniappId}进行Http初始化
* @param configs 小程序配置Mapkey为小程序标识
* @param defaultMiniappId 默认小程序标识
*/
void setMultiConfigs(Map<String, WxMaConfig> configs, String defaultMiniappId);
/**
* 进行相应的公众号切换.
* 切换到指定公众号。
*
* @param mpId 公众号标识
* @return 切换是否成功 boolean
* @param mpId 公众号标识
* @return 切换是否成功true为成功false为失败
*/
boolean switchover(String mpId);
/**
* 进行相应的小程序切换.
* 切换到指定小程序。
*
* @param miniAppId 小程序标识
* @return 切换成功 则返回当前对象,方便链式调用,否则抛出异常
* @param miniAppId 小程序标识
* @return 切换成功则返回当前对象,方便链式调用,否则抛出异常
*/
WxMaService switchoverTo(String miniAppId);
/**
* 进行相应的小程序切换.
* 切换到指定小程序,并在配置不存在时通过函数获取配置。
*
* @param miniAppId 小程序标识
* @param func 当对应的小程序配置不存在时,允许通过函数的方式进行调用获取
* @return 切换成功 则返回当前对象,方便链式调用,否则抛出异常
* @param miniAppId 小程序标识
* @param func 获取配置的函数
* @return 切换成功则返回当前对象,方便链式调用,否则抛出异常
*/
WxMaService switchoverTo(String miniAppId, Function<String, WxMaConfig> func);
/**
* 返回消息(客服消息和模消息)发送接口方法实现类,以方便调用其各个接口.
* 获取消息(客服消息和模消息)发送服务对象。
*
* @return WxMaMsgService msg service
* @return 消息服务对象WxMaMsgService
*/
WxMaMsgService getMsgService();
/**
* 返回素材相关接口方法的实现类对象,以方便调用其各个接口.
* 获取素材相关服务对象。
*
* @return WxMaMediaService media service
* @return 素材服务对象WxMaMediaService
*/
WxMaMediaService getMediaService();
/**
* 返回用户相关接口方法的实现类对象,以方便调用其各个接口.
* 获取用户相关服务对象。
*
* @return WxMaUserService user service
* @return 用户服务对象WxMaUserService
*/
WxMaUserService getUserService();
/**
* 返回二维码相关接口方法的实现类对象,以方便调用其各个接口.
* 获取二维码相关服务对象。
*
* @return WxMaQrcodeService qrcode service
* @return 二维码服务对象WxMaQrcodeService
*/
WxMaQrcodeService getQrcodeService();
/**
* 返回获取小程序scheme码实现对象,以方便调用其各个接口.
* 获取小程序scheme码服务对象。
*
* @return WxMaSchemeService wx ma scheme service
* @return scheme码服务对象WxMaSchemeService
*/
WxMaSchemeService getWxMaSchemeService();
/**
* 返回订阅消息配置相关接口方法的实现类对象, 以方便调用其各个接口.
* 获取订阅消息配置相关服务对象。
*
* @return WxMaSubscribeService subscribe service
* @return 订阅消息服务对象WxMaSubscribeService
*/
WxMaSubscribeService getSubscribeService();
/**
* 数据分析相关查询服务.
* 获取数据分析相关服务对象。
*
* @return WxMaAnalysisService analysis service
* @return 数据分析服务对象WxMaAnalysisService
*/
WxMaAnalysisService getAnalysisService();
/**
* 返回代码操作相关的 API.
* 获取代码操作相关服务对象。
*
* @return WxMaCodeService code service
* @return 代码服务对象WxMaCodeService
*/
WxMaCodeService getCodeService();
/**
* 返回jsapi操作相关的 API服务对象.
* 获取jsapi操作相关服务对象
*
* @return WxMaJsapiService jsapi service
* @return jsapi服务对象WxMaJsapiService
*/
WxMaJsapiService getJsapiService();
/**
* 小程序修改服务器地址、成员管理 API.
* 获取小程序服务器地址、成员管理相关服务对象。
*
* @return WxMaSettingService setting service
* @return 设置服务对象WxMaSettingService
*/
WxMaSettingService getSettingService();
/**
* 返回分享相关查询服务.
* 获取分享相关服务对象。
*
* @return WxMaShareService share service
* @return 分享服务对象WxMaShareService
*/
WxMaShareService getShareService();
/**
* 返回微信运动相关接口服务对象.
* 获取微信运动相关服务对象
*
* @return WxMaShareService run service
* @return 微信运动服务对象WxMaRunService
*/
WxMaRunService getRunService();
/**
* 返回小程序安全相关接口服务对象.
* 获取小程序安全相关服务对象
*
* @return WxMaShareService sec check service
* @return 安全服务对象WxMaSecurityService
*/
WxMaSecurityService getSecurityService();
/**
* 返回插件相关接口服务对象.
* 获取插件相关服务对象
*
* @return WxMaPluginService plugin service
* @return 插件服务对象WxMaPluginService
*/
WxMaPluginService getPluginService();
/** 初始化http请求对象. */
/**
* 初始化http请求对象。
*/
void initHttp();
/**
* 请求http请求相关信息.
* 获取http请求相关信息
*
* @return . request http
* @return http请求对象RequestHttp
*/
RequestHttp<?, ?> getRequestHttp();
/**
* 获取物流助手接口服务对象
* 获取物流助手接口服务对象
*
* @return . express service
* @return 物流助手服务对象WxMaExpressService
*/
WxMaExpressService getExpressService();
/**
* 获取云开发接口服务对象
* 获取云开发接口服务对象
*
* @return . cloud service
* @return 云开发服务对象WxMaCloudService
*/
WxMaCloudService getCloudService();
/**
* 获取服务端网络接口服务对象
* 获取服务端网络接口服务对象
*
* @return 。internet service
* @return 网络服务对象WxMaInternetService
*/
WxMaInternetService getInternetService();
/**
* 获取直播接口服务对象
* 获取直播接口服务对象
*
* @return . live service
* @return 直播服务对象WxMaLiveService
*/
WxMaLiveService getLiveService();
/**
* 获取直播间商品服务对象
* 获取直播间商品服务对象
*
* @return . live goods service
* @return 直播商品服务对象WxMaLiveGoodsService
*/
WxMaLiveGoodsService getLiveGoodsService();
/**
* 获取直播成员管理接口服务对象
* 获取直播成员管理接口服务对象
*
* @return . live service
* @return 直播成员服务对象WxMaLiveMemberService
*/
WxMaLiveMemberService getLiveMemberService();
/**
* 获取ocr实现接口服务对象
* 获取OCR实现接口服务对象
*
* @return
* @return OCR服务对象WxOcrService
*/
WxOcrService getOcrService();
/**
* 返回图像处理接口的实现类对象,以方便调用其各个接口.
* 获取图像处理接口服务对象。
*
* @return WxImgProcService img proc service
* @return 图像处理服务对象WxImgProcService
*/
WxImgProcService getImgProcService();
/**
* 返回小程序交易组件-售后服务接口
* 获取小程序交易组件-售后服务接口服务对象。
*
* @return
* @return 售后服务对象WxMaShopAfterSaleService
*/
WxMaShopAfterSaleService getShopAfterSaleService();
/**
* 返回小程序交易组件-物流服务接口
* 获取小程序交易组件-物流服务接口服务对象。
*
* @return
* @return 物流服务对象WxMaShopDeliveryService
*/
WxMaShopDeliveryService getShopDeliveryService();
/**
* 返回小程序交易组件-订单服务接口
* 获取小程序交易组件-订单服务接口服务对象。
*
* @return
* @return 订单服务对象WxMaShopOrderService
*/
WxMaShopOrderService getShopOrderService();
/**
* 返回小程序交易组件-spu商品服务接口
* 获取小程序交易组件-spu商品服务接口服务对象。
*
* @return
* @return spu商品服务对象WxMaShopSpuService
*/
WxMaShopSpuService getShopSpuService();
/**
* 返回小程序交易组件-接入申请接口
* 获取小程序交易组件-接入申请接口服务对象。
*
* @return
* @return 接入申请服务对象WxMaShopRegisterService
*/
WxMaShopRegisterService getShopRegisterService();
/**
* 返回小程序交易组件-商户入驻接口
* 获取小程序交易组件-商户入驻接口服务对象。
*
* @return
* @return 商户入驻服务对象WxMaShopAccountService
*/
WxMaShopAccountService getShopAccountService();
/**
* 小程序交易组件-接入商品前必需接口-类目相关
* 获取小程序交易组件-类目相关接口服务对象。
*
* @return
* @return 类目服务对象WxMaShopCatService
*/
WxMaShopCatService getShopCatService();
/**
* 小程序交易组件-接入商品前必需接口-上传图片
* 获取小程序交易组件-上传图片接口服务对象。
*
* @return
* @return 图片服务对象WxMaShopImgService
*/
WxMaShopImgService getShopImgService();
/**
* 小程序交易组件-接入商品前必需接口-审核相关接口
* 获取小程序交易组件-审核相关接口服务对象。
*
* @return
* @return 审核服务对象WxMaShopAuditService
*/
WxMaShopAuditService getShopAuditService();
/**
* 获取小程序Link服务接口
* 获取小程序Link服务接口服务对象。
*
* @return
* @return Link服务对象WxMaLinkService
*/
WxMaLinkService getLinkService();
/**
* 获取电子发票报销方服务接口
* 获取电子发票报销方服务接口服务对象。
*
* @return
* @return 电子发票报销方服务对象WxMaReimburseInvoiceService
*/
WxMaReimburseInvoiceService getReimburseInvoiceService();
/**
* 返回设备订阅消息相关接口服务对象
* 获取设备订阅消息相关接口服务对象
*
* @return WxMaDeviceSubscribeService plugin service
* @return 设备订阅消息服务对象WxMaDeviceSubscribeService
*/
WxMaDeviceSubscribeService getDeviceSubscribeService();
/**
* 返回小程序广告接入相关接口服务对象
* 获取小程序广告接入相关接口服务对象
*
* @return WxMaDeviceSubscribeService plugin service
* @return 广告服务对象WxMaMarketingService
*/
WxMaMarketingService getMarketingService();
/**
* 返回微信小程序即时配送服务接口.
* 获取微信小程序即时配送服务接口服务对象。
*
* @return WxMaImmediateDeliveryService
* @return 即时配送服务对象WxMaImmediateDeliveryService
*/
WxMaImmediateDeliveryService getWxMaImmediateDeliveryService();
/**
* 分享人接口
* 获取小程序分享人接口服务对象。
*
* @return WxMaShopSharerService
* @return 分享人服务对象WxMaShopSharerService
*/
WxMaShopSharerService getShopSharerService();
/**
* 标准交易组件接口
* 获取标准交易组件接口服务对象。
*
* @return WxMaProductService
* @return 标准交易组件服务对象WxMaProductService
*/
WxMaProductService getProductService();
/**
* 小商店-标准交易组件-订单服务
* 获取小商店-标准交易组件-订单服务对象。
*
* @return getProductOrderService
* @return 订单服务对象WxMaProductOrderService
*/
WxMaProductOrderService getProductOrderService();
/**
* 小商店-标准交易组件-优惠券
* 获取小商店-标准交易组件-优惠券服务对象。
*
* @return getWxMaShopCouponService
* @return 优惠券服务对象WxMaShopCouponService
*/
WxMaShopCouponService getWxMaShopCouponService();
/**
* 小程序支付管理-订单支付
* 获取小程序支付管理-订单支付服务对象。
*
* @return getWxMaShopPayService
* @return 订单支付服务对象WxMaShopPayService
*/
WxMaShopPayService getWxMaShopPayService();
/**
* 小程序发货信息管理服务
* 获取小程序发货信息管理服务对象。
*
* @return getWxMaOrderShippingService
* @return 发货信息管理服务对象WxMaOrderShippingService
*/
WxMaOrderShippingService getWxMaOrderShippingService();
/**
* 小程序订单管理服务
* 获取小程序订单管理服务对象。
*
* @return WxMaOrderManagementService
* @return 订单管理服务对象WxMaOrderManagementService
*/
WxMaOrderManagementService getWxMaOrderManagementService();
/**
* 小程序openApi管理
* 获取小程序openApi管理服务对象。
*
* @return getWxMaOpenApiService
* @return openApi管理服务对象WxMaOpenApiService
*/
WxMaOpenApiService getWxMaOpenApiService();
/**
* 小程序短剧管理
* 获取小程序短剧管理服务对象。
*
* @return getWxMaVodService
* @return 短剧管理服务对象WxMaVodService
*/
WxMaVodService getWxMaVodService();
/**
* 小程序虚拟支付
* 获取小程序虚拟支付服务对象。
*
* @return getWxMaXPayService
* @return 虚拟支付服务对象WxMaXPayService
*/
WxMaXPayService getWxMaXPayService();
/**
* 获取小程序物流退货服务对象。
*
* @return 物流退货服务对象WxMaExpressDeliveryReturnService
*/
WxMaExpressDeliveryReturnService getWxMaExpressDeliveryReturnService();
/**
* 小程序推广员
* 获取小程序推广员服务对象。
*
* @return WxMaPromotionService
* @return 推广员服务对象WxMaPromotionService
*/
WxMaPromotionService getWxMaPromotionService();
/**
* 以签名方式POST数据到指定URL。
*
* @param url 请求地址
* @param obj 请求对象
* @return 微信接口响应字符串
* @throws WxErrorException 微信接口调用异常
*/
String postWithSignature(String url, Object obj) throws WxErrorException;
/**
* 以签名方式POST数据到指定URL。
*
* @param url 请求地址
* @param jsonObject 请求的Json对象
* @return 微信接口响应字符串
* @throws WxErrorException 微信接口调用异常
*/
String postWithSignature(String url, JsonObject jsonObject) throws WxErrorException;
/**
* 微信物流服务 -- 同城配送
* https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/express/business/intracity_service.html
* 获取微信物流服务--同城配送服务对象。
* <br>
* 文档https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/express/business/intracity_service.html
*
* @return 同城配送服务对象WxMaIntracityService
*/
WxMaIntracityService getIntracityService();
}