目录
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'});}});});
运行结果如下:
以上就是退出登录的功能实现,接下来我们将介绍首页的其他功能的实现。