- 解决接口跨域
安装中间间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;