node.js实战记录2 获取用户信息、更新用户信息、重置密码、更换头像


1. 获取用户的基本信息

在这里插入图片描述

1.初始化路由模块,初始化路由处理函数模块
router目录下新建userInfo.js路由模块,在router_handler目录下新建userInfo.js路由处理函数模块,初始化代码如下:
在这里插入图片描述
在这里插入图片描述
app.js中还要导入并使用路由模块:
在这里插入图片描述
(具体的步骤跟前面初始化用户路由模块user.js其实是一样的)
2.定义sql语句,在数据库中查找用户的基本信息
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述


2. 更新用户的基本信息

在这里插入图片描述
1.定义相关的路由和路由处理函数模块
router/userInfo.js路由模块中新增更新用户基本信息的路由,
router_handler/userInfo.js路由处理函数模块中新增更新用户基本信息的路由处理函数
在这里插入图片描述
在这里插入图片描述
2.验证表单数据
请求这个接口需要在请求体中带上三个参数,那么这三个参数的合法性需要在服务端进行校验
在这里插入图片描述
schema/user.js验证规则模块中,定义idnicknameemail的验证规则,并向外共享这个验证规则对象:
在这里插入图片描述
/router/userinfo.js路由模块中导入验证数据合法性的中间件验证规则对象,在更新用户基本信息的路由中声明中间件,对当前请求的数据进行验证
在这里插入图片描述
3.定义sql语句,在数据库中更新用户的基本信息
(要更新的信息就在被携带在请求体中,req.body就能拿到)
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述


3. 重置密码

在这里插入图片描述

1.定义相关的路由和路由处理函数模块
router/userInfo.js路由模块中新增重置密码的路由,
router_handler/userInfo.js路由处理函数模块中新增重置密码的路由处理函数
在这里插入图片描述
在这里插入图片描述
2.验证表单数据
请求这个接口需要在请求体中带上旧密码和新密码这两个参数,那么这两个参数的合法性需要在服务端进行校验,而且新密码与旧密码不能一致
在这里插入图片描述
schema/user.js验证规则模块中,向外共享如下验证规则对象:
在这里插入图片描述
/router/userinfo.js路由模块中导入验证规则对象,在重置密码的路由中声明中间件,对当前请求的数据进行验证:
在这里插入图片描述
3.根据 id 查询用户是否存在
在这里插入图片描述
4.判断提交的旧密码是否正确
(这里的旧密码在req.user中是获取不到的,因为当时为了生成token我们剔除了其中的密码值,实际上旧密码被我们携带在请求体中)
在这里插入图片描述
5.将新密码进行加密,更新到数据库中
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


4. 更换头像

在这里插入图片描述

1.定义相关的路由和路由处理函数模块
router/userInfo.js路由模块中新增更新用户头像的路由,
router_handler/userInfo.js路由处理函数模块中新增更新用户头像的路由处理函数
在这里插入图片描述
在这里插入图片描述
2.验证表单数据
请求这个接口需要在请求体中带上参数,那么这参数的合法性需要在服务端进行校验
在这里插入图片描述
schema/user.js验证规则模块中,定义avatar的验证规则,并向外共享这个验证规则对象:
在这里插入图片描述

/router/userinfo.js路由模块中导入验证规则对象,在重置密码的路由中声明中间件,对当前请求的数据进行验证:
在这里插入图片描述
3.定义sql语句,在数据库中更新用户的头像
(这里的pictrue是因为数据库开字段的时候就打错了,现在将错就错了😢)
在这里插入图片描述


今天实现的是一些个人中心的基本功能,完

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值