From c64caa25a8f6ffa026527828c1da3cd97c5c99c6 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期四, 17 七月 2025 16:22:34 +0800
Subject: [PATCH] 企业微信H5登录手动授权并获取手机号码适配修改,用户同步根据现场情况调整

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
index 31a137d..ea29976 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
@@ -66,6 +66,9 @@
 	@Autowired
 	private ThirdAppDingtalkServiceImpl thirdAppDingtalkService;
 
+	/**token鏈夋晥鏃堕棿锛岀洰鍓嶇幇鍦鸿姹備紒涓氬井淇℃湁鏁堟椂闂�*/
+	public static final long EXPIRE_TIME = 30L * 24 * 60 * 60 * 1000;
+
 	@RequestMapping("/render/{source}")
     public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
         log.info("绗笁鏂圭櫥褰曡繘鍏ender锛�" + source);
@@ -203,7 +206,7 @@
 		String token = JwtUtil.sign(user.getUsername(), user.getPassword());
 		redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
 		// 璁剧疆瓒呮椂鏃堕棿
-		redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000);
+		redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, EXPIRE_TIME / 1000);
 		return token;
 	}
 
@@ -308,15 +311,17 @@
 			// 浼佷笟鐨凜orpID
 			builder.append("?appid=").append(config.getClientId());
 			// 鎺堟潈鍚庨噸瀹氬悜鐨勫洖璋冮摼鎺ュ湴鍧�锛岃浣跨敤urlencode瀵归摼鎺ヨ繘琛屽鐞�
-			String redirectUri ="http://houjie.xalxzn.com:8866/jeecg-boot/sys/thirdLogin/oauth2/wechat_enterprise/callback";
+			String redirectUri ="https://fastwoke.cn:8087/jeecg-boot/sys/thirdLogin/oauth2/wechat_enterprise/callback";
 			builder.append("&redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8"));
 			// 杩斿洖绫诲瀷锛屾鏃跺浐瀹氫负锛歝ode
 			builder.append("&response_type=code");
 			// 搴旂敤鎺堟潈浣滅敤鍩熴��
 			// snsapi_base锛氶潤榛樻巿鏉冿紝鍙幏鍙栨垚鍛樼殑鐨勫熀纭�淇℃伅锛圲serId涓嶥eviceId锛夛紱
-			builder.append("&scope=snsapi_base");
+			//builder.append("&scope=snsapi_base");
+			builder.append("&scope=snsapi_privateinfo"); // 鎵嬪姩鎺堟潈浣滅敤鍩�
 			// 閲嶅畾鍚戝悗浼氬甫涓妔tate鍙傛暟锛岄暱搴︿笉鍙秴杩�128涓瓧鑺�
 			builder.append("&state=").append(state);
+			builder.append("&agentid=").append(config.getAgentId()); // 琛ュ厖AgentID
 			// 缁堢浣跨敤姝ゅ弬鏁板垽鏂槸鍚﹂渶瑕佸甫涓婅韩浠戒俊鎭�
 			builder.append("#wechat_redirect");
 			url = builder.toString();
@@ -373,6 +378,10 @@
         SysUser loginUser;
         if (ThirdAppConfig.WECHAT_ENTERPRISE.equalsIgnoreCase(source)) {
             log.info("銆愪紒涓氬井淇°�慜Auth2鐧诲綍杩涘叆callback锛歝ode=" + code + ", state=" + state);
+			if (code == null) {
+				log.info("鐢ㄦ埛鍙栨秷浜嗕紒涓氬井淇℃巿鏉�");
+				return "鐢ㄦ埛鍙栨秷浜嗘巿鏉�";
+			}
             loginUser = thirdAppWechatEnterpriseService.oauth2Login(code);
             if (loginUser == null) {
                 return "鐧诲綍澶辫触";

--
Gitblit v1.9.3