53 Node.js => [ 大事件]

1. 注册的业务

1.1 前端的场景
1. 我们是使用layui的框架自带的表单校验, 让我们输入的用户名和密码有效,减少http无效请求的次数,必须做的优化
2. 使用jquery的ajax函数,发起请求; 将我们的 用户名和密码 两个参数传递给后端

$.post('/api/reguser', data, function(res) {
  if (res.status !== 0) {
    return layer.msg(res.message)
  }
  layer.msg('注册成功,请登录!')
  // 模拟人的点击行为
  $('#link_login').click()
})
1.2 后端的场景
1.检测表单数据是否合法   if(username && password)
2.检测用户名是否被占用   使用sql语句  select * from ev_users where username=?
3.对密码进行加密处理     bcryptjs
4.插入新用户	          insert into ev_users set ?

2. 登录的业务

2.1 前端
输入用户名和密码,发起登录请求。  服务器返回一个token值; 前端把它储存在localStorage里面; 然后再所有请求的请求头里面 Authorization:localStorage.getItem('token'); 这样每一个请求都会携带一个身份
2.2后端
1.检测表单数据是否合法
2.根据用户名查询用户的数据
3.判断用户输入的密码是否正确
4.生成 JWT 的 Token 字符串

3. 项目中使用的第三方包

1. mysql   ----  在nodejs代码里面,链接外部数据库使用的一个js包
2. bcryptjs   -----   这个包是 对密码进行加密的包, 不可以逆解析, 数据库储存的都是密文, 不是明文
3. @hapi/joi  -----   这个包就是 对前端用户传递过来的值 进行 校验的库, 不需要自己写一些if...else
4. jsonwebtoken ----  这个包是生成 token值的一个包, 主要做身份认证使用
5. express-jwt  ----  这个就是将用户传递过来的token值  逆解析出来使用

我们在使用npm i xxx安装的时候,就是安装的上面这个 有具体功能的包
面试的一些问题?
  1. 你们之前表单校验是怎么处理的? 我以前使用过layui框架,里面自带的有form验证。 我还自己写过一些nodejs的demo的程序, 使用过joi这个第三方包进行数据的校验;

    joi.number().integer().min(1).required()
    joi.string().required()
    joi.string().email().required()
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不停喝水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值