修改微信登陆相关功能模块
This commit is contained in:
parent
8886bb2eb8
commit
ca93e2cf3c
@ -9,6 +9,7 @@ import com.xkrs.model.entity.WeChatCode;
|
||||
import com.xkrs.utils.HttpClientUtil;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -29,12 +30,11 @@ public class WeChatController {
|
||||
private WeChatCodeDao weChatCodeDao;
|
||||
|
||||
@GetMapping("/callback")
|
||||
public String callback(String code,String state) throws Exception {
|
||||
public String callback(@RequestParam("code") String code, String state) throws Exception {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
try{
|
||||
//1.获取code值,临时票据,类似于验证码
|
||||
System.out.println(code);
|
||||
|
||||
//2.拿着code请求微信固定的地址,得到两个值access_token和openid
|
||||
String baseAccessTokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token" +
|
||||
"?appid=%s" +
|
||||
@ -71,11 +71,13 @@ public class WeChatController {
|
||||
String userInfo = HttpClientUtil.doGet(userInfoUrl);
|
||||
//获取返回的userInfo字符串的扫描人信息
|
||||
JSONObject jsonObject1 = JSON.parseObject(userInfo);
|
||||
System.out.println("------>" + jsonObject1);
|
||||
//昵称
|
||||
String nickname =(String) jsonObject1.get("nickname");
|
||||
//头像
|
||||
String headimgurl =(String) jsonObject1.get("headimgurl");
|
||||
Integer sex = (Integer) jsonObject1.get("sex");
|
||||
String unionid = (String) jsonObject1.get("unionid");
|
||||
|
||||
|
||||
WeChatCode weChatCode = new WeChatCode();
|
||||
@ -83,6 +85,7 @@ public class WeChatController {
|
||||
weChatCode.setNickName(nickname);
|
||||
weChatCode.setUserPhoto(headimgurl);
|
||||
weChatCode.setUserSex(sex.toString());
|
||||
weChatCode.setUnid(unionid);
|
||||
|
||||
weChatCodeDao.save(weChatCode);
|
||||
}
|
||||
|
@ -38,10 +38,13 @@ public class WeChatCode {
|
||||
/** sessionKey */
|
||||
private String sessionKey;
|
||||
|
||||
|
||||
private String unid;
|
||||
|
||||
public WeChatCode() {
|
||||
}
|
||||
|
||||
public WeChatCode(Integer id, String nickName, String userPhone, String userPhoto, String userSex, String openId, String sessionKey) {
|
||||
public WeChatCode(Integer id, String nickName, String userPhone, String userPhoto, String userSex, String openId, String sessionKey, String unid) {
|
||||
this.id = id;
|
||||
this.nickName = nickName;
|
||||
this.userPhone = userPhone;
|
||||
@ -49,6 +52,7 @@ public class WeChatCode {
|
||||
this.userSex = userSex;
|
||||
this.openId = openId;
|
||||
this.sessionKey = sessionKey;
|
||||
this.unid = unid;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
@ -107,6 +111,14 @@ public class WeChatCode {
|
||||
this.sessionKey = sessionKey;
|
||||
}
|
||||
|
||||
public String getUnid() {
|
||||
return unid;
|
||||
}
|
||||
|
||||
public void setUnid(String unid) {
|
||||
this.unid = unid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "WeChatCode{" +
|
||||
@ -117,6 +129,7 @@ public class WeChatCode {
|
||||
", userSex='" + userSex + '\'' +
|
||||
", openId='" + openId + '\'' +
|
||||
", sessionKey='" + sessionKey + '\'' +
|
||||
", unid='" + unid + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.xkrs.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xkrs.common.config.ConstantConfig;
|
||||
import com.xkrs.common.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.dao.AppletsUserDao;
|
||||
import com.xkrs.model.entity.AppletsUser;
|
||||
@ -67,6 +68,7 @@ public class AppletsUserServiceImpl implements AppletsUserService {
|
||||
String sessionKeys = jsonObject.get("session_key").toString();
|
||||
log.info("sessionKey-------"+sessionKeys);
|
||||
String openId = jsonObject.get("openid").toString();
|
||||
|
||||
//校验openId是否有效
|
||||
if (StringUtils.isBlank(openId) || StringUtils.isBlank(sessionKeys)) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.PROCESS_FAIL,"用户登陆失败",locale);
|
||||
|
@ -83,4 +83,4 @@ wx.open.app_id=wx545abff5921505f2
|
||||
# 微信开放平台 appsecret
|
||||
wx.open.app_secret=9e485c69daa2483981fe35f74c22b5ea
|
||||
# 微信开放平台 重定向url
|
||||
wx.open.redirect_url=https://api.earth-rs.com/wh/callback
|
||||
wx.open.redirect_url=https://api.star-rising.cn/wh/callback
|
||||
|
Loading…
Reference in New Issue
Block a user