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后台接口