练手小项目总结 springboot +mybatis + vue

微博开发流程

1.User类

后端:37ea754fc04faf961b45934981239500

mapper:

  • 查询(用户的用户名):根据用户名查所有,返回单个用户对象
  • 添加:添加用户
  • image-20231202192514037

controller:

  • 注册(添加)(查询)
    • /user/reg
    • 先查询(根据用户名)用户是否为空
    • 为空:注册(调用添加) 返回1
    • 不为空返回2
    • image-20231202181031201
  • 登录(查询)(session存储)
    • /user/login
    • 根据用户名查询用户,判断:
      • 不为空:判断密码是否正确,
      • 密码正确:将数据库查到的用户信息存储在session中 返回1
      • 否则返回3 密码不正确
      • 如果用户名为空,直接返回2
    • image-20231202181017622
  • 页面校验 (登录/注册) (查询)
    • /user/check
    • 根据用户名查询
    • 为空返回1(前端对info赋值用户名可用)
    • 不为空返回2(前端对info赋值不可用)
    • 登录注册赋值恰恰相反
    • image-20231202180235300
  • session会话技术
    • 登出
      • /user/logout
      • 就是删除掉存储在session中的用户信息
      • image-20231202173332899
    • 查询当前用户信息给首页
      • /user/currentUser
      • 返回一个用户对象
      • 从session中取出用户信息返回给前端
      • (不用再通过查询用户信息返回了直接在session中取出)
      • image-20231202174427802

前端:

index:

页面部分:

  • 如果用户(在data中定义,刷新时响应赋值)为空,说明没有登录 则显示

  • image-20231202185712256

数据部分:

  • 在data中定义一个user对象,用来向前端展示xx欢迎回来,判断用户是否存在并显示或隐藏
  • created:
    • this.current(),页面刷新查询当前用户信息并赋值给data中的user展示
  • methods:
    • logout()登出,用confirm确认登出,登出成功刷新页面
  • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

reg:

页面部分:

  • 用@blur焦点离开事件 来校验 @click鼠标点击事件来添加注册信息

  • image-20231202190411090

数据部分:

  • 定义一个info变量,用来做校验
  • methods:
    • check(),用来做校验(拿到表单数据做对比),根据返回结果给info赋值在页面进行校验
    • reg(),用来注册,添加表单数据到数据库中,注册成功返回首页
  • image-20231202191135402

login:

页面部分:

  • 用插值形式info做校验,login点击事件
  • image-20231202191251009

数据部分:

  • 定义一个info变量做校验
  • methods:
    • login(),获取表单数据在后端进行验证登录,如果数据库中没有该用户,则不能登录,给info赋值密码或用户名不正确,如果有该用户则提示能登录并存储在session中
  • image-20231202191726207

2.weibo类

后端:

mapper:

  • 查询对应用户所有微博(用户id):根据用户id查询所有(用户与微博是1对多关系),查询所有需要根据用户id

  • 查询单个微博(微博id):根据微博id查询单个微博

  • 查询所有微博:包含了所有用户名的微博

  • 删除微博(微博id):根据微博id删除微博

  • 添加微博(发表微博):因为微博中有用户id,用户昵称,在前端传入图片信息和文字信息(框架自动获取文字信息,图片信息需要单独存储在静态资源目录下),则需要把图片url,用户id,用户昵称(用户信息通过session获取,所以需要先判断该用户名是否过期,过期则重新登录)封装到weibo中再添加到数据库中去。(只要需要用到session中的用户信息,必先判断用户名是否过期)

  • image-20231202192448399

