-
-
Notifications
You must be signed in to change notification settings - Fork 9k
Description
package me.chanjar.weixin.open.bean.auth;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import lombok.Data;
/**
-
@author 007
*/
@DaTa
public class WxOpenAuthorizerInfo implements Serializable {
private static final long serialVersionUID = -5327886953416394738L;private String nickName;
private String headImg;
private Integer serviceTypeInfo;
private Integer verifyTypeInfo;
private String userName;
private String principalName;
private Map<String, Integer> businessInfo;
private String alias;
private String qrcodeUrl;
// 账号介绍
private String signature;
// 可根据这个字段判断是否为小程序类型授权
private MiniProgramInfo MiniProgramInfo;@DaTa
public class MiniProgramInfo {private Integer visit_status; // 小程序已设置的各个服务器域名 private Network network; private List<Categorie> categories; @Data public class Categorie { private String first; private String second; } @Data public class Network { private List<String> RequestDomain; private List<String> WsRequestDomain; private List<String> UploadDomain; private List<String> DownloadDomain; }}
}
package me.chanjar.weixin.open.util.json;
import java.lang.reflect.Type;
import java.util.Map;
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 com.google.gson.reflect.TypeToken;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.open.bean.auth.WxOpenAuthorizerInfo;
import me.chanjar.weixin.open.bean.auth.WxOpenAuthorizerInfo.MiniProgramInfo;
/**
-
@author 007
*/
public class WxOpenAuthorizerInfoGsonAdapter implements JsonDeserializer {
@OverRide
public WxOpenAuthorizerInfo deserialize(JsonElement jsonElement, Type type,
JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
WxOpenAuthorizerInfo authorizationInfo = new WxOpenAuthorizerInfo();
JsonObject jsonObject = jsonElement.getAsJsonObject();authorizationInfo.setNickName(GsonHelper.getString(jsonObject, "nick_name")); authorizationInfo.setHeadImg(GsonHelper.getString(jsonObject, "head_img")); authorizationInfo.setUserName(GsonHelper.getString(jsonObject, "user_name")); authorizationInfo.setPrincipalName(GsonHelper.getString(jsonObject, "principal_name")); authorizationInfo.setAlias(GsonHelper.getString(jsonObject, "alias")); authorizationInfo.setQrcodeUrl(GsonHelper.getString(jsonObject, "qrcode_url")); if (jsonObject.has("service_type_info")) { authorizationInfo .setServiceTypeInfo(GsonHelper.getInteger(jsonObject.getAsJsonObject("service_type_info"), "id")); } if (jsonObject.has("verify_type_info")) { authorizationInfo .setVerifyTypeInfo(GsonHelper.getInteger(jsonObject.getAsJsonObject("verify_type_info"), "id")); } Map<String, Integer> businessInfo = WxOpenGsonBuilder.create().fromJson(jsonObject.get("business_info"), new TypeToken<Map<String, Integer>>() { }.getType()); authorizationInfo.setBusinessInfo(businessInfo); MiniProgramInfo MiniProgramInfo = WxOpenGsonBuilder.create().fromJson(jsonObject.get("MiniProgramInfo"), new TypeToken<MiniProgramInfo>() { }.getType()); authorizationInfo.setMiniProgramInfo(MiniProgramInfo); return authorizationInfo;}
}