nodejs新增登陆注册接口

nodejs学习

1、路由

框架生成的文件内,路由的使用,也就是前端调用的接口路径

index.js内的render是页面的渲染,jade文件编写的前端页面,在views中,感兴趣可以=====>进一步了解

2、写一个get方法的登陆接口试一下

npm start 启动项目,通过路由来模拟get方法,操作数据库

  • 路由不生效,重启项目尝试,
  • 多次操作数据库,一次生效,其余报错=>在操作完数据库后,不要 connection.end() 关闭数据库在这里插入图片描述
// req.query : 处理 get 请求,获取 get 请求参数
// req.params : 处理 /:xxx 形式的 get 或 post 请求,获取请求参数
// req.body : 处理 post 请求,获取 post 请求体
// req.param() : 处理 get 和 post 请求,但查找优先级由高到低为 req.params→req.body→req.query
router.get('/login',async (req,res,next)=>{
  console.log(req['query']);
  let {name,password} = req['query']
  if(!name || !password){
    res.send(MError('账号信息不存在'))
    return
  }
  const result = await db.select(`SELECT * FROM user WHERE name = '${name}'`)
  if(password=== result[0].password){
    res.send(Success(result));
    return
  }else{
    res.send(MError('用户名或密码错误'))
    return
  }
})
3、返回规范

utils/result.js

// 规范返回
/**
 * 描述操作成功
 * @date 2021-12-07
 * @param {any} list = [] 
 * @param {any} msg = '操作成功'
 * @returns {any}
 */
exports.Success = (list = [] ,msg = '操作成功') => {
    return {
        msg,
        code: 200,
        list
    }
}
// 参数错误,请检查传递的参数
exports.MError = ( msg = '参数等发生错误') => {
    return {
        msg,
        code: 500
    }
}
4、注册接口
router.post('/register',async (req,res,next)=>{
  let {name,password} = req['body']
  if(!name || !password){
    res.send(MError('用户名或密码未输入'))
    return
  }
  const result = await db.select(`SELECT * FROM user WHERE name = '${name}'`)
  if(result){
    res.send(MError('该用户已存在,请修改用户名再注册'))
    return
  }else{
    const lastres = await db.insert('user',{name,password})
    if(lastres){
      res.send(Success(lastres));
    }else{
      res.send(MError('注册失败,请再次尝试'))
      return
    }
  }
})
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值