修改微信登陆相关功能模块
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user