(自用)Java学习-5.16(取消收藏,批量操作,修改密码,用户更新,上传头像)

1. 取消收藏功能
  • 前端实现

    • 用户点击“取消收藏”按钮时,前端通过变量status判断当前状态(0为未收藏,1为已收藏)。

    • 发送AJAX请求到后端接口:

      • 添加收藏/favoriteise/addFavoriteise?pid=商品ID,成功后将按钮状态更新为“取消收藏”(图标变为实心)。

      • 取消收藏/favoriteise/dropFavoriteise?fid=收藏记录ID,成功后恢复为“加入收藏”(图标变为空心)。

    • 使用confirm()弹窗确认操作。

  • 后端实现

    • 控制器:接收fid参数,调用服务层删除收藏记录。

    • SQL逻辑DELETE FROM t_favorites WHERE fid=#{fid},直接删除指定收藏记录。


2. 购物车操作
  • 增减商品数量

    • 前端:点击“+”或“-”按钮触发addNum(cid)reduceNum(cid),发送请求到/cart/addNum/cart/reduceNum,动态更新页面显示的数量和小计。

    • 后端

      • 查询购物车记录:SELECT * FROM t_cart WHERE cid=#{cid}

      • 更新数量:UPDATE t_cart SET num=#{num},并记录修改时间。

  • 全选操作

    • 勾选“全选”按钮触发checkAll(),请求/cart/getTotalNum获取所有购物车数据,计算总数量和总金额,更新页面显示。

    • SQL逻辑SELECT * FROM t_cart,返回全部购物车数据。

  • 批量删除

    • 勾选多个商品后,前端将选中的cid数组发送到/cart/batchDelete

    • SQL逻辑DELETE FROM t_cart WHERE cid IN (id1, id2, ...),通过<foreach>动态拼接ID列表。


3. 修改密码功能
  • 前端实现

    • 输入原密码时触发异步校验(/users/checkoldval),验证通过后允许提交新密码。

    • 提交时校验两次新密码一致性,发送请求到/users/modifiedPass

  • 后端实现

    • 密码加密:使用getMd5Password()结合盐值加密新密码。

    • SQL逻辑UPDATE t_user SET password=新密码 WHERE uid=用户ID

    • 修改成功后清除用户会话,跳转至登录页。


4. 用户资料更新
  • 展示资料

    • 请求/users/showOneUser获取当前用户信息(如用户名、电话、性别),动态填充表单。

    • 根据性别动态渲染单选按钮(男/女)。

  • 更新资料

    • 提交表单数据到/users/editUserInfo,后端更新t_user表中对应字段(如phoneemailgender)。

    • SQL逻辑:动态生成UPDATE语句,仅更新非空字段。


5. 上传头像功能
  • 前端实现

    • 使用<form>表单提交文件,设置enctype="multipart/form-data",提交到/uploadpic/savepic

  • 后端实现

    • 阿里云OSS配置:通过application.yml读取OSS参数(Endpoint、AccessKey等)。

    • 文件处理

      1. 生成唯一文件名(UUID + 文件后缀)。

      2. 上传文件到OSS指定路径(如userName/新文件名)。

      3. 将OSS文件路径存入用户表t_useravatar字段。

    • SQL逻辑UPDATE t_user SET avatar=文件路径 WHERE uid=用户ID


6. 关键技术点
  1. 前后端交互

    • 使用AJAX异步请求,配合JSON数据格式,实现无刷新操作(如购物车数量更新)。

    • RESTful风格接口设计(如/cart/addNum/users/modifiedPass)。

  2. 数据库操作

    • MyBatis动态SQL(如<if>条件判断、<foreach>批量删除)。

    • 联表查询优化数据展示(如购物车关联商品信息)。

  3. 安全与扩展

    • 用户会话管理(HttpSession存储用户ID和用户名)。

    • 文件上传通过OSS实现分布式存储,提升系统扩展性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值