Quellcode durchsuchen

微信拦截添加日志

wangxiaoming vor 7 Jahren
Ursprung
Commit
5eb13fc324

+ 7 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/WechatUtils.java

@@ -13,6 +13,8 @@ import com.iamberry.jwt.UserNotLoginException;
 import com.iamberry.jwt.WebJsonTokenUtil;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.tools.NameUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * description : 微信端用户工具类 
@@ -20,6 +22,8 @@ import com.iamberry.wechat.tools.NameUtils;
  * create date:2016年2月25日
  */
 public class WechatUtils {
+
+	private static Logger logger = LoggerFactory.getLogger(WechatUtils.class);
 	
 	/**
 	 * 将用户信息保存到session中,并做安全设置, 注意,如果了安全,将token写入cookie后,应该在后台保存一份token的签名,前台 保存value,后台保存签名
@@ -70,6 +74,9 @@ public class WechatUtils {
 	 * @Time   2016年11月24日
 	 */
 	public static Member getUserBySession(HttpServletRequest request) {
+
+		logger.info("获取用户信息");
+
 		//获取一个cookie数组
 		Cookie[] cookies = request.getCookies();
 		if (cookies == null) {

+ 13 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/filters/WechatFilter.java

@@ -46,6 +46,9 @@ public class WechatFilter implements Filter {
 			} catch (Exception e1) {
 				logger.error("[致命错误 4003]" + e1.getMessage());
 			}
+		}catch (Exception e){
+			e.printStackTrace();
+			logger.info("获取信息失败");
 		}
 	}
 	
@@ -73,18 +76,27 @@ public class WechatFilter implements Filter {
 			urlstr = urlstr + "?" + query;
 		}
 		String url = WechatUtils.getOpenIdFunction(urlstr);
+
+		logger.info("=====url:" + url);
 		
 		// 判断请求,如果是来自Ajax,那么直接返回302跳转会导致前端报错,所以返回JSON格式数据,状态为200
 		String requestedWith = req.getHeader("x-requested-with");
 		String accept = req.getHeader("accept");
 		if ((requestedWith != null && StringUtils.isNotEmpty(requestedWith) && requestedWith.indexOf("XMLHttpRequest") != -1)
 				|| (accept != null && StringUtils.isNotEmpty(accept) && accept.indexOf("json") != -1)) {
+
+			logger.info("requestedWith:" + requestedWith + "===   accept:" +  accept);
+
 			// 客户端需要的是json数据
 			String redirectURL = req.getHeader("Referer");
 			resp.getWriter().write("{\"isRedirect\":true, \"redirectURL\":\"" + WechatUtils.getOpenIdFunction(redirectURL) + "\"}");
+
+			logger.info("============= : {\"isRedirect\":true, \"redirectURL\":\"" + WechatUtils.getOpenIdFunction(redirectURL) + "\"}");
+
 			return;
 		}
-		
+
+		logger.info("=====url:" + url);
 		// 客户端没有登录的请求不是来自于Ajax,可以执行跳转动作
 		resp.sendRedirect(url);
 	}

+ 8 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/WechatBackHandler.java

@@ -3,7 +3,10 @@ package com.iamberry.wechat.handles.pay;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.iamberry.wechat.filters.WechatFilter;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -24,6 +27,8 @@ import com.iamberry.wechat.tools.WeixinUtil;
  */
 @Controller
 public class WechatBackHandler {
+
+	private static Logger logger = LoggerFactory.getLogger(WechatBackHandler.class);
 	
 	@Autowired
 	private HomeService homeService;
@@ -43,6 +48,9 @@ public class WechatBackHandler {
 			@RequestParam(value = "callback", required = false) String callback,
 			HttpServletRequest request,
 			HttpServletResponse response) throws Exception {
+
+		logger.info("微信返回的连接");
+
 		String callbackURL = NameUtils.getConfig("redirectUrl_index");
 		if (callback != null) {
 			callbackURL = "redirect:" + WechatUtils.getCallback(callback);