| @@ -1,9 +1,9 @@ | |||||
| package me.chanjar.weixin.mp.bean.result; | package me.chanjar.weixin.mp.bean.result; | ||||
| import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||||
| import java.io.Serializable; | import java.io.Serializable; | ||||
| import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||||
| public class WxMpOAuth2AccessToken implements Serializable { | public class WxMpOAuth2AccessToken implements Serializable { | ||||
| private String accessToken; | private String accessToken; | ||||
| @@ -16,6 +16,8 @@ public class WxMpOAuth2AccessToken implements Serializable { | |||||
| private String scope; | private String scope; | ||||
| private String unionId; | |||||
| public String getRefreshToken() { | public String getRefreshToken() { | ||||
| return refreshToken; | return refreshToken; | ||||
| } | } | ||||
| @@ -56,6 +58,14 @@ public class WxMpOAuth2AccessToken implements Serializable { | |||||
| this.expiresIn = expiresIn; | this.expiresIn = expiresIn; | ||||
| } | } | ||||
| public String getUnionId() { | |||||
| return unionId; | |||||
| } | |||||
| public void setUnionId(String unionId) { | |||||
| this.unionId = unionId; | |||||
| } | |||||
| public static WxMpOAuth2AccessToken fromJson(String json) { | public static WxMpOAuth2AccessToken fromJson(String json) { | ||||
| return WxMpGsonBuilder.create().fromJson(json, WxMpOAuth2AccessToken.class); | return WxMpGsonBuilder.create().fromJson(json, WxMpOAuth2AccessToken.class); | ||||
| } | } | ||||
| @@ -68,6 +78,7 @@ public class WxMpOAuth2AccessToken implements Serializable { | |||||
| ", refreshToken='" + refreshToken + '\'' + | ", refreshToken='" + refreshToken + '\'' + | ||||
| ", openId='" + openId + '\'' + | ", openId='" + openId + '\'' + | ||||
| ", scope='" + scope + '\'' + | ", scope='" + scope + '\'' + | ||||
| ", unionId='" + unionId + '\'' + | |||||
| '}'; | '}'; | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,11 +1,16 @@ | |||||
| package me.chanjar.weixin.mp.util.json; | package me.chanjar.weixin.mp.util.json; | ||||
| import com.google.gson.*; | |||||
| import java.lang.reflect.Type; | |||||
| import com.google.gson.JsonDeserializationContext; | |||||
| import com.google.gson.JsonDeserializer; | |||||
| import com.google.gson.JsonElement; | |||||
| import com.google.gson.JsonObject; | |||||
| import com.google.gson.JsonParseException; | |||||
| import me.chanjar.weixin.common.util.json.GsonHelper; | import me.chanjar.weixin.common.util.json.GsonHelper; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; | import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; | ||||
| import java.lang.reflect.Type; | |||||
| public class WxMpOAuth2AccessTokenAdapter implements JsonDeserializer<WxMpOAuth2AccessToken> { | public class WxMpOAuth2AccessTokenAdapter implements JsonDeserializer<WxMpOAuth2AccessToken> { | ||||
| public WxMpOAuth2AccessToken deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws | public WxMpOAuth2AccessToken deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws | ||||
| @@ -28,6 +33,9 @@ public class WxMpOAuth2AccessTokenAdapter implements JsonDeserializer<WxMpOAuth2 | |||||
| if (accessTokenJsonObject.get("scope") != null && !accessTokenJsonObject.get("scope").isJsonNull()) { | if (accessTokenJsonObject.get("scope") != null && !accessTokenJsonObject.get("scope").isJsonNull()) { | ||||
| accessToken.setScope(GsonHelper.getAsString(accessTokenJsonObject.get("scope"))); | 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; | return accessToken; | ||||
| } | } | ||||