赞
踩
1.初始化路由模块,初始化路由处理函数模块
在router
目录下新建userInfo.js
路由模块,在router_handler
目录下新建userInfo.js
路由处理函数模块,初始化代码如下:
在app.js
中还要导入并使用路由模块:
(具体的步骤跟前面初始化用户路由模块user.js
其实是一样的)
2.定义sql语句,在数据库中查找用户的基本信息
测试:
1.定义相关的路由和路由处理函数模块
在router/userInfo.js
路由模块中新增更新用户基本信息
的路由,
在router_handler/userInfo.js
路由处理函数模块中新增更新用户基本信息
的路由处理函数
2.验证表单数据
请求这个接口需要在请求体中带上三个参数,那么这三个参数的合法性需要在服务端进行校验
在schema/user.js
验证规则模块中,定义id
、nickname
、email
的验证规则,并向外共享这个验证规则对象:
在/router/userinfo.js
路由模块中导入验证数据合法性的中间件
和验证规则对象
,在更新用户基本信息
的路由中声明中间件,对当前请求的数据进行验证
3.定义sql语句,在数据库中更新用户的基本信息
(要更新的信息就在被携带在请求体中,req.body
就能拿到)
测试:
1.定义相关的路由和路由处理函数模块
在router/userInfo.js
路由模块中新增重置密码
的路由,
在router_handler/userInfo.js
路由处理函数模块中新增重置密码
的路由处理函数
2.验证表单数据
请求这个接口需要在请求体中带上旧密码和新密码这两个参数,那么这两个参数的合法性需要在服务端进行校验,而且新密码与旧密码不能一致
在schema/user.js
验证规则模块中,向外共享如下验证规则对象:
在/router/userinfo.js
路由模块中导入验证规则对象
,在重置密码
的路由中声明中间件,对当前请求的数据进行验证:
3.根据 id
查询用户是否存在
4.判断提交的旧密码是否正确
(这里的旧密码在req.user
中是获取不到的,因为当时为了生成token我们剔除了其中的密码值,实际上旧密码被我们携带在请求体中)
5.将新密码进行加密,更新到数据库中
测试:
1.定义相关的路由和路由处理函数模块
在router/userInfo.js
路由模块中新增更新用户头像
的路由,
在router_handler/userInfo.js
路由处理函数模块中新增更新用户头像
的路由处理函数
2.验证表单数据
请求这个接口需要在请求体中带上参数,那么这参数的合法性需要在服务端进行校验
在schema/user.js
验证规则模块中,定义avatar
的验证规则,并向外共享这个验证规则对象:
在/router/userinfo.js
路由模块中导入验证规则对象
,在重置密码
的路由中声明中间件,对当前请求的数据进行验证:
3.定义sql语句,在数据库中更新用户的头像
(这里的pictrue是因为数据库开字段的时候就打错了,现在将错就错了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。