当前位置: 首页 > news >正文

禹城做网站的小程序公众平台官网

禹城做网站的,小程序公众平台官网,东莞大朗网站设计,软件平台开发公司目录 前言 定义路由和处理函数 验证表单数据 实现重置密码功能 前言 接前面文章#xff0c;本文介绍如何编写重置用户密码接口 定义路由和处理函数 路由 // 重置密码的路由 router.post(/updatepwd, userinfo_handler.updatePassword) 处理函数 exports.updatePasswo…目录 前言 定义路由和处理函数 验证表单数据 实现重置密码功能 前言 接前面文章本文介绍如何编写重置用户密码接口 定义路由和处理函数 路由 // 重置密码的路由 router.post(/updatepwd, userinfo_handler.updatePassword) 处理函数 exports.updatePassword(req,res){res.send(重置成功) } postman验证 需要在headers中添加请求头authorization并且加上在登录时生成的token值 验证表单数据 定义验证规则对象并将其导出 // 验证规则对象 - 重置密码 exports.update_password_schema {body: {// 使用 password 这个规则验证 req.body.oldPwd 的值oldPwd: password,// 使用 joi.not(joi.ref(oldPwd)).concat(password) 规则验证 req.body.newPwd 的值// 解读// 1. joi.ref(oldPwd) 表示 newPwd 的值必须和 oldPwd 的值保持一致// 2. joi.not(joi.ref(oldPwd)) 表示 newPwd 的值不能等于 oldPwd 的值// 3. .concat() 用于合并 joi.not(joi.ref(oldPwd)) 和 password 这两条验证规则newPwd: joi.not(joi.ref(oldPwd)).concat(password),}, } 导入验证规则对象 // 导入需要的验证规则对象 const { update_password_schema } require(../schema/user) 在重置密码路由中添加验证 //重置用户密码router.post(/updatePwd,expressJoi(update_password_schema),userinfo_handler.updatePassword) 使用postman,当原密码与密码相同时 实现重置密码功能 定义sql语句 const sql select * from ev_users where id? db.query()调用sql语句 db.query(sql,req.auth.id,(err,results){//判断sql语句是否正确if(err) return res.send({status:1,message:err.message})//判断影响行数是否为1if(results.length!1) return res.send({status:1,message:密码重置失败})res.send(密码重置成功) }) 导入bcryptjs密码加密模块 const bcrypt require(bcryptjs) 判断原密码是否正确 // 判断提交的旧密码是否正确 const compareResult bcrypt.compareSync(req.body.oldPwd, results[0].password) if (!compareResult) return res.cc(原密码错误) 对新密码加密定义新的更新密码的sql语句并对sql语句操作 对新密码加密 const newPwd bcrypt.hashSync(req.body.newPwd,10) 定义sql语句 const sql update ev_users set password ? where id ? 使用db.query()调用sql语句 db.query(sql,[newPwd,req.auth.id],(err,results){if(err) return res.send({status:1.message:err.message})if(results.affectedRow!1) return res.send({status:1,message:更新密码失败})res.send({status:0,message:密码更新成功}) }) 重置密码接口完整代码 // 导出重置用户密码 exports.updatePassword(req,res){// 定义sql语句const sql select * from ev_users where id?db.query(sql,req.auth.id,(err,results){// 判断sql语句是否正确if(err) return res.send({status:1,message:err.message})// 检查id是否存在if(results.length!1) return res.send({status:1,message:该用户不存在})// 验证密码是否正确const compareResult bcrypt.compareSync(req.body.oldPwd, results[0].password)if(!compareResult) return res.send({status:1,message:原密码错误})// 定义sql语句const sql update ev_users set password ? where id ?// 对新密码进行加密const newPwd bcrypt.hashSync(req.body.newPwd,10)// 执行sql语句,根据id查找db.query(sql,[newPwd,req.auth.id],(err,results){// sql语句执行失败if(err) return res.send({status:1,message:err.message})// sql语句执行成功,但影响行数不为1if(results.affectedRows!1) return res.send({status:1,message:更新密码失败})res.send({status:0,message:密码更新成功})})}) } 使用postman模拟发送请求 用户b原密码为000000 当输入错误的原密码时 输入正确的原密码时
http://wiki.neutronadmin.com/news/71280/

相关文章:

  • 网站上传视频教程保网
  • 网站建立的步骤是做普通网站公司吗
  • 兴业大街网站建设做mla的网站
  • 关于公司网站开发的事项做哪个网站的人多
  • 二级域名网站建设移动端开发语言
  • 湖南网站建设有限公司简约 网站模板
  • 做伊瑞尔竞技场的网站深圳网站建设最专业的
  • 电商网站建设与运营成本吉林省住房城乡建设厅网站
  • 甘肃省城乡与住房建设厅网站电子商务网站建设与维护考试
  • 商城网站内容模块有哪些推广链接软件
  • 网页网站开发项目设计网站建设基础教程视频
  • 多城市分站网站建设凡科网站登录入口
  • 外贸跟单员的工作内容搜索排名优化策划
  • 如何做网站推广在找产品营销推广吗百度如何发布信息推广
  • 中牟网站推广怎么用手机创造网站
  • 深圳市住房和建设局网站-%3e认租申请ai智能建站
  • 国内大型php网站建设民众镇做网站公司
  • 建设环评备案登记网站crm系统是干什么的
  • 宁波网站推广宣传公司排名网站源码是什么
  • asp网站开发环境cpu餐饮小程序制作
  • 巢湖做网站西宁手机微网站
  • 注册公司需要的网站建设凡客诚品的商业模式
  • 无锡网站制作哪里实惠临沂网站建设企业
  • 做电商网站的流程seo专业培训需要多久
  • 深圳免费网站排名优化wordpress更新php版本号
  • 有哪些企业可以做招聘的网站有哪些内容云南建设银行官方网站
  • 微设计公司网站第一ppt网
  • 藁城区建设局网站做音乐网站要注意什么
  • 许昌建设网站网站建设可行性分析报告范文
  • 微信外部链接网站手机制作网页链接的软件