项目持续更新中:

仿抖音短视频APP专栏

目录

用户退出登录

开发查询用户信息接口

统一封装修改用户信息(一)

统一封装修改用户信息(二)


用户退出登录

此时还没有实现退出登录.

在前端中,我们找到logout:

把用户id组为参数传入,如果成功会调用一个clearUseInfo(),

移除本地的缓存,用户信息和token

在controller中:

 @PostMapping("logout")public Object logout(@RequestParam String userId,HttpServletRequest request) throws Exception {//后端只需要清除用户的token信息,前端也需要清除,清除本地APP中的用户信息和token会话信息redis.del(REDIS_USER_TOKEN+":"+userId);return GraceJSONResult.ok();}

思考:考虑到后端接口到多端使用,那么不同的端,在本地的缓存是不是也都是直接删除就可以?

我们重启,打开Redis图形化软件,在数据库中查找。

点击退出登录:

rdm刷新之后,我们发现用户信息在后端被清除。

前端点击我,又会进入注册登录界面

获取验证码登录之后,信息还是之前的信息,因为这是是做的查询:

此时会话信息又会出现,只是令牌重新做了更换

开发查询用户信息接口

点击其他页面,再回来时,会有一个界面的刷新。包括关注,粉丝,获得也会随着时间的变化而改变,这些是动态的。打开前端,找到页面的生命周期:

对于这样的一块信息,我们也是要动态做一个展示:

在后端中,创建一个新的controller,

在我们的service中添加获得用户信息的方法:

实现方法:

在请求的后面加问号,这样的参数叫请求参数,如果是在路径中,就是路径参数。

在这里是我们用户的一些基本信息,仅仅只是一个查询,token是不需要修改的。

而这里,这些都是数值,在现如今的互联网开发,如我们使用数据库进行一个统计,会产生非常大的影响。比如我们的粉丝可能会有百万,千万..

我们这里使用redis做技术,它是单线程,我们可以做累加累减,我们获取时,也是使用相应的key。我们在这里要扩展相应的字段:

预先定义建好:

在controller中拓展:

判断key值:

最后参数设置进去之后,要返回usersVO。

重启,打开页面,这里用户的背景,信息等都已经有了相应的展示。

统一封装修改用户信息(一)

点击用户信息,这里我们分为两个部分,图片部分和文字部分,文字部分有6个字段

点进去,对于很多不管是APP还是小程序,在做修改时,点进去某一项都是对单独的字段进行保存。

这里我们有两种方式,一种就是以一个修改请求都是不同的接口,另一种就是使用同一个接口。

这里我们采用第二种,首先创建一个业务对象BO,

我们从下至上来写,先写service,再写controller:

service实现

接着根据前端写controller:

虽然这里可以做一个更新,但并不完善。

我们要判断不同字段,对于我们的业务处理是不一样的。

比如我们的昵称,要保证唯一,在保存修改之前,要判断当前的类型是不是昵称,在数据库中查询昵称是否存在。

还有我们的课号只能修改一次,在这里我们应该做一个相应的判断。

在前端这里传了一个tpye,不同的修改所带的type参数是不一样的

这里有一个枚举,是我们之前添加的。

在controller中增加一个type:

此时争对这个方法我们要增加一个方法,是我们在更新之前的前置方法:

在service中实现:

对我们的昵称和课号进行一个前置的判断:

统一封装修改用户信息(二)

先查询昵称是否匹配。通过usersMappe查询来确认用户是否存在。

在service如果出错,可以通过优雅的异常来抛出相应的错误。

第二个查询:

这里就是一个接口包含了六个方法。

重启,打开我们的页面,修改我们的昵称

其余的也进行修改:

返回在我们的主页中:

这里我们所涉及的用户信息的修改就完成了。

从零开始搭建仿抖音短视频APP--开发用户业务模块(4)相关推荐

  1. 从零开始搭建仿抖音短视频APP-开发用户业务模块(3)

    项目持续更新中: 仿抖音短视频APP专栏 目录 注册登录-BO接受前端参数验证 对BO校验进行统一封装 开发用户是否存在 开发创建用户Service 实现短信注册登录与分布式会话 注册登录-BO接受前 ...

  2. 从零开始搭建仿抖音短视频APP-开发用户业务模块(2)

    项目持续创作中: 仿抖音短视频APP项目专栏 目录 安装redis6.0缓存中间件 整合Redis并存储验证码 拦截器限制60s短信发送 优雅异常封装返回拦截器异常 安装redis6.0缓存中间件 需 ...

  3. 从零开始搭建仿抖音短视频APP--开发用户业务模块(1)

    目录 手机号--一键注册登录流程 构建流程图 用户登录流程 手机号一键注册登录流程图 腾讯云短信 SpringBoot集成腾讯云短信 完善发送短信接口 手机号--一键注册登录流程 构建流程图 用户登录 ...

  4. 从零开始搭建仿抖音短视频APP-后端消息业务模块开发(2)-基础版完结篇

    项目持续更新中: 仿抖音短视频APP专栏 目录 系统消息入库保存 MongoDB分页查询系统消息列表 删除系统消息 系统消息入库保存 这里还剩下最后一个点赞评论没有完成 这里如果点赞了你的评论,你们视 ...

  5. 从零开始搭建仿抖音短视频APP-构建后端项目

    项目持续创作中... ​​​​​​仿抖音短视频APP项目专栏 目录 聚合工程 构建父工程 构建子工程 构建接口工程并且暴露api接口 优雅Restful相应封装 Lombok与多环境profile 数 ...

  6. 从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

    项目持续更新中: 仿抖音短视频APP专栏 目录 保存系统消息到MongoDB 系统消息入库保存-关注 系统消息入库保存-点赞短视频 系统消息入库保存-评论与回复 保存系统消息到MongoDB 我们把m ...

  7. 从零开始搭建仿抖音短视频APP-后端开发短视频业务模块(2)

    项目持续更新中: 仿抖音短视频APP 目录 实现数据层mybatis自定义mapper与sql 查询短视频列表api 实现下拉刷新和分页功能 实现数据层mybatis自定义mapper与sql 在数据 ...

  8. 从零开始搭建仿抖音短视频APP-后端开发短视频业务模块(3)

    项目持续更新中: 仿抖音短视频APP专栏 目录 视频详情页展示的数据层实现 视频详情页展示的api实现 短视频下载.复制连接.二维码展示 视频保存到相册 复制链接 二维码展示 实现转为私密或公开视频 ...

  9. 从零开始搭建仿抖音短视频APP--后端开发粉丝业务模块(3)

    项目持续创作中: 仿抖音短视频APP专栏 目录 实现用户点赞视频 用户取消点赞 用户是否点赞视频的判断 实现用户点赞视频 用户在点赞我们的视频后,我们需要去实现一些相关的业务, 这里需要对应到数据库的 ...

最新文章

  1. hibernate的中文问题的解决方案
  2. javaScript之数组Array
  3. hadoop 2.7 java_Hadoop2.7环境搭建---Java环境变量
  4. MySql Delimiter
  5. ELK 使用filebeat替代Logstash收集日志
  6. 漏洞库:爬取CNNVD-国家信息安全漏洞库
  7. landsat8简介
  8. 那些有趣的网站系列(六)
  9. python处理word文档中的某页_Python快速设置Word文件中指定段落为目录标题
  10. VLAN的接口类型与TAG帧
  11. grpc---客户端流式
  12. 第15周项目二—洗牌(1)
  13. mysql 5.6.21 winx64_mysql-advanced-5.6.21-winx64部署及使用
  14. Java的Map(映射)特性及编程思想
  15. Ubuntu查看一些版本 1
  16. c# IE浏览器清除缓存没用
  17. 如何使用OpenAI API和Python SDK构建自己的聊天机器人
  18. JavaScript:使用Canvas绘图
  19. P50发布,鸿蒙OS用户突破4000万!
  20. 桌面显示电脑配置的PE_你还用软件看电脑配置?分享三种无需软件查看配置的方法...

热门文章

  1. 2829: 闯关游戏【DP】
  2. C语言实现简易网络进程及线程间通信
  3. html中加页眉,在打印HTML页面时添加页眉/页脚
  4. 华人曾与IBM抗衡! 盘点已远去的IT巨头(转)
  5. CV攻城狮入门VIT(vision transformer)之旅——VIT原理详解篇
  6. 云闪付小程序实现分享转发
  7. Python程序设计模拟试题
  8. 新闻推荐,追逐卡戴珊的“屁股”
  9. 用开源软件Wink,制作flash教程
  10. 穿越Java - 基础篇 第十章 反向探知 - 反射 | 第1节 反射概述