123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490 |
- package me.chanjar.weixin.open.api;
- import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
- import me.chanjar.weixin.common.error.WxErrorException;
- import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
- import me.chanjar.weixin.open.bean.WxOpenCreateResult;
- import me.chanjar.weixin.open.bean.WxOpenGetResult;
- import me.chanjar.weixin.open.bean.WxOpenMaCodeTemplate;
- import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage;
- import me.chanjar.weixin.open.bean.result.*;
- import java.util.List;
- /**
- * .
- *
- * @author <a href="https://github.com/007gzs">007</a>
- */
- public interface WxOpenComponentService {
- /**
- * The constant API_COMPONENT_TOKEN_URL.
- */
- String API_COMPONENT_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/component/api_component_token";
- /**
- * The constant API_CREATE_PREAUTHCODE_URL.
- */
- String API_CREATE_PREAUTHCODE_URL = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode";
- /**
- * The constant API_QUERY_AUTH_URL.
- */
- String API_QUERY_AUTH_URL = "https://api.weixin.qq.com/cgi-bin/component/api_query_auth";
- /**
- * The constant API_AUTHORIZER_TOKEN_URL.
- */
- String API_AUTHORIZER_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token";
- /**
- * The constant API_GET_AUTHORIZER_INFO_URL.
- */
- String API_GET_AUTHORIZER_INFO_URL = "https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info";
- /**
- * The constant API_GET_AUTHORIZER_OPTION_URL.
- */
- String API_GET_AUTHORIZER_OPTION_URL = "https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_option";
- /**
- * The constant API_SET_AUTHORIZER_OPTION_URL.
- */
- String API_SET_AUTHORIZER_OPTION_URL = "https://api.weixin.qq.com/cgi-bin/component/api_set_authorizer_option";
- /**
- * The constant API_GET_AUTHORIZER_LIST.
- */
- String API_GET_AUTHORIZER_LIST = "https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_list";
- /**
- * The constant COMPONENT_LOGIN_PAGE_URL.
- */
- String COMPONENT_LOGIN_PAGE_URL = "https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=%s&pre_auth_code=%s&redirect_uri=%s&auth_type=xxx&biz_appid=xxx";
- /**
- * 手机端打开授权链接.
- */
- String COMPONENT_MOBILE_LOGIN_PAGE_URL = "https://mp.weixin.qq.com/safe/bindcomponent?action=bindcomponent&no_scan=1&auth_type=3&component_appid=%s&pre_auth_code=%s&redirect_uri=%s&auth_type=xxx&biz_appid=xxx#wechat_redirect";
- /**
- * The constant CONNECT_OAUTH2_AUTHORIZE_URL.
- */
- String CONNECT_OAUTH2_AUTHORIZE_URL = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s&component_appid=%s#wechat_redirect";
- /**
- * 用code换取oauth2的access token.
- */
- String OAUTH2_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=%s&code=%s&grant_type=authorization_code&component_appid=%s";
- /**
- * 刷新oauth2的access token.
- */
- String OAUTH2_REFRESH_TOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/component/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s&component_appid=%s";
- /**
- * The constant MINIAPP_JSCODE_2_SESSION.
- */
- String MINIAPP_JSCODE_2_SESSION = "https://api.weixin.qq.com/sns/component/jscode2session?appid=%s&js_code=%s&grant_type=authorization_code&component_appid=%s";
- /**
- * The constant CREATE_OPEN_URL.
- */
- String CREATE_OPEN_URL = "https://api.weixin.qq.com/cgi-bin/open/create";
- /**
- * The constant BIND_OPEN_URL.
- */
- String BIND_OPEN_URL = "https://api.weixin.qq.com/cgi-bin/open/bind";
- /**
- * The constant UNBIND_OPEN_URL.
- */
- String UNBIND_OPEN_URL = "https://api.weixin.qq.com/cgi-bin/open/unbind";
- /**
- * The constant GET_OPEN_URL.
- */
- String GET_OPEN_URL = "https://api.weixin.qq.com/cgi-bin/open/get";
- /**
- * 快速创建小程序接口.
- */
- String FAST_REGISTER_WEAPP_URL = "https://api.weixin.qq.com/cgi-bin/component/fastregisterweapp?action=create";
- /**
- * The constant FAST_REGISTER_WEAPP_SEARCH_URL.
- */
- String FAST_REGISTER_WEAPP_SEARCH_URL = "https://api.weixin.qq.com/cgi-bin/component/fastregisterweapp?action=search";
- /**
- * 代小程序实现业务.
- * 小程序代码模版库管理:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1506504150_nMMh6&token=&lang=zh_CN
- * access_token 为 component_access_token
- */
- String GET_TEMPLATE_DRAFT_LIST_URL = "https://api.weixin.qq.com/wxa/gettemplatedraftlist";
- /**
- * The constant GET_TEMPLATE_LIST_URL.
- */
- String GET_TEMPLATE_LIST_URL = "https://api.weixin.qq.com/wxa/gettemplatelist";
- /**
- * The constant ADD_TO_TEMPLATE_URL.
- */
- String ADD_TO_TEMPLATE_URL = "https://api.weixin.qq.com/wxa/addtotemplate";
- /**
- * The constant DELETE_TEMPLATE_URL.
- */
- String DELETE_TEMPLATE_URL = "https://api.weixin.qq.com/wxa/deletetemplate";
- /**
- * Gets wx mp service by appid.
- *
- * @param appid the appid
- * @return the wx mp service by appid
- */
- WxOpenMpService getWxMpServiceByAppid(String appid);
- /**
- * 获取指定appid的开放平台小程序服务(继承一般小程序服务能力).
- *
- * @param appid .
- * @return . wx ma service by appid
- */
- WxOpenMaService getWxMaServiceByAppid(String appid);
- /**
- * 获取指定appid的快速创建的小程序服务.
- *
- * @param appid .
- * @return . wx fast ma service by appid
- */
- WxOpenFastMaService getWxFastMaServiceByAppid(String appid);
- /**
- * Gets wx open config storage.
- *
- * @return the wx open config storage
- */
- WxOpenConfigStorage getWxOpenConfigStorage();
- /**
- * Check signature boolean.
- *
- * @param timestamp the timestamp
- * @param nonce the nonce
- * @param signature the signature
- * @return the boolean
- */
- boolean checkSignature(String timestamp, String nonce, String signature);
- /**
- * Gets component access token.
- *
- * @param forceRefresh the force refresh
- * @return the component access token
- * @throws WxErrorException the wx error exception
- */
- String getComponentAccessToken(boolean forceRefresh) throws WxErrorException;
- /**
- * Post string.
- *
- * @param uri the uri
- * @param postData the post data
- * @return the string
- * @throws WxErrorException the wx error exception
- */
- String post(String uri, String postData) throws WxErrorException;
- /**
- * Post string.
- *
- * @param uri the uri
- * @param postData the post data
- * @param accessTokenKey the access token key
- * @return the string
- * @throws WxErrorException the wx error exception
- */
- String post(String uri, String postData, String accessTokenKey) throws WxErrorException;
- /**
- * Get string.
- *
- * @param uri the uri
- * @return the string
- * @throws WxErrorException the wx error exception
- */
- String get(String uri) throws WxErrorException;
- /**
- * Get string.
- *
- * @param uri the uri
- * @param accessTokenKey the access token key
- * @return the string
- * @throws WxErrorException the wx error exception
- */
- String get(String uri, String accessTokenKey) throws WxErrorException;
- /**
- * 获取用户授权页URL(来路URL和成功跳转URL 的域名都需要为三方平台设置的 登录授权的发起页域名).
- *
- * @param redirectUri the redirect uri
- * @return the pre auth url
- * @throws WxErrorException the wx error exception
- */
- String getPreAuthUrl(String redirectUri) throws WxErrorException;
- /**
- * .
- *
- * @param redirectUri the redirect uri
- * @param authType 要授权的帐号类型:1则商户点击链接后,手机端仅展示公众号、2表示仅展示小程序,3表示公众号和小程序都展示。如果为未指定,则默认小程序和公众号都展示。第三方平台开发者可以使用本字段来控制授权的帐号类型。
- * @param bizAppid 指定授权唯一的小程序或公众号 注:authType、bizAppid 互斥。
- * @return the pre auth url
- * @throws WxErrorException the wx error exception
- */
- String getPreAuthUrl(String redirectUri, String authType, String bizAppid) throws WxErrorException;
- /**
- * 获取预授权链接(手机端预授权).
- *
- * @param redirectUri .
- * @return . mobile pre auth url
- * @throws WxErrorException .
- */
- String getMobilePreAuthUrl(String redirectUri) throws WxErrorException;
- /**
- * 获取预授权链接(手机端预授权).
- *
- * @param redirectUri .
- * @param authType .
- * @param bizAppid .
- * @return . mobile pre auth url
- * @throws WxErrorException .
- */
- String getMobilePreAuthUrl(String redirectUri, String authType, String bizAppid) throws WxErrorException;
- /**
- * Route string.
- *
- * @param wxMessage the wx message
- * @return the string
- * @throws WxErrorException the wx error exception
- */
- String route(WxOpenXmlMessage wxMessage) throws WxErrorException;
- /**
- * 使用授权码换取公众号或小程序的接口调用凭据和授权信息.
- *
- * @param authorizationCode the authorization code
- * @return the query auth
- * @throws WxErrorException the wx error exception
- */
- WxOpenQueryAuthResult getQueryAuth(String authorizationCode) throws WxErrorException;
- /**
- * 获取授权方的帐号基本信息.
- *
- * @param authorizerAppid the authorizer appid
- * @return the authorizer info
- * @throws WxErrorException the wx error exception
- */
- WxOpenAuthorizerInfoResult getAuthorizerInfo(String authorizerAppid) throws WxErrorException;
- /**
- * 获取授权方的选项设置信息.
- *
- * @param authorizerAppid the authorizer appid
- * @param optionName the option name
- * @return the authorizer option
- * @throws WxErrorException the wx error exception
- */
- WxOpenAuthorizerOptionResult getAuthorizerOption(String authorizerAppid, String optionName) throws WxErrorException;
- /**
- * 获取所有授权方列表.
- *
- * @param begin the begin
- * @param len the len
- * @return the authorizer list
- * @throws WxErrorException the wx error exception
- */
- WxOpenAuthorizerListResult getAuthorizerList(int begin, int len) throws WxErrorException;
- /**
- * 设置授权方的选项信息.
- *
- * @param authorizerAppid the authorizer appid
- * @param optionName the option name
- * @param optionValue the option value
- * @throws WxErrorException the wx error exception
- */
- void setAuthorizerOption(String authorizerAppid, String optionName, String optionValue) throws WxErrorException;
- /**
- * Gets authorizer access token.
- *
- * @param appid the appid
- * @param forceRefresh the force refresh
- * @return the authorizer access token
- * @throws WxErrorException the wx error exception
- */
- String getAuthorizerAccessToken(String appid, boolean forceRefresh) throws WxErrorException;
- /**
- * Oauth 2 get access token wx mp o auth 2 access token.
- *
- * @param appid the appid
- * @param code the code
- * @return the wx mp o auth 2 access token
- * @throws WxErrorException the wx error exception
- */
- WxOAuth2AccessToken oauth2getAccessToken(String appid, String code) throws WxErrorException;
- /**
- * Check signature boolean.
- *
- * @param appId the app id
- * @param timestamp the timestamp
- * @param nonce the nonce
- * @param signature the signature
- * @return the boolean
- */
- boolean checkSignature(String appId, String timestamp, String nonce, String signature);
- /**
- * Oauth 2 refresh access token wx mp o auth 2 access token.
- *
- * @param appid the appid
- * @param refreshToken the refresh token
- * @return the wx mp o auth 2 access token
- * @throws WxErrorException the wx error exception
- */
- WxOAuth2AccessToken oauth2refreshAccessToken(String appid, String refreshToken) throws WxErrorException;
- /**
- * Oauth 2 build authorization url string.
- *
- * @param appid the appid
- * @param redirectUri the redirect uri
- * @param scope the scope
- * @param state the state
- * @return the string
- */
- String oauth2buildAuthorizationUrl(String appid, String redirectUri, String scope, String state);
- /**
- * Miniapp jscode 2 session wx ma jscode 2 session result.
- *
- * @param appId the app id
- * @param jsCode the js code
- * @return the wx ma jscode 2 session result
- * @throws WxErrorException the wx error exception
- */
- WxMaJscode2SessionResult miniappJscode2Session(String appId, String jsCode) throws WxErrorException;
- /**
- * 获取草稿箱内的所有临时代码草稿.
- *
- * @return 草稿箱代码模板列表 (draftId)
- * @throws WxErrorException 获取失败时返回,具体错误码请看此接口的注释文档
- */
- List<WxOpenMaCodeTemplate> getTemplateDraftList() throws WxErrorException;
- /**
- * 获取代码模版库中的所有小程序代码模版.
- *
- * @return 小程序代码模版列表 (templateId)
- * @throws WxErrorException 获取失败时返回,具体错误码请看此接口的注释文档
- */
- List<WxOpenMaCodeTemplate> getTemplateList() throws WxErrorException;
- /**
- * 将草稿箱的草稿选为小程序代码模版.
- *
- * @param draftId 草稿ID,本字段可通过“获取草稿箱内的所有临时代码草稿”接口获得
- * @throws WxErrorException 操作失败时抛出,具体错误码请看此接口的注释文档
- * @see #getTemplateDraftList #getTemplateDraftList
- */
- void addToTemplate(long draftId) throws WxErrorException;
- /**
- * 删除指定小程序代码模版.
- *
- * @param templateId 要删除的模版ID
- * @throws WxErrorException 操作失败时抛出,具体错误码请看此接口的注释文档
- * @see #getTemplateList #getTemplateList
- */
- void deleteTemplate(long templateId) throws WxErrorException;
- /**
- * https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1498704199_1bcax&token=6df5e3650041eff2cd3ec3662425ad8d7beec8d9&lang=zh_CN
- * 创建 开放平台帐号并绑定公众号/小程序.
- * https://api.weixin.qq.com/cgi-bin/open/create
- *
- * @param appId 公众号/小程序的appId
- * @param appIdType appId类型 me.chanjar.weixin.common.api.WxConsts.AppIdType mp-公众号 mini-小程序
- * @return . wx open create result
- * @throws WxErrorException .
- */
- WxOpenCreateResult createOpenAccount(String appId, String appIdType) throws WxErrorException;
- /**
- * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/api/account/bind.html
- * 将公众号/小程序绑定到开放平台帐号下
- *
- * @param appId 公众号/小程序的appId
- * @param appIdType appId类型 me.chanjar.weixin.common.api.WxConsts.AppIdType mp-公众号 mini-小程序
- * @param openAppid 开放平台帐号 appid,由创建开发平台帐号接口返回
- * @return the boolean
- * @throws WxErrorException the wx error exception
- */
- Boolean bindOpenAccount(String appId, String appIdType, String openAppid) throws WxErrorException;
- /**
- * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/api/account/unbind.html
- * 将公众号/小程序从开放平台帐号下解绑
- *
- * @param appId 公众号/小程序的appId
- * @param appIdType appId类型 me.chanjar.weixin.common.api.WxConsts.AppIdType mp-公众号 mini-小程序
- * @param openAppid 开放平台帐号 appid,由创建开发平台帐号接口返回
- * @return the boolean
- * @throws WxErrorException the wx error exception
- */
- Boolean unbindOpenAccount(String appId, String appIdType, String openAppid) throws WxErrorException;
- /**
- * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/api/account/get.html
- * 获取公众号/小程序所绑定的开放平台帐号
- *
- * @param appId 公众号/小程序的appId
- * @param appIdType appId类型 me.chanjar.weixin.common.api.WxConsts.AppIdType mp-公众号 mini-小程序
- * @return 开放平台帐号 appid,由创建开发平台帐号接口返回
- * @throws WxErrorException the wx error exception
- */
- WxOpenGetResult getOpenAccount(String appId, String appIdType) throws WxErrorException;
- /**
- * https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21538208049W8uwq&token=&lang=zh_CN
- * 第三方平台快速创建小程序.
- * 注意:创建任务逻辑串行,单次任务结束后才可以使用相同信息下发第二次任务,请注意规避任务阻塞
- *
- * @param name 企业名(需与工商部门登记信息一致)
- * @param code 企业代码
- * @param codeType 企业代码类型 1:统一社会信用代码(18位) 2:组织机构代码(9位xxxxxxxx-x) 3:营业执照注册号(15位)
- * @param legalPersonaWechat 法人微信号
- * @param legalPersonaName 法人姓名(绑定银行卡)
- * @param componentPhone 第三方联系电话(方便法人与第三方联系)
- * @return . wx open result
- * @throws WxErrorException .
- */
- WxOpenResult fastRegisterWeapp(String name, String code, String codeType, String legalPersonaWechat, String legalPersonaName, String componentPhone) throws WxErrorException;
- /**
- * https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21538208049W8uwq&token=&lang=zh_CN
- * 查询第三方平台快速创建小程序的任务状态
- * 注意:该接口只提供当下任务结果查询,不建议过分依赖该接口查询所创建小程序。
- * 小程序的成功状态可在第三方服务器中自行对账、查询。
- * 不要频繁调用search接口,消息接收需通过服务器查看。调用search接口会消耗接口整体调用quato
- *
- * @param name 企业名(需与工商部门登记信息一致)
- * @param legalPersonaWechat 法人微信号
- * @param legalPersonaName 法人姓名(绑定银行卡)
- * @return the wx open result
- * @throws WxErrorException .
- */
- WxOpenResult fastRegisterWeappSearch(String name, String legalPersonaWechat, String legalPersonaName) throws WxErrorException;
- }
|