Skip to content

Commit bfaec76

Browse files
committed
Server:login接口支持记住登录7天
1 parent 42aba60 commit bfaec76

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

APIJSON-Java-Server/APIJSONDemo/src/main/java/apijson/demo/server/Controller.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ private zuo.biao.apijson.JSONRequest newVerifyRequest(int type, String phone, St
359359

360360

361361
public static final String LOGIN = "login";
362+
public static final String REMEMBER = "remember";
362363

363364
public static final int LOGIN_TYPE_PASSWORD = 0;//密码登录
364365
public static final int LOGIN_TYPE_VERIFY = 1;//验证码登录
@@ -381,6 +382,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) {
381382
boolean isPassword;
382383
String phone;
383384
String password;
385+
boolean remember;
384386
int version;
385387
Boolean format;
386388
try {
@@ -404,9 +406,10 @@ public JSONObject login(@RequestBody String request, HttpSession session) {
404406
}
405407
}
406408

407-
//全局版本号,是否格式化
409+
remember = requestObject.getBooleanValue(REMEMBER);
408410
version = requestObject.getIntValue(VERSION);
409411
format = requestObject.getBoolean(FORMAT);
412+
requestObject.remove(REMEMBER);
410413
requestObject.remove(VERSION);
411414
requestObject.remove(FORMAT);
412415
} catch (Exception e) {
@@ -472,14 +475,16 @@ public JSONObject login(@RequestBody String request, HttpSession session) {
472475
}
473476

474477
//登录状态保存至session
475-
session.setAttribute(USER_ID, userId);//用户id
476-
session.setAttribute(TYPE, isPassword ? LOGIN_TYPE_PASSWORD : LOGIN_TYPE_VERIFY);//登录方式
477-
session.setAttribute(USER_, user);//用户
478-
session.setAttribute(PRIVACY_, privacy);//用户隐私信息
479-
session.setAttribute(VERSION, version);//全局默认版本号
480-
session.setAttribute(FORMAT, format);//全局默认格式化配置
481-
// session.setMaxInactiveInterval(1*60);//设置session过期时间
482-
478+
session.setAttribute(USER_ID, userId); //用户id
479+
session.setAttribute(TYPE, isPassword ? LOGIN_TYPE_PASSWORD : LOGIN_TYPE_VERIFY); //登录方式
480+
session.setAttribute(USER_, user); //用户
481+
session.setAttribute(PRIVACY_, privacy); //用户隐私信息
482+
session.setAttribute(REMEMBER, remember); //记住登录
483+
session.setAttribute(VERSION, version); //全局默认版本号
484+
session.setAttribute(FORMAT, format); //全局默认格式化配置
485+
session.setMaxInactiveInterval(60*60*24*(remember ? 7 : 1)); //设置session过期时间
486+
487+
response.put(REMEMBER, remember);
483488
return response;
484489
}
485490

APIJSON-Java-Server/APIJSONDemo/src/main/java/apijson/demo/server/DemoFunction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ public int deleteCommentOfMoment(@NotNull JSONObject rq, @NotNull String momentI
232232
* @return
233233
*/
234234
public int deleteChildComment(@NotNull JSONObject rq, @NotNull String toId) throws Exception {
235-
if (method != RequestMethod.DELETE) {
235+
if (method != RequestMethod.DELETE) { //TODO 如果这样的判断太多,可以把 DemoFunction 分成对应不同 RequestMethod 的 GetFunciton 等,创建时根据 method 判断用哪个
236236
throw new UnsupportedOperationException("远程函数 deleteChildComment 只支持 DELETE 方法!");
237237
}
238238

0 commit comments

Comments
 (0)