Skip to content

开放平台获取授权方的帐号基本信息返回对象缺少字段MiniProgramInfo #401

@DrunkLife

Description

@DrunkLife

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;
    

    }
    }

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions