Browse Source

初始化

刘韬 6 năm trước cách đây
mục cha
commit
372dc346cd

+ 3 - 3
PacsOnline_Wechat_Patient/src/main/java/com/zskk/controller/WebBridgeController.java

@@ -34,7 +34,7 @@ public class WebBridgeController extends Controller {
 			if (sessionObj == null) {
 				String code = this.getPara("code");
 				if (code == null) {
-					String url = wService.getCodeUrl("wxee1c68f8944d357b", toUrl);
+					String url = wService.getCodeUrl("wxee1c68f8944d357b", getRequest().getRequestURL().toString());
 					this.redirect(url);
 					return;
 				}
@@ -51,8 +51,8 @@ public class WebBridgeController extends Controller {
 //				}
 //				this.getRequest().getSession().setAttribute("pwpSessionObj", userWechats);
 ////
-//				String uidStr = toUrl.contains("?") ? "&openid=" : "?openid=";
-//				this.redirect(toUrl + uidStr + openId);
+				String uidStr = toUrl.contains("?") ? "&openid=" : "?openid=";
+				this.redirect(toUrl + uidStr + snsAccessToken.getOpenid());
 			} else {
 //				UserService uService = ServiceFactory.getService(UserService.class);
 //				User userWechats = (User) sessionObj;

+ 20 - 2
PacsOnline_Wechat_Patient/src/main/java/com/zskk/service/WeixinService.java

@@ -1,5 +1,8 @@
 package com.zskk.service;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
 import com.jfinal.weixin.sdk.api.SnsAccessToken;
 import com.jfinal.weixin.sdk.api.SnsAccessTokenApi;
 
@@ -8,9 +11,11 @@ public class WeixinService {
 	/**
 	 * 用户同意授权,获取带code的url
 	 * @return
+	 * @throws UnsupportedEncodingException 
 	 */
-	public String getCodeUrl(String appId, String redirect_uri) {
-		String url = SnsAccessTokenApi.getAuthorizeURL(appId, redirect_uri, false);
+	public String getCodeUrl(String appId, String redirect_uri) throws UnsupportedEncodingException {
+		String encode = URLEncoder.encode(redirect_uri, "UTF-8");
+		String url = SnsAccessTokenApi.getAuthorizeURL(appId, encode, false);
 		return url;
 	}
 
@@ -18,4 +23,17 @@ public class WeixinService {
 		SnsAccessToken snsAccessToken = SnsAccessTokenApi.getSnsAccessToken(appId, secret, code);
 		return snsAccessToken;
 	}
+	
+//	public static void main(String[] args) {
+//		try {
+//			String url = URLEncoder.encode("http://wechat.client.pacsonline.cn/#/bind", "UTF-8");
+//			String ssString =  getCodeUrl("wxee1c68f8944d357b", url);
+//			System.out.println(ssString);
+//		} catch (UnsupportedEncodingException e) {
+//			// TODO Auto-generated catch block
+//			e.printStackTrace();
+//		}
+//
+//		
+//	}
 }