|
|
@@ -1,5 +1,8 @@
|
|
1
|
1
|
package com.sharemao.web.wx.ctrl;
|
|
2
|
2
|
|
|
|
3
|
+import java.net.URLEncoder;
|
|
|
4
|
+import java.util.Arrays;
|
|
|
5
|
+import java.util.HashMap;
|
|
3
|
6
|
import java.util.Map;
|
|
4
|
7
|
|
|
5
|
8
|
import javax.servlet.http.HttpSession;
|
|
|
@@ -79,6 +82,7 @@ public class AuthCtrl
|
|
79
|
82
|
if(Tools.isEmpty(phonenum))
|
|
80
|
83
|
{
|
|
81
|
84
|
context.getRequest().setAttribute("sn", cursn);
|
|
|
85
|
+ initWxJsApiSign(context);
|
|
82
|
86
|
return new TextView("/activation.jsp");
|
|
83
|
87
|
}
|
|
84
|
88
|
else
|
|
|
@@ -88,7 +92,13 @@ public class AuthCtrl
|
|
88
|
92
|
String defaultdev =dataJson.getString("defaultdev");
|
|
89
|
93
|
if(Tools.isEmpty(defaultdev)) {
|
|
90
|
94
|
defaultdev = cursn;
|
|
91
|
|
- }
|
|
|
95
|
+ } /*else if(!Tools.isEmpty(defaultdev)&&getDevtype(defaultdev)==16) {
|
|
|
96
|
+ String url="http://dy.yunjia99.cn/user/index.do";
|
|
|
97
|
+ url = URLEncoder.encode(url);
|
|
|
98
|
+ log.info("url="+url);
|
|
|
99
|
+ String path = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxb06cf14f96dd7149&redirect_uri=" + url + "&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
|
|
|
100
|
+ return new TextView(path);
|
|
|
101
|
+ }*/
|
|
92
|
102
|
session.setAttribute("defaultdev", defaultdev); // 默认设备
|
|
93
|
103
|
/*if(Tools.isEmpty(defaultdev)) {
|
|
94
|
104
|
return new TextView("/device/getDevInfo.do");
|
|
|
@@ -104,6 +114,7 @@ public class AuthCtrl
|
|
104
|
114
|
String lt=DateTimeUtil.longtime();
|
|
105
|
115
|
lt=lt.substring(0,lt.length()-2);
|
|
106
|
116
|
context.getRequest().setAttribute("sign", CodecUtil.str2md5("znz"+cursn+"125226"+lt));
|
|
|
117
|
+ initWxJsApiSign(context);
|
|
107
|
118
|
return new TextView("/activation.jsp");
|
|
108
|
119
|
}
|
|
109
|
120
|
}
|
|
|
@@ -153,6 +164,7 @@ public class AuthCtrl
|
|
153
|
164
|
if(Tools.isEmpty(phonenum))
|
|
154
|
165
|
{
|
|
155
|
166
|
context.getRequest().setAttribute("sn", cursn);
|
|
|
167
|
+ initWxJsApiSign(context);
|
|
156
|
168
|
return new TextView("/activation.jsp");
|
|
157
|
169
|
}
|
|
158
|
170
|
else
|
|
|
@@ -177,9 +189,32 @@ public class AuthCtrl
|
|
177
|
189
|
String lt=DateTimeUtil.longtime();
|
|
178
|
190
|
lt=lt.substring(0,lt.length()-2);
|
|
179
|
191
|
context.getRequest().setAttribute("sign", CodecUtil.str2md5("znz"+cursn+"125226"+lt));
|
|
|
192
|
+ initWxJsApiSign(context);
|
|
180
|
193
|
return new TextView("/activation.jsp");
|
|
181
|
194
|
}
|
|
182
|
195
|
}
|
|
|
196
|
+
|
|
|
197
|
+ private void initWxJsApiSign(Context context){
|
|
|
198
|
+ HttpSession session = context.getRequest().getSession();
|
|
|
199
|
+ String jsapiAccessToken = (String) session.getAttribute("jsapiAccessToken");
|
|
|
200
|
+ if(GzhUtil.isEmpty(jsapiAccessToken)) {
|
|
|
201
|
+ jsapiAccessToken = GzhUtil.getAccessToken(Constants.appId, Constants.appSecret);
|
|
|
202
|
+ session.setAttribute("jsapiAccessToken", jsapiAccessToken);
|
|
|
203
|
+ }
|
|
|
204
|
+ String jsapiTicket = (String) session.getAttribute("jsapiTicket");
|
|
|
205
|
+ if(GzhUtil.isEmpty(jsapiTicket)) {
|
|
|
206
|
+ jsapiTicket = GzhUtil.getJsapiTicket(jsapiAccessToken);
|
|
|
207
|
+ session.setAttribute("jsapiTicket", jsapiTicket);
|
|
|
208
|
+ }
|
|
|
209
|
+ String reqUrl = context.getRequest().getRequestURL().toString();
|
|
|
210
|
+ reqUrl = reqUrl.split("#")[0];
|
|
|
211
|
+ String query = context.getRequest().getQueryString();
|
|
|
212
|
+ String surl = GzhUtil.isEmpty(query) ? reqUrl : reqUrl+"?"+query;
|
|
|
213
|
+ Map<String, String> signret = GzhUtil.createSign(surl, jsapiTicket);
|
|
|
214
|
+ signret.put("appid", Constants.appId);
|
|
|
215
|
+ context.getRequest().setAttribute("signret", signret);
|
|
|
216
|
+ log.info("signret:"+signret);
|
|
|
217
|
+ }
|
|
183
|
218
|
|
|
184
|
219
|
/**
|
|
185
|
220
|
* 用户登陆界面,登陆后将微信号自动绑定到用户账号
|