快捷搜索: 王者荣耀 脱发

java 实现微信授权登陆

附官方文档地址:

准备工作做好后我们开始实现,我们项目用的是springBoot+mybatis框架进行的接口开发

2.拿着第一步获得的code去获取用户信息并进行登录操作,代码如下

package com.xk.hmo.dto.login;

import lombok.Data;

@Data
public class WxLoginInfo {
          
   

    private String openid;//用户唯一标识
    private String session_key;//会话密匙
    private String unionid;//用户在开放平台的唯一标识符,在满足 UnionID 下发条件的情况下会返回
    private Integer errcode;
    private String errmsg;

}

appId 和 appSecret:

pom文件引入:

<dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.1</version>
</dependency>

FastJsonUtil:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.xml.crypto.dsig.keyinfo.KeyValue;

public class FastJsonUtil {
          
   
    private static final SerializeConfig config = new SerializeConfig();
    private static final SerializerFeature[] features;

    private FastJsonUtil() {
          
   
        throw new AssertionError();
    }

    public static String toJSONString(Object obj) {
          
   
        return JSON.toJSONString(obj, config, features);
    }

    public static String toJSONNoFeatures(Object obj) {
          
   
        return JSON.toJSONString(obj, config, new SerializerFeature[0]);
    }

    public static Object toBean(String str) {
          
   
        return JSON.parse(str);
    }

    public static <T> T toBean(String str, Class<T> clazz) {
          
   
        return JSON.parseObject(str, clazz);
    }

    public static <T> Object[] toArray(String str) {
          
   
        return toArray(str, (Class)null);
    }

    public static <T> Object[] toArray(String str, Class<T> clazz) {
          
   
        return JSON.parseArray(str, clazz).toArray();
    }

    public static <T> List<T> toList(String str, Class<T> clazz) {
          
   
        return JSON.parseArray(str, clazz);
    }

    public static Object beanToJson(KeyValue keyvalue) {
          
   
        String textJson = JSON.toJSONString(keyvalue);
        Object objectJson = JSON.parse(textJson);
        return objectJson;
    }

    public static Object strToJson(String str) {
          
   
        Object objectJson = JSON.parse(str);
        return objectJson;
    }

    public static Map stringToCollect(String str) {
          
   
        Map m = JSONObject.parseObject(str);
        return m;
    }

    public static String collectToString(Map map) {
          
   
        String str = JSONObject.toJSONString(map);
        return str;
    }

    static {
          
   
        config.put(Date.class, new JSONLibDataFormatSerializer());
        config.put(java.sql.Date.class, new JSONLibDataFormatSerializer());
        features = new SerializerFeature[]{
          
   SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullNumberAsZero, SerializerFeature.WriteNullBooleanAsFalse, SerializerFeature.WriteNullStringAsEmpty};
    }
}
经验分享 程序员 微信小程序 职场和发展