Node.js实战注册接口

  • 解决接口跨域
    安装中间间cors
    npm install cors --save

在app.js 中引入
在这里插入图片描述

  • 密码使用MD5加密 和设置密钥(设置密钥是为了防止别人解密)
    安装crypto
    npm install crypto --save

在更目录下创建urils文件 contant,js 存放密钥
在这里插入图片描述
index,js中写加密方法

const crypto = require('crypto')
//加密方法
function md5 (s){
    return crypto.createHash('md5').update(String(s)).digest('hex'); 
}
module.exports= md5

在这里插入图片描述

  • query方法封装
var mysql = require('mysql'); //引入mysql
const dbOption = require("./config")
//创建连接
var pool = mysql.createPool(dbOption);
function query (sql,params){
    return new Promise((resolve,reject)=>{
            pool.getConnection((err, conn)=> {
                //掏出错误
                if (err){
                    reject(err)
                    return 
                }
                conn.query(sql,params,(err,res)=>{
                    conn.release() 
                    if(err){
                        reject(err)
                    }
                    resolve(res)
                })
              });
    
    })
}
module.exports = query

  • 注册接口
var express = require('express');
var router = express.Router();
//引入query方法
const query = require("../db/index")
//引入密钥
const { PWD } = require('../utils/contant')
//引入加密方法
const { md5 } = require("../utils/index")
/* GET users listing. */
router.post('/register', async(req, res, next)=> {
  //获取前端发送的参数
  let {username,password,nickname} = req.body
  //根据username 账号去数据库查找是否存在
  try{let user= await query('select * from user where username  =  ?',[username])
  if(!user || user.length==0){
    //密码和密钥通过拼接
    password=md5(`${password}${PWD}`)
    //插入数据
   await query('insert into user(username,password,nickname) value(?,?,?)',[username,password,nickname])
    res.send({code:0,msg:'注册成功'})
  }else{
    res.send({code:-1,msg:'该账号已存在'})
  }
}catch(e){
  console.log(e)
}
});

module.exports = router;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

正函数 

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

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

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

打赏作者

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

抵扣说明:

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

余额充值