目錄
1. 實現 Controller
2. 單體測試
3. 實現前端界面
退出的具體實現邏輯如下:
1. 用戶訪問退出接口2. 服務器注銷 Session( 在 Controller 中可以直接進行處理 )3. 返回成功或失敗4. 如果返回成功瀏覽器跳轉到相應頁面5. 結束
一般來說,在退出登錄后跳轉到登錄頁面。
1. 實現 Controller
在 Contrller 中實現銷毀 Session 就完成了用戶退出功能,不需要編寫 Service 層代碼。
@ApiOperation("用戶退出")@ResponseBody@GetMapping("/logout")public AppResult logout (HttpServletRequest request) {// 獲取session對象HttpSession session = request.getSession(false);// 判斷 session 是否有效if (session != null) {log.debug("注銷成功" + session.toString());// 注銷 sessionsession.invalidate();}// 退出成功響應return AppResult.success("注銷成功");}
2. 單體測試
?首先進行登錄:
接下來退出:
?測試成功。
3. 實現前端界面
前端對應的退出的標簽如下圖所示:
接下來,我們在前端界面中根據對應的 id 進行查找、補充。
編寫前端代碼:
// ============================ 處理退出登錄點擊事件 ===========================// 成功后,跳轉到sign-in.html$('#index_user_logout').click(function () {$.ajax({type: 'GET',url: "user/logout",// 成功回調success : function(respData) {// ?狀態碼判斷是否成功if (respData.code == 0) {// 成功location.assign('/sign-in.html');} else {// 失敗$.toast({heading : '警告',text : respData.message,icon : 'Warning'});}},// 失敗(HTTP)error: function() {$.toast({heading : '錯誤',text : '出錯了,請聯系管理員',icon : 'error'});}});});
運行結果如下:?
以上就是退出登錄的功能實現,接下來我們將介紹首頁的其他功能的實現。?