浏览代码

'配置通用请求路径'

james 11 月之前
父节点
当前提交
e307d6167e

+ 4 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/constant/constant.java

@@ -25,5 +25,9 @@ public class constant {
     public static final String WE_CHAT_TOP_COLOR = "#A349A4";
     // 微信公众号微信用户授权地址
     public static final String WE_CHAT_AUTHORIZATION_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code";
+    // 微信公众号登录前端部署相对路径
+    public static final String WE_CHAT_LOGIN = "/mobile/#/pages/login";
+    // 微信公众号首页前端部署相对路径
+    public static final String WE_CHAT_INDEX = "/mobile/#/pages/index";
 
 }

+ 38 - 53
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/WeChatController.java

@@ -77,9 +77,6 @@ public class WeChatController {
 
         if(StringUtils.isBlank(code)){
             String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
-            String temp1 = http+request.getServerName()+"/prod-api/service-iot"+request.getRequestURI();
-            String tmep2 = request.getRequestURL()+"";
-            System.out.println("temp  temp "+temp1+tmep2);
             String url = URLDecoder.decode(temp, "UTF-8");
             String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
             try{
@@ -105,7 +102,7 @@ public class WeChatController {
 //                    request.getSession().setAttribute("phone",one.getPhone());
 //                }
 
-                String sendUrl = "https://manager.usky.cn/mobile/#/pages/login?openId="+openid;
+                String sendUrl = http+constant.call_back_domain+constant.WE_CHAT_LOGIN+"?openId="+openid;
                 response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
             } catch (Exception e) {
                 throw new BusinessException(e.getMessage());
@@ -121,72 +118,60 @@ public class WeChatController {
         String http = "https://";
         String code = request.getParameter("code");
         String userAgent = request.getHeader("User-Agent");
-        if(!userAgent.contains("MicroMessenger")){
+        String openId = request.getParameter("openId");
+        if((openId != null) && (StringUtils.isNotBlank(openId))){
             try{
-                response.sendRedirect(URLDecoder.decode("https://manager.usky.cn/mobile/#/pages/login", "UTF-8"));
+                LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
+                queryWrapper.eq(MceMbuser::getOpenid,openId);
+                MceMbuser one = mceMbuserService.getOne(queryWrapper);
+                if(one != null){
+                    String sendUrl = http+constant.call_back_domain+constant.WE_CHAT_INDEX+"?openId="+one.getOpenid();
+                    response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
+                }else{
+                    String sendUrl = http+constant.call_back_domain+constant.WE_CHAT_LOGIN+"?openId="+openId;
+                    response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
+                }
             }catch (IOException e){
                 throw new BusinessException(e.getMessage());
             }
 
         }else{
-            String openId = request.getParameter("openId");
-            if((openId != null) && (StringUtils.isNotBlank(openId))){
+            if(StringUtils.isBlank(code)){
+                String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
+                String url = URLDecoder.decode(temp, "UTF-8");
+                String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
                 try{
+                    System.out.println("sendUrl: "+sendUrl);
+                    response.sendRedirect(sendUrl);
+                }catch (IOException e){
+                    throw new BusinessException(e.getMessage());
+                }
+            }else{
+                System.out.println("code:  "+code);
+                try {
+                    WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);
+
+                    String openid = wxOAuth2AccessToken.getOpenId();
+                    String access_token = wxOAuth2AccessToken.getAccessToken();
+                    System.out.println("openid:  "+openid);
                     LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
-                    queryWrapper.eq(MceMbuser::getOpenid,openId);
+                    queryWrapper.eq(MceMbuser::getOpenid,openid);
                     MceMbuser one = mceMbuserService.getOne(queryWrapper);
                     if(one != null){
-                        String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?openId="+one.getOpenid();
+
+                        String sendUrl = http+constant.call_back_domain+constant.WE_CHAT_INDEX+"?openId="+one.getOpenid();
                         response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
                     }else{
-                        String sendUrl = "https://manager.usky.cn/mobile/#/pages/login?openId="+openId;
+                        String sendUrl = http+constant.call_back_domain+constant.WE_CHAT_LOGIN+"?openId="+openid;
                         response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
                     }
-                }catch (IOException e){
-                    throw new BusinessException(e.getMessage());
-                }
 
-            }else{
-                if(StringUtils.isBlank(code)){
-                    String temp = http+constant.call_back_domain+"/prod-api/service-iot"+request.getRequestURI();
-                    String temp1 = http+request.getServerName()+"/prod-api/service-iot"+request.getRequestURI();
-                    String tmep2 = request.getRequestURL()+"";
-                    System.out.println("temp  temp "+temp1+tmep2);
-                    String url = URLDecoder.decode(temp, "UTF-8");
-                    String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
-                    try{
-                        System.out.println("sendUrl: "+sendUrl);
-                        response.sendRedirect(sendUrl);
-                    }catch (IOException e){
-                        throw new BusinessException(e.getMessage());
-                    }
-                }else{
-                    System.out.println("code:  "+code);
-                    try {
-                        WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);
-
-                        String openid = wxOAuth2AccessToken.getOpenId();
-                        String access_token = wxOAuth2AccessToken.getAccessToken();
-                        System.out.println("openid:  "+openid);
-                        LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
-                        queryWrapper.eq(MceMbuser::getOpenid,openid);
-                        MceMbuser one = mceMbuserService.getOne(queryWrapper);
-                        if(one != null){
-
-                            String sendUrl = "https://manager.usky.cn/mobile/#/pages/index?openId="+one.getOpenid();
-                            response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
-                        }else{
-                            String sendUrl = "https://manager.usky.cn/mobile/#/pages/login?openId="+openid;
-                            response.sendRedirect(URLDecoder.decode(sendUrl, "UTF-8"));
-                        }
-
-
-                    } catch (Exception e) {
-                        throw new BusinessException(e.getMessage());
-                    }
-                }
 
+                } catch (Exception e) {
+                    throw new BusinessException(e.getMessage());
+                }
             }
+
         }
 
     }