ソースを参照

iamberry功能修改

liujiankang 7 年 前
コミット
b0730c42f4

+ 6 - 6
iamberry-wechat-web/src/main/java/com/iamberry/wechat/filters/WechatFilter.java

@@ -31,11 +31,11 @@ import com.iamberry.wechat.tools.NameUtils;
  */
 @WebFilter(value = { "/wechat/*","/pay/goOrderInfo" })
 public class WechatFilter implements Filter {
-	
+
 	private static Logger logger = LoggerFactory.getLogger(WechatFilter.class);
 
 	public void doFilter(ServletRequest request, ServletResponse response,
-			FilterChain chain) throws IOException, ServletException {
+						 FilterChain chain) throws IOException, ServletException {
 		// 权限拦截类
 		HttpServletRequest req = (HttpServletRequest) request;
 		HttpServletResponse resp = (HttpServletResponse) response;
@@ -49,12 +49,12 @@ public class WechatFilter implements Filter {
 				chain.doFilter(req, resp);
 				return;
 			}
-			
+
 			// 请求数据URI,并去掉"/" + 项目名称
 			String query = req.getQueryString();
 			String urlstr = req.getRequestURI().toString();
 			String redirectUrl = urlstr.replace(req.getContextPath(), "");
-			
+
 			// 如果没有登录,并且来自于微信,请求的链接并且为/wechat/qrcode/xxxx,那么放过,保证可以保持机器信息
 			String ua = req.getHeader("user-agent").toLowerCase();
 			if( ua.indexOf("micromessenger") < 0 && urlstr.indexOf("wechat/qrcode") > 0) {
@@ -66,11 +66,11 @@ public class WechatFilter implements Filter {
 			if (query != null) redirectUrl = redirectUrl + "?" + query;
 			req.getSession().setAttribute(NameUtils.redirectUrl, redirectUrl);
 			String url = WechatUtils.getOpenIdFunction();
-			
+
 			// 判断请求,如果来自于Ajax,那么不能直接转发,否则JS前端报错,如果来自Ajax,那么报错请求页面的Referer,此为转发请求回调成功后跳转地址
 			String requestedWith = req.getHeader("x-requested-with");
 			String accept = req.getHeader("accept");
-			if ((StringUtils.isNotEmpty(requestedWith) && requestedWith.indexOf("XMLHttpRequest") != -1) 
+			if ((StringUtils.isNotEmpty(requestedWith) && requestedWith.indexOf("XMLHttpRequest") != -1)
 					|| (StringUtils.isNotEmpty(accept) && accept.indexOf("json") != -1)) {
 				// 如果当前用户没有登录,并且浏览器期望的是返回JSON格式的数据,那么进行拼装,并且直接write
 				String redirectURL = req.getHeader("Referer");

+ 1 - 1
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java

@@ -417,7 +417,7 @@ public class ProductInfoHandler {
 		// 重要操作,判断是否登陆,防止服务器重启
 		if (member == null || member.getUserOpenid() == null) { // 重新授权
 			request.getSession().setAttribute(NameUtils.redirectUrl, request.getRequestURI().replace(request.getContextPath(), ""));
-			String url = WechatUtils.getOpenIdFunction();response.sendRedirect(url);return;
+			return;
 		}
 		// 校验数据
 		if (productIdMd5 == null || "".equals(productIdMd5)) {

+ 1 - 5
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/RequestWechatPayHandler.java

@@ -67,11 +67,7 @@ public class RequestWechatPayHandler {
 		Member member = wechatUtils.getUserBySession(request);
 		
 		if (member == null || member.getUserOpenid() == null) {
-			String redirectUrl = request.getRequestURI().replace(request.getContextPath(), "");
-			request.getSession().setAttribute(NameUtils.redirectUrl, redirectUrl);
-			String url = WechatUtils.getOpenIdFunction();
-			mv.setViewName("redirect:" + url);
-			return mv;
+			return null;
 		}
 		// 清空数据
 		request.getSession().removeAttribute("cartIds");