controller:

  • 查询所有微博:(无)

    • /weibo/selectAll
    • 在首页显示所有微博,不分哪个用户的,如果在用户中显示所有微博,那就得根据用户来查询了
    • image-20231202195027418
  • 查询单个微博(微博id)

    • /weiob/selectById
    • 在微博详情页刷新的时候展示,对应微博id 的单个微博锡尼希
    • 所有在微博详情页面的请求路径中需要传入weiboid
    • image-20231202195514809
  • 查询对应用户id的所有微博:(用户id)

    • /weibo/selectByUserId
    • 在我的微博页面展示,这里的用户id通过session传入,得先判断session中用户是否失效,失效则重新登录
    • image-20231202195827259
  • 删除微博:(微博id)

    • /weibo/deleteById get方式因为只传了id
    • 在我的微博页面,点击虚假删除超链接并传入微博id进行删除
    • 需要确认是否删除confirm
    • image-20231202200347682
  • 添加微博、发表微博(有图片,需要解析url再封装所有需要添加的微博属性)

    • /weibo/insert
    • 在发布微博页面,点击发布微博按钮发进行添加
    • 因为有图片,需要将图片单独存储,并把用户的信息(用户昵称,用户id添),图片url,日期,内容框架已经自动获取了
    • image-20231202200902082

前端:

index:

前端部分:

  • 点击内容,图片跳转到微博详情页面需要传入微博id,因为根据id来查询单个微博

  • 一直循环展示所有微博(全部用户的),v-for

  • image-20231202201628116

数据部分:

  • data:传入arr[]微博数组

  • created:

    • get请求,因为是查询,要注意转换时间对象
    • selectAll(),当页面刷新时,获取所有用户的微博,v-for循环
  • image-20231202202137652

my:

前端部分:

  • 上传了图片,需要循环展示遍历出来的每一个微博

  • image-20231202202335564

数据部分:

  • data:arr[] 通过用户id查询出来的所有微博
  • created:
    • selectAllByUserId(),页面刷新显示查询到的所有微博(用户id)
    • image-20231202203401394
  • methods:
    • deleteById(id), get方式,因为是传入id不敏感,点击删除超链接进行删除,并传入id(微博id)
    • 提示是否删除confirm(),删除成功刷新页面(重新查询展示),删除失败跑首页
    • image-20231202203127381

detail:

前端部分:

  • 微博信息,评论信息,发布评论

  • image-20231202203902950

数据部分:

  • data:weibo{}对象 单个微博对象 arr[]数组 所有评论数组
  • created:
    • selectAllByWeiBoId():查询所有评论,根据微博id,查询当前微博的所有评论
    • selectById(),根据微博id查询单个微博
    • image-20231202204617553
  • methods:
    • insert:添加评论,除了传入表单的数据外,还需要传入微博的id因为,评论类里面有微博的id属性,且微博与评论是1对多关系,
    • 还需要用户的昵称,因为属性里有。要用到session取出,凡是用到session数据,就需要判断是否失效
    • 评论成功,则刷新页面,重新查询展示所有评论(根据微博id查询的所有评论)
    • 评论失败跳转到登录页面。因为用了session中的user对象数据,需要判断。
    • image-20231202205747777

send:

前端部分:

  • image-20231202210140755

数据部分:

  • 就是正常的添加操作,其中注意需要用到用户的昵称和id,则要从session中提取,要判断session中用户是否失效,失效则跳转到登录页面,重新登录

  • image-20231202210314851

3.Comment类

后端:

mapper:

  • 添加评论:因为属性中有用户昵称,微博id,添加的时候需要传入

  • 微博id:(微博详情页面的路径中提取并一并传入到form表单的data中传入来)

  • 用户昵称:直接在添加方法中传入session对象,从session中取出用户昵称,所以需要判断session是否失效失效,则重新登录!

  • image-20231202210709324

controller:

  • 添加评论操作: 添加用户昵称,weiboid,时间对象,评论对应的信息

    • image-20231202211113208
  • 查询所有当前微博的评论:(根据微博来查询,当然也可以只根据当前用户昵称来查询当前昵称的所有评论,根据当前评论id来查询当前当评论,具体业务具体操作)

    • image-20231202211432417

前端:

detail:

前端部分:

  • image-20231202211549749

数据部分:

  • data:arr[]: 所有当前微博下有的评论数组,有数组那么一定有for循环遍历展示数组

  • created:

    • selectAllByWeiboId(),在路径中获取,因为点开详情页需要根据对应微博的id来查询对应微博的数据并展示
    • image-20231202211819578
  • methods:

    • insert 添加评论
      • image-20231202212313379
  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烂泥732

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值