From 74c698fb0f094d7d322cfe6a218cf7c86e82a43f Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 30 九月 2022 11:26:18 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/controller/sys/SignController.java |   77 ++++++++++++++++++++++++++++++--------
 1 files changed, 61 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/sys/SignController.java b/src/main/java/com/lf/server/controller/sys/SignController.java
index 25efeb4..30b462b 100644
--- a/src/main/java/com/lf/server/controller/sys/SignController.java
+++ b/src/main/java/com/lf/server/controller/sys/SignController.java
@@ -5,9 +5,6 @@
 import com.lf.server.entity.data.LoginEntity;
 import com.lf.server.entity.data.TokenEntity;
 import com.lf.server.entity.data.UsersEntity;
-import com.lf.server.entity.sys.LoginInfo;
-import com.lf.server.entity.sys.Result;
-import com.lf.server.entity.sys.User;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.helper.WebHelper;
 import com.lf.server.service.data.LoginService;
@@ -43,12 +40,12 @@
      * @return String
      */
     @GetMapping({"/", "/toIndex"})
-    public ModelAndView toIndex(ModelAndView mv) {
+    public ModelAndView toIndex(ModelAndView mv, HttpServletRequest req) {
         mv.setViewName("index");
 
-        User user = null;
-        if (user != null) {
-            mv.addObject("msg", "Hello " + user.getLoginName() + " !");
+        UsersEntity ue = tokenService.getCurrentUser(req);
+        if (ue != null) {
+            mv.addObject("msg", "Hello " + ue.getUname() + " !");
         }
 
         return mv;
@@ -69,7 +66,7 @@
     /**
      * 鐧诲綍璁よ瘉
      *
-     * @return String
+     * @return ResponseMsg<TokenEntity>
      */
     @PostMapping(value = "/login", produces = "application/json; charset=UTF-8")
     public ResponseMsg<TokenEntity> login(@RequestBody UsersEntity user, HttpServletRequest req, HttpServletResponse res) {
@@ -109,7 +106,7 @@
                 return fail("鍒涘缓浠ょ墝淇℃伅澶辫触锛�", null);
             }
 
-            WebHelper.saveToken2Cookie(te.getToken(), req, res);
+            tokenService.saveToken(ue, te, req, res);
 
             return success(te);
         } catch (Exception ex) {
@@ -118,15 +115,63 @@
     }
 
     /**
-     * 娉ㄩ攢
+     * 鐧诲嚭
      *
-     * @return String
+     * @param req
+     * @param res
+     * @return
      */
-    @GetMapping("/logout")
-    public ModelAndView logout() {
-        ModelAndView mv = new ModelAndView();
-        mv.setViewName("login");
+    @GetMapping(value = "/logout")
+    public ResponseMsg<Boolean> logout(HttpServletRequest req, HttpServletResponse res) {
+        try {
+            String token = WebHelper.getToken(req);
+            if (StringHelper.isEmpty(token)) {
+                return fail("娌℃湁妫�娴嬪埌浠ょ墝", false);
+            }
 
-        return mv;
+            //...
+            Boolean flag = tokenService.isLogin(req, res);
+
+            return success(flag ? "鐢ㄦ埛宸茬櫥褰�" : "鐢ㄦ埛鏈櫥褰�", flag);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), false);
+        }
+    }
+
+    /**
+     * 鏄�/鍚︾櫥褰�
+     *
+     * @return ResponseMsg<String>
+     */
+    @GetMapping("/isLogin")
+    public ResponseMsg<Boolean> isLogin(HttpServletRequest req, HttpServletResponse res) {
+        try {
+            Boolean flag = tokenService.isLogin(req, res);
+
+            return success(flag ? "鐢ㄦ埛宸茬櫥褰�" : "鐢ㄦ埛鏈櫥褰�", flag);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), false);
+        }
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鐢ㄦ埛
+     *
+     * @param req
+     * @param res
+     * @return
+     */
+    @GetMapping("/getCurrentUser")
+    public ResponseMsg<UsersEntity> getCurrentUser(HttpServletRequest req, HttpServletResponse res) {
+        try {
+            UsersEntity ue = tokenService.getCurrentUser(req);
+            if (ue == null) {
+                return fail("娌℃湁鎵惧埌", null);
+            }
+
+            return success(ue);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
     }
 }

--
Gitblit v1.9.3