* developer为开发版;trial为体验版;formal为正式版;默认为正式版 */ - public static final class MiniprogramState{ + public static final class MiniProgramState { + private MiniProgramState() { + } + /** * 开发版 */ @@ -149,7 +158,10 @@ public class WxMaConstants { * 进入小程序查看的语言类型 * 支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN */ - public static final class MiniprogramLang{ + public static final class MiniProgramLang { + private MiniProgramLang() { + } + /** * 简体中文 */ diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaMsgServiceImplTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaMsgServiceImplTest.java index cf127970f..1946a1fcf 100644 --- a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaMsgServiceImplTest.java +++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaMsgServiceImplTest.java @@ -12,9 +12,6 @@ import com.google.gson.JsonObject; import com.google.inject.Inject; import me.chanjar.weixin.common.error.WxErrorException; -import java.text.SimpleDateFormat; -import java.util.Date; - import static org.assertj.core.api.Assertions.assertThat; /** @@ -47,8 +44,8 @@ public class WxMaMsgServiceImplTest { WxMaSubscribeMessage message = new WxMaSubscribeMessage(); message.setTemplateId(config.getTemplateId()); message.setToUser(config.getOpenid()); - message.setLang(WxMaConstants.MiniprogramLang.ZH_CN); - message.setMiniprogramState(WxMaConstants.MiniprogramState.FORMAL); + message.setLang(WxMaConstants.MiniProgramLang.ZH_CN); + message.setMiniprogramState(WxMaConstants.MiniProgramState.FORMAL); message.addData(new WxMaSubscribeMessage.Data("thing1", "苹果到货啦")); message.addData(new WxMaSubscribeMessage.Data("amount3", "¥5")); message.addData(new WxMaSubscribeMessage.Data("thing5", "记得领取哦")); diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxOAuth2Service.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxOAuth2Service.java index 1fbb1f1a9..0c7cc5764 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxOAuth2Service.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxOAuth2Service.java @@ -1,8 +1,8 @@ package me.chanjar.weixin.mp.api; +import me.chanjar.weixin.common.bean.WxOAuth2UserInfo; +import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken; import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; -import me.chanjar.weixin.mp.bean.result.WxMpUser; /** * oauth2 相关接口. @@ -17,12 +17,12 @@ public interface WxOAuth2Service { * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=网页授权获取用户基本信息 * * - * @param redirectURI 用户授权完成后的重定向链接,无需urlencode, 方法内会进行encode + * @param redirectUri 用户授权完成后的重定向链接,无需urlencode, 方法内会进行encode * @param scope scope * @param state state * @return url */ - String buildAuthorizationUrl(String redirectURI, String scope, String state); + String buildAuthorizationUrl(String redirectUri, String scope, String state); /** *
@@ -34,7 +34,18 @@ public interface WxOAuth2Service {
* @return token对象
* @throws WxErrorException .
*/
- WxMpOAuth2AccessToken getAccessToken(String code) throws WxErrorException;
+ WxOAuth2AccessToken getAccessToken(String code) throws WxErrorException;
+
+ /**
+ * 用code换取oauth2的access token.
+ *
+ * @param appId the appid
+ * @param appSecret the secret
+ * @param code code
+ * @return token对象
+ * @throws WxErrorException .
+ */
+ WxOAuth2AccessToken getAccessToken(String appId, String appSecret, String code) throws WxErrorException;
/**
*
@@ -45,7 +56,7 @@ public interface WxOAuth2Service {
* @return 新的token对象
* @throws WxErrorException .
*/
- WxMpOAuth2AccessToken refreshAccessToken(String refreshToken) throws WxErrorException;
+ WxOAuth2AccessToken refreshAccessToken(String refreshToken) throws WxErrorException;
/**
*
@@ -57,7 +68,7 @@ public interface WxOAuth2Service {
* @return 用户对象
* @throws WxErrorException .
*/
- WxMpUser getUserInfo(WxMpOAuth2AccessToken oAuth2AccessToken, String lang) throws WxErrorException;
+ WxOAuth2UserInfo getUserInfo(WxOAuth2AccessToken oAuth2AccessToken, String lang) throws WxErrorException;
/**
*
@@ -67,6 +78,6 @@ public interface WxOAuth2Service {
* @param oAuth2AccessToken token对象
* @return 是否有效
*/
- boolean validateAccessToken(WxMpOAuth2AccessToken oAuth2AccessToken);
+ boolean validateAccessToken(WxOAuth2AccessToken oAuth2AccessToken);
}
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java
index 6fe921fb8..555078db1 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java
@@ -126,7 +126,7 @@ public abstract class BaseWxMpServiceImpl implements WxMpService, RequestH
@Getter
@Setter
- private WxOAuth2Service oAuth2Service = new WxOAuth2ServiceImpl(this);
+ private WxOAuth2Service oAuth2Service = new WxMpOAuth2ServiceImpl(this);
private Map configStorageMap;
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxOAuth2ServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpOAuth2ServiceImpl.java
similarity index 67%
rename from weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxOAuth2ServiceImpl.java
rename to weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpOAuth2ServiceImpl.java
index 7ad8ed2c4..8d8187daa 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxOAuth2ServiceImpl.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpOAuth2ServiceImpl.java
@@ -1,7 +1,8 @@
package me.chanjar.weixin.mp.api.impl;
-import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
+import me.chanjar.weixin.common.bean.WxOAuth2UserInfo;
+import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import me.chanjar.weixin.common.enums.WxType;
import me.chanjar.weixin.common.error.WxError;
import me.chanjar.weixin.common.error.WxErrorException;
@@ -11,14 +12,12 @@ import me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor;
import me.chanjar.weixin.common.util.http.URIUtil;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.WxOAuth2Service;
-import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
-import me.chanjar.weixin.mp.bean.result.WxMpUser;
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
-import static me.chanjar.weixin.mp.enums.WxMpApiUrl.Other.*;
+import static me.chanjar.weixin.mp.enums.WxMpApiUrl.OAuth2.*;
/**
* oauth2 相关接口实现类.
@@ -27,34 +26,37 @@ import static me.chanjar.weixin.mp.enums.WxMpApiUrl.Other.*;
* @date 2020-08-08
*/
@RequiredArgsConstructor
-public class WxOAuth2ServiceImpl implements WxOAuth2Service {
+public class WxMpOAuth2ServiceImpl implements WxOAuth2Service {
private final WxMpService wxMpService;
@Override
- public String buildAuthorizationUrl(String redirectURI, String scope, String state) {
+ public String buildAuthorizationUrl(String redirectUri, String scope, String state) {
return String.format(CONNECT_OAUTH2_AUTHORIZE_URL.getUrl(getMpConfigStorage()),
- getMpConfigStorage().getAppId(), URIUtil.encodeURIComponent(redirectURI), scope, StringUtils.trimToEmpty(state));
+ getMpConfigStorage().getAppId(), URIUtil.encodeURIComponent(redirectUri), scope, StringUtils.trimToEmpty(state));
}
- private WxMpOAuth2AccessToken getOAuth2AccessToken(String url) throws WxErrorException {
+ private WxOAuth2AccessToken getOAuth2AccessToken(String url) throws WxErrorException {
try {
RequestExecutor executor = SimpleGetRequestExecutor.create(this.wxMpService.getRequestHttp());
String responseText = executor.execute(url, null, WxType.MP);
- return WxMpOAuth2AccessToken.fromJson(responseText);
+ return WxOAuth2AccessToken.fromJson(responseText);
} catch (IOException e) {
throw new WxErrorException(WxError.builder().errorCode(99999).errorMsg(e.getMessage()).build(), e);
}
}
@Override
- public WxMpOAuth2AccessToken getAccessToken(String code) throws WxErrorException {
- String url = String.format(OAUTH2_ACCESS_TOKEN_URL.getUrl(getMpConfigStorage()), getMpConfigStorage().getAppId(),
- getMpConfigStorage().getSecret(), code);
- return this.getOAuth2AccessToken(url);
+ public WxOAuth2AccessToken getAccessToken(String code) throws WxErrorException {
+ return this.getAccessToken(getMpConfigStorage().getAppId(), getMpConfigStorage().getSecret(), code);
}
@Override
- public WxMpOAuth2AccessToken refreshAccessToken(String refreshToken) throws WxErrorException {
+ public WxOAuth2AccessToken getAccessToken(String appId, String appSecret, String code) throws WxErrorException {
+ return this.getOAuth2AccessToken(String.format(OAUTH2_ACCESS_TOKEN_URL.getUrl(getMpConfigStorage()), appId, appSecret, code));
+ }
+
+ @Override
+ public WxOAuth2AccessToken refreshAccessToken(String refreshToken) throws WxErrorException {
String url = String.format(OAUTH2_REFRESH_TOKEN_URL.getUrl(getMpConfigStorage()), getMpConfigStorage().getAppId(), refreshToken);
return this.getOAuth2AccessToken(url);
}
@@ -64,7 +66,7 @@ public class WxOAuth2ServiceImpl implements WxOAuth2Service {
}
@Override
- public WxMpUser getUserInfo(WxMpOAuth2AccessToken token, String lang) throws WxErrorException {
+ public WxOAuth2UserInfo getUserInfo(WxOAuth2AccessToken token, String lang) throws WxErrorException {
if (lang == null) {
lang = "zh_CN";
}
@@ -74,14 +76,14 @@ public class WxOAuth2ServiceImpl implements WxOAuth2Service {
try {
RequestExecutor executor = SimpleGetRequestExecutor.create(this.wxMpService.getRequestHttp());
String responseText = executor.execute(url, null, WxType.MP);
- return WxMpUser.fromJson(responseText);
+ return WxOAuth2UserInfo.fromJson(responseText);
} catch (IOException e) {
throw new WxRuntimeException(e);
}
}
@Override
- public boolean validateAccessToken(WxMpOAuth2AccessToken token) {
+ public boolean validateAccessToken(WxOAuth2AccessToken token) {
String url = String.format(OAUTH2_VALIDATE_TOKEN_URL.getUrl(getMpConfigStorage()), token.getAccessToken(), token.getOpenId());
try {
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeCheckcodeResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeCheckcodeResult.java
index 84768c091..4b86bbbdd 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeCheckcodeResult.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeCheckcodeResult.java
@@ -2,7 +2,6 @@ package me.chanjar.weixin.mp.bean.card;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
-import me.chanjar.weixin.mp.bean.result.WxMpResult;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import java.io.Serializable;
@@ -10,8 +9,7 @@ import java.util.List;
@Data
-public class WxMpCardCodeCheckcodeResult extends WxMpResult implements Serializable {
-
+public class WxMpCardCodeCheckcodeResult implements Serializable {
private static final long serialVersionUID = -5128692403997016750L;
/**
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeDepositCountResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeDepositCountResult.java
index a7a114bf5..00631ec74 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeDepositCountResult.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeDepositCountResult.java
@@ -2,15 +2,16 @@ package me.chanjar.weixin.mp.bean.card;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
-import me.chanjar.weixin.mp.bean.result.WxMpResult;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import java.io.Serializable;
+/**
+ * @author S
+ */
@Data
-public class WxMpCardCodeDepositCountResult extends WxMpResult implements Serializable {
-
+public class WxMpCardCodeDepositCountResult implements Serializable {
private static final long serialVersionUID = -6707587956061215868L;
/**
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeDepositResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeDepositResult.java
index aeb1246b8..e48a23f4a 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeDepositResult.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardCodeDepositResult.java
@@ -2,15 +2,16 @@ package me.chanjar.weixin.mp.bean.card;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
-import me.chanjar.weixin.mp.bean.result.WxMpResult;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import java.io.Serializable;
+/**
+ * @author S
+ */
@Data
-public class WxMpCardCodeDepositResult extends WxMpResult implements Serializable {
-
+public class WxMpCardCodeDepositResult implements Serializable {
private static final long serialVersionUID = 2955588617765355420L;
/**
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardMpnewsGethtmlResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardMpnewsGethtmlResult.java
index 13db310d5..6d7dde1ad 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardMpnewsGethtmlResult.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardMpnewsGethtmlResult.java
@@ -2,15 +2,16 @@ package me.chanjar.weixin.mp.bean.card;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
-import me.chanjar.weixin.mp.bean.result.WxMpResult;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import java.io.Serializable;
+/**
+ * @author S
+ */
@Data
-public class WxMpCardMpnewsGethtmlResult extends WxMpResult implements Serializable {
-
+public class WxMpCardMpnewsGethtmlResult implements Serializable {
private static final long serialVersionUID = 6435268886823478711L;
/**
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxUserCardListResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxUserCardListResult.java
index 9133a32f1..e38c11564 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxUserCardListResult.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxUserCardListResult.java
@@ -2,18 +2,20 @@ package me.chanjar.weixin.mp.bean.card;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
-import me.chanjar.weixin.mp.bean.result.WxMpResult;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
+import java.io.Serializable;
import java.util.List;
/**
* 用户已领卡券返回
+ *
* @author yang229
* @date 2019/12/22
*/
@Data
-public class WxUserCardListResult extends WxMpResult implements java.io.Serializable {
+public class WxUserCardListResult implements Serializable {
+ private static final long serialVersionUID = 4348804828075982412L;
/**
* 卡券列表
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassGetResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassGetResult.java
index c1f43feb0..fe8f6e404 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassGetResult.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassGetResult.java
@@ -10,10 +10,10 @@ import java.io.Serializable;
*
* 查询群发消息发送状态【订阅号与服务号认证后均可用】
* https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Batch_Sends_and_Originality_Checks.html#%E6%9F%A5%E8%AF%A2%E7%BE%A4%E5%8F%91%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81%E7%8A%B6%E6%80%81%E3%80%90%E8%AE%A2%E9%98%85%E5%8F%B7%E4%B8%8E%E6%9C%8D%E5%8A%A1%E5%8F%B7%E8%AE%A4%E8%AF%81%E5%90%8E%E5%9D%87%E5%8F%AF%E7%94%A8%E3%80%91
+ * @author S
*/
@Data
-public class WxMpMassGetResult extends WxMpResult implements Serializable {
-
+public class WxMpMassGetResult implements Serializable {
private static final long serialVersionUID = -2909694117357278557L;
@SerializedName("msg_id")
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpResult.java
deleted file mode 100644
index 9be4b7e8c..000000000
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpResult.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package me.chanjar.weixin.mp.bean.result;
-
-import lombok.Data;
-import me.chanjar.weixin.common.util.json.WxGsonBuilder;
-import org.apache.commons.lang3.StringUtils;
-
-import java.io.Serializable;
-
-/**
- * 基础的微信公众号平台请求结果.
- */
-@Data
-public class WxMpResult implements Serializable {
- private static final long serialVersionUID = 2101652152604850904L;
- protected String errcode;
- protected String errmsg;
-
- /**
- * 请求是否成功.
- */
- public boolean isSuccess() {
- return StringUtils.equalsIgnoreCase(errcode, "0");
- }
-
- public static WxMpResult fromJson(String json) {
- return WxGsonBuilder.create().fromJson(json, WxMpResult.class);
- }
-
- @Override
- public String toString() {
- return WxGsonBuilder.create().toJson(this);
- }
-}
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/WxMpApiUrl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/WxMpApiUrl.java
index 368814b44..d050aeb66 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/WxMpApiUrl.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/WxMpApiUrl.java
@@ -1,6 +1,8 @@
package me.chanjar.weixin.mp.enums;
import lombok.AllArgsConstructor;
+import lombok.Getter;
+import me.chanjar.weixin.mp.bean.WxMpHostConfig;
import me.chanjar.weixin.mp.config.WxMpConfigStorage;
import static me.chanjar.weixin.mp.bean.WxMpHostConfig.*;
@@ -21,9 +23,31 @@ public interface WxMpApiUrl {
* @param config 微信公众号配置
* @return api地址
*/
- String getUrl(WxMpConfigStorage config);
+ default String getUrl(WxMpConfigStorage config) {
+ WxMpHostConfig hostConfig = null;
+ if (config != null) {
+ hostConfig = config.getHostConfig();
+ }
+ return buildUrl(hostConfig, this.getPrefix(), this.getPath());
+
+ }
+
+ /**
+ * the path
+ *
+ * @return path
+ */
+ String getPath();
+
+ /**
+ * the prefix
+ *
+ * @return prefix
+ */
+ String getPrefix();
@AllArgsConstructor
+ @Getter
enum Device implements WxMpApiUrl {
/**
* get_bind_device.
@@ -64,15 +88,39 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
+ }
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
+ @AllArgsConstructor
+ @Getter
+ enum OAuth2 implements WxMpApiUrl {
+ /**
+ * 用code换取oauth2的access token.
+ */
+ OAUTH2_ACCESS_TOKEN_URL(API_DEFAULT_HOST_URL, "/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code"),
+ /**
+ * 刷新oauth2的access token.
+ */
+ OAUTH2_REFRESH_TOKEN_URL(API_DEFAULT_HOST_URL, "/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s"),
+ /**
+ * 用oauth2获取用户信息.
+ */
+ OAUTH2_USERINFO_URL(API_DEFAULT_HOST_URL, "/sns/userinfo?access_token=%s&openid=%s&lang=%s"),
+ /**
+ * 验证oauth2的access token是否有效.
+ */
+ OAUTH2_VALIDATE_TOKEN_URL(API_DEFAULT_HOST_URL, "/sns/auth?access_token=%s&openid=%s"),
+ /**
+ * oauth2授权的url连接.
+ */
+ CONNECT_OAUTH2_AUTHORIZE_URL(OPEN_DEFAULT_HOST_URL, "/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s&connect_redirect=1#wechat_redirect");
+
+ private final String prefix;
+ private final String path;
}
@AllArgsConstructor
+ @Getter
enum Other implements WxMpApiUrl {
/**
* 获取access_token.
@@ -90,22 +138,6 @@ public interface WxMpApiUrl {
* 语义查询接口.
*/
SEMANTIC_SEMPROXY_SEARCH_URL(API_DEFAULT_HOST_URL, "/semantic/semproxy/search"),
- /**
- * 用code换取oauth2的access token.
- */
- OAUTH2_ACCESS_TOKEN_URL(API_DEFAULT_HOST_URL, "/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code"),
- /**
- * 刷新oauth2的access token.
- */
- OAUTH2_REFRESH_TOKEN_URL(API_DEFAULT_HOST_URL, "/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s"),
- /**
- * 用oauth2获取用户信息.
- */
- OAUTH2_USERINFO_URL(API_DEFAULT_HOST_URL, "/sns/userinfo?access_token=%s&openid=%s&lang=%s"),
- /**
- * 验证oauth2的access token是否有效.
- */
- OAUTH2_VALIDATE_TOKEN_URL(API_DEFAULT_HOST_URL, "/sns/auth?access_token=%s&openid=%s"),
/**
* 获取微信服务器IP地址.
*/
@@ -118,10 +150,6 @@ public interface WxMpApiUrl {
* 第三方使用网站应用授权登录的url.
*/
QRCONNECT_URL(OPEN_DEFAULT_HOST_URL, "/connect/qrconnect?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s#wechat_redirect"),
- /**
- * oauth2授权的url连接.
- */
- CONNECT_OAUTH2_AUTHORIZE_URL(OPEN_DEFAULT_HOST_URL, "/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s&connect_redirect=1#wechat_redirect"),
/**
* 获取公众号的自动回复规则.
*/
@@ -134,13 +162,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Marketing implements WxMpApiUrl {
/**
* sets add.
@@ -162,13 +187,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Menu implements WxMpApiUrl {
/**
* get_current_selfmenu_info.
@@ -202,14 +224,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
-
@AllArgsConstructor
+ @Getter
enum Qrcode implements WxMpApiUrl {
/**
* create.
@@ -227,13 +245,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum ShakeAround implements WxMpApiUrl {
/**
* getshakeinfo.
@@ -255,13 +270,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum SubscribeMsg implements WxMpApiUrl {
/**
* subscribemsg.
@@ -275,13 +287,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum TemplateMsg implements WxMpApiUrl {
/**
* send.
@@ -311,13 +320,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum UserBlacklist implements WxMpApiUrl {
/**
* getblacklist.
@@ -335,13 +341,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum UserTag implements WxMpApiUrl {
/**
* create.
@@ -379,13 +382,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Wifi implements WxMpApiUrl {
/**
* list.
@@ -405,13 +405,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum AiOpen implements WxMpApiUrl {
/**
* translatecontent.
@@ -429,13 +426,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Ocr implements WxMpApiUrl {
/**
* 身份证识别.
@@ -496,17 +490,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- if (config == null) {
- return buildUrl(null, prefix, path);
- }
-
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Card implements WxMpApiUrl {
/**
* create.
@@ -606,13 +593,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum DataCube implements WxMpApiUrl {
/**
* getusersummary.
@@ -686,13 +670,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Kefu implements WxMpApiUrl {
/**
* send.
@@ -758,13 +739,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum MassMessage implements WxMpApiUrl {
/**
* 上传群发用的图文消息.
@@ -812,13 +790,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Material implements WxMpApiUrl {
/**
* get.
@@ -868,13 +843,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum MemberCard implements WxMpApiUrl {
/**
* create.
@@ -913,13 +885,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Store implements WxMpApiUrl {
/**
* getwxcategory.
@@ -949,13 +918,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum User implements WxMpApiUrl {
/**
* batchget.
@@ -981,13 +947,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Comment implements WxMpApiUrl {
/**
* 打开已群发文章评论.
@@ -1032,13 +995,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum ImgProc implements WxMpApiUrl {
/**
* 二维码/条码识别
@@ -1073,16 +1033,10 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- if (null == config) {
- return buildUrl(null, prefix, path);
- }
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
@AllArgsConstructor
+ @Getter
enum Invoice implements WxMpApiUrl {
/**
@@ -1148,19 +1102,13 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- if (null == config) {
- return buildUrl(null, prefix, path);
- }
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
/**
* 对话能力
*/
@AllArgsConstructor
+ @Getter
enum Guide implements WxMpApiUrl {
/**
* 添加顾问
@@ -1185,13 +1133,5 @@ public interface WxMpApiUrl {
private final String prefix;
private final String path;
- @Override
- public String getUrl(WxMpConfigStorage config) {
- if (null == config) {
- return buildUrl(null, prefix, path);
- }
-
- return buildUrl(config.getHostConfig(), prefix, path);
- }
}
}
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java
index 82e2b3631..5f762cc6d 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java
@@ -40,7 +40,6 @@ public class WxMpGsonBuilder {
INSTANCE.registerTypeAdapter(WxMpTemplateMessage.class, new WxMpTemplateMessageGsonAdapter());
INSTANCE.registerTypeAdapter(WxMpSubscribeMessage.class, new WxMpSubscribeMessageGsonAdapter());
INSTANCE.registerTypeAdapter(WxMpSemanticQueryResult.class, new WxMpSemanticQueryResultAdapter());
- INSTANCE.registerTypeAdapter(WxMpOAuth2AccessToken.class, new WxMpOAuth2AccessTokenAdapter());
INSTANCE.registerTypeAdapter(WxDataCubeUserSummary.class, new WxMpUserSummaryGsonAdapter());
INSTANCE.registerTypeAdapter(WxDataCubeUserCumulate.class, new WxMpUserCumulateGsonAdapter());
INSTANCE.registerTypeAdapter(WxMpMaterialUploadResult.class, new WxMpMaterialUploadResultAdapter());
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpOAuth2AccessTokenAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpOAuth2AccessTokenAdapter.java
deleted file mode 100644
index c832ef8da..000000000
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpOAuth2AccessTokenAdapter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package me.chanjar.weixin.mp.util.json;
-
-import com.google.gson.*;
-import me.chanjar.weixin.common.util.json.GsonHelper;
-import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
-
-import java.lang.reflect.Type;
-
-public class WxMpOAuth2AccessTokenAdapter implements JsonDeserializer {
-
- @Override
- public WxMpOAuth2AccessToken deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws
- JsonParseException {
- WxMpOAuth2AccessToken accessToken = new WxMpOAuth2AccessToken();
- JsonObject accessTokenJsonObject = json.getAsJsonObject();
-
- if (accessTokenJsonObject.get("access_token") != null && !accessTokenJsonObject.get("access_token").isJsonNull()) {
- accessToken.setAccessToken(GsonHelper.getAsString(accessTokenJsonObject.get("access_token")));
- }
- if (accessTokenJsonObject.get("expires_in") != null && !accessTokenJsonObject.get("expires_in").isJsonNull()) {
- accessToken.setExpiresIn(GsonHelper.getAsPrimitiveInt(accessTokenJsonObject.get("expires_in")));
- }
- if (accessTokenJsonObject.get("refresh_token") != null && !accessTokenJsonObject.get("refresh_token").isJsonNull()) {
- accessToken.setRefreshToken(GsonHelper.getAsString(accessTokenJsonObject.get("refresh_token")));
- }
- if (accessTokenJsonObject.get("openid") != null && !accessTokenJsonObject.get("openid").isJsonNull()) {
- accessToken.setOpenId(GsonHelper.getAsString(accessTokenJsonObject.get("openid")));
- }
- if (accessTokenJsonObject.get("scope") != null && !accessTokenJsonObject.get("scope").isJsonNull()) {
- accessToken.setScope(GsonHelper.getAsString(accessTokenJsonObject.get("scope")));
- }
- if (accessTokenJsonObject.get("unionid") != null && !accessTokenJsonObject.get("unionid").isJsonNull()) {
- accessToken.setUnionId(GsonHelper.getAsString(accessTokenJsonObject.get("unionid")));
- }
- return accessToken;
- }
-
-}
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImplTest.java
index ecacc36de..0f742a675 100644
--- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImplTest.java
+++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImplTest.java
@@ -10,7 +10,8 @@ import me.chanjar.weixin.mp.bean.card.*;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;
-import static org.testng.AssertJUnit.*;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
/**
* 测试代码仅供参考,未做严格测试,因原接口作者并未提供单元测试代码
@@ -234,7 +235,7 @@ public class WxMpCardServiceImplTest {
String openId = "ou7Gr5sJZgFGgj38sRCNQg5pc3Fc";
String cardId = "pu7Gr5secJXPkxBeuYUhmp8TYsuY";
WxUserCardListResult result = this.wxService.getCardService().getUserCardList(openId, cardId);
- assertTrue(result.isSuccess());
+ assertNotNull(result);
System.out.println(result);
}
}
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpOAuth2ServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpOAuth2ServiceImplTest.java
new file mode 100644
index 000000000..6004d3cbe
--- /dev/null
+++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpOAuth2ServiceImplTest.java
@@ -0,0 +1,59 @@
+package me.chanjar.weixin.mp.api.impl;
+
+import me.chanjar.weixin.common.bean.WxOAuth2UserInfo;
+import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
+import me.chanjar.weixin.common.error.WxErrorException;
+import me.chanjar.weixin.mp.api.WxMpService;
+import me.chanjar.weixin.mp.api.test.ApiTestModule;
+import org.testng.annotations.Guice;
+import org.testng.annotations.Test;
+
+import javax.inject.Inject;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ * 测试类.
+ *
+ * @author Binary Wang
+ * @date 2020-08-09
+ */
+@Test
+@Guice(modules = ApiTestModule.class)
+public class WxMpOAuth2ServiceImplTest {
+ @Inject
+ private WxMpService mpService;
+
+ @Test
+ public void testBuildAuthorizationUrl() {
+ final String url = this.mpService.getOAuth2Service().buildAuthorizationUrl("http://www.baidu.com", "test", "GOD");
+ assertThat(url).isEqualTo("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" +
+ this.mpService.getWxMpConfigStorage().getAppId() +
+ "&redirect_uri=http%3A%2F%2Fwww.baidu.com&response_type=code&scope=test&state=GOD&connect_redirect=1#wechat_redirect");
+ }
+
+ @Test
+ public void testGetAccessToken() throws WxErrorException {
+ final WxOAuth2AccessToken accessToken = this.mpService.getOAuth2Service().getAccessToken("11");
+ assertThat(accessToken).isNotNull();
+ }
+
+ @Test
+ public void testRefreshAccessToken() throws WxErrorException {
+ final WxOAuth2AccessToken accessToken = this.mpService.getOAuth2Service().refreshAccessToken("11");
+ assertThat(accessToken).isNotNull();
+ }
+
+ @Test
+ public void testGetUserInfo() throws WxErrorException {
+ final WxOAuth2AccessToken accessToken = this.mpService.getOAuth2Service().getAccessToken("11");
+ final WxOAuth2UserInfo userInfo = this.mpService.getOAuth2Service().getUserInfo(accessToken, null);
+ assertThat(userInfo).isNotNull();
+ }
+
+ @Test
+ public void testValidateAccessToken() {
+ final boolean result = this.mpService.getOAuth2Service().validateAccessToken(new WxOAuth2AccessToken());
+ assertThat(result).isTrue();
+ }
+}
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxOAuth2ServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxOAuth2ServiceImplTest.java
deleted file mode 100644
index 8729f99d2..000000000
--- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxOAuth2ServiceImplTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package me.chanjar.weixin.mp.api.impl;
-
-import me.chanjar.weixin.mp.api.WxMpService;
-import me.chanjar.weixin.mp.api.test.ApiTestModule;
-import org.testng.annotations.Guice;
-import org.testng.annotations.Test;
-
-import javax.inject.Inject;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * 测试类.
- *
- * @author Binary Wang
- * @date 2020-08-09
- */
-@Test
-@Guice(modules = ApiTestModule.class)
-public class WxOAuth2ServiceImplTest {
- @Inject
- private WxMpService mpService;
-
- @Test
- public void testBuildAuthorizationUrl() {
- final String url = this.mpService.getOAuth2Service().buildAuthorizationUrl("http://www.baidu.com", "test", "GOD");
- assertThat(url).isEqualTo("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" +
- this.mpService.getWxMpConfigStorage().getAppId() +
- "&redirect_uri=http%3A%2F%2Fwww.baidu.com&response_type=code&scope=test&state=GOD&connect_redirect=1#wechat_redirect");
- }
-
- @Test
- public void testGetAccessToken() {
- }
-
- @Test
- public void testRefreshAccessToken() {
- }
-
- @Test
- public void testGetUserInfo() {
- }
-
- @Test
- public void testValidateAccessToken() {
- }
-}
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/demo/WxMpOAuth2Servlet.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/demo/WxMpOAuth2Servlet.java
index 476a56a65..d0c5dfcec 100644
--- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/demo/WxMpOAuth2Servlet.java
+++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/demo/WxMpOAuth2Servlet.java
@@ -1,8 +1,9 @@
package me.chanjar.weixin.mp.demo;
+import me.chanjar.weixin.common.bean.WxOAuth2UserInfo;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
-import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
+import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import me.chanjar.weixin.mp.bean.result.WxMpUser;
import javax.servlet.http.HttpServlet;
@@ -31,17 +32,17 @@ public class WxMpOAuth2Servlet extends HttpServlet {
response.getWriter().println("code
");
response.getWriter().println(code);
- WxMpOAuth2AccessToken wxMpOAuth2AccessToken = this.wxMpService.getOAuth2Service().getAccessToken(code);
+ WxOAuth2AccessToken oAuth2AccessToken = this.wxMpService.getOAuth2Service().getAccessToken(code);
response.getWriter().println("access token
");
- response.getWriter().println(wxMpOAuth2AccessToken.toString());
+ response.getWriter().println(oAuth2AccessToken.toString());
- WxMpUser wxMpUser = this.wxMpService.getOAuth2Service().getUserInfo(wxMpOAuth2AccessToken, null);
+ WxOAuth2UserInfo wxMpUser = this.wxMpService.getOAuth2Service().getUserInfo(oAuth2AccessToken, null);
response.getWriter().println("user info
");
response.getWriter().println(wxMpUser.toString());
- wxMpOAuth2AccessToken = this.wxMpService.getOAuth2Service().refreshAccessToken(wxMpOAuth2AccessToken.getRefreshToken());
+ oAuth2AccessToken = this.wxMpService.getOAuth2Service().refreshAccessToken(oAuth2AccessToken.getRefreshToken());
response.getWriter().println("after refresh
");
- response.getWriter().println(wxMpOAuth2AccessToken.toString());
+ response.getWriter().println(oAuth2AccessToken.toString());
} catch (WxErrorException e) {
e.printStackTrace();
diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java
index 68dfb3d60..8efcf4210 100644
--- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java
+++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java
@@ -3,7 +3,7 @@ package me.chanjar.weixin.open.api;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
-import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
+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;
@@ -332,7 +332,7 @@ public interface WxOpenComponentService {
* @return the wx mp o auth 2 access token
* @throws WxErrorException the wx error exception
*/
- WxMpOAuth2AccessToken oauth2getAccessToken(String appid, String code) throws WxErrorException;
+ WxOAuth2AccessToken oauth2getAccessToken(String appid, String code) throws WxErrorException;
/**
* Check signature boolean.
@@ -353,7 +353,7 @@ public interface WxOpenComponentService {
* @return the wx mp o auth 2 access token
* @throws WxErrorException the wx error exception
*/
- WxMpOAuth2AccessToken oauth2refreshAccessToken(String appid, String refreshToken) throws WxErrorException;
+ WxOAuth2AccessToken oauth2refreshAccessToken(String appid, String refreshToken) throws WxErrorException;
/**
* Oauth 2 build authorization url string.
diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java
index 91b412f88..271cde746 100644
--- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java
+++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java
@@ -14,7 +14,7 @@ import me.chanjar.weixin.common.util.http.URIUtil;
import me.chanjar.weixin.common.util.json.GsonParser;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
import me.chanjar.weixin.mp.api.WxMpService;
-import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
+import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import me.chanjar.weixin.open.api.*;
import me.chanjar.weixin.open.bean.*;
import me.chanjar.weixin.open.bean.auth.WxOpenAuthorizationInfo;
@@ -394,10 +394,10 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService {
}
@Override
- public WxMpOAuth2AccessToken oauth2getAccessToken(String appId, String code) throws WxErrorException {
+ public WxOAuth2AccessToken oauth2getAccessToken(String appId, String code) throws WxErrorException {
String url = String.format(OAUTH2_ACCESS_TOKEN_URL, appId, code, getWxOpenConfigStorage().getComponentAppId());
String responseContent = get(url);
- return WxMpOAuth2AccessToken.fromJson(responseContent);
+ return WxOAuth2AccessToken.fromJson(responseContent);
}
@Override
@@ -406,10 +406,10 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService {
}
@Override
- public WxMpOAuth2AccessToken oauth2refreshAccessToken(String appId, String refreshToken) throws WxErrorException {
+ public WxOAuth2AccessToken oauth2refreshAccessToken(String appId, String refreshToken) throws WxErrorException {
String url = String.format(OAUTH2_REFRESH_TOKEN_URL, appId, refreshToken, getWxOpenConfigStorage().getComponentAppId());
String responseContent = get(url);
- return WxMpOAuth2AccessToken.fromJson(responseContent);
+ return WxOAuth2AccessToken.fromJson(responseContent);
}
@Override