提示:学习express,搭建管理系统
文章目录
- 前言
- 一、新建user表
- 二、安装bcryptjs、MD5、body-parser
- 三、修改config/db.js
- 四、新建config/bcrypt.js
- 五、新建models文件夹和models/user.js
- 五、index.js引入使用body-parser
- 六、修改routes/user.js
- 七、启动项目
- 八、配置Apipost接口/user/register
- 九、访问/user/register
- 总结
前言
需求:主要学习express,所以先写service部分
一、新建user表
1、express_service数据库,鼠标右键点击表
2、点击新建表
3、创建user表
3、ctrl+s保存,输入user,点击确认
4、设计表添加栏位userID、userName、password
二、安装bcryptjs、MD5、body-parser
bcryptjs是对密码进行加密的插件
body-parser对http请求进行解析
npm install bcryptjs --save
npm install md5 --save
npm install body-parser --save
三、修改config/db.js
const mysql = require('mysql');
const pool = mysql.createPool({
host:'localhost',
ipport:'3306',
user:'root',
password:'123456',
database:'express_service'
});
const query = (sql,params,callback)=>{
return new Promise((resolve,reject)=>{
pool.getConnection((err,connect)=>{
if(err) reject(err);
connect.query(sql,params,(err,result)=>{
if(err) reject(err);
return resolve(result);
});
});
});
}
module.exports = query;
四、新建config/bcrypt.js
bcrypt.js
const bcryptJs = require('bcryptjs');
const bcrypt = {
hash:(txt,salt=9)=>{
return bcryptJs.hashSync(txt,salt);
},
compare:(txt,hash)=>{
return bcryptJs.compareSync(txt,hash);
},
}
module.exports = bcrypt;
五、新建models文件夹和models/user.js
user.js
const query = require('../config/db');
const bcrypt = require('../config/bcrypt');
const md5 = require('md5');
const secretKey = 'longlongago';
const errFun = (msg,code)=>{
return {
code:code||500,
success:false,
msg:msg||'操作失败'
}
}
const sucFun = (data,msg)=>{
return {
code:200,
success:true,
msg:msg||'操作成功',
data,
}
}
const userDao = {
register:async(data)=>{
//这里只添加user到数据库,不做验证和检验
const userId = md5(data.userName+secretKey);
const password = bcrypt.hash(data.password+secretKey);
const sql = `insert into user (userId,userName,password) values('${userId}','${data.userName}','${password}')`;
const result = await query(sql);
console.log(result)
// return result;
if(result&&result.affectedRows==1)return sucFun(result[0],'添加用户成功');
return errFun('添加用户失败');
},
}
module.exports = userDao;
五、index.js引入使用body-parser
const express = require('express');
const app = express();
const router = express.Router();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
const port = 1990;
require('./config/db');
//初始化路由
require('./routes/index')(router);
app.use('/', router);
app.listen(port,()=>{
console.log('http://localhost:'+port);
})
六、修改routes/user.js
const userDao = require('../models/user');
const userRoutes = (router)=>{
router.post('/user/register',async (req,res)=>{
const result = await userDao.register(req.body);
res.json(result);
});
}
module.exports = userRoutes;
七、启动项目
npm run dev
八、配置Apipost接口/user/register
使用到的工具是Apipost
1、新建目录
2、目录命名express_service
3、鼠标右键点击express_service,新建user子目录
4、右键点击user子目录,新建接口
5、接口配置
url:http://localhost:1990/user/register
name:/user/register
params:{
“userName”:“longlongago”,
“password”:“123456”
}
九、访问/user/register
总结
踩坑路漫漫长@~@