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

您所在的位置:网站首页 er3108g重置密码 node.js实战记录2 获取用户信息、更新用户信息、重置密码、更换头像

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

2023-07-14 19:45| 来源: 网络整理| 查看: 265

内容 1. 获取用户的基本信息2. 更新用户的基本信息3. 重置密码4. 更换头像

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验证规则模块中,定义id、nickname、email的验证规则,并向外共享这个验证规则对象: 在这里插入图片描述 在/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是因为数据库开字段的时候就打错了,现在将错就错了😢) 在这里插入图片描述

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3