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};
}
}
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
微信小程序登录Java后台接口
