在app.js里
// 导入express模块
const express = require('express')
// 使用app接收实例
const app = express()
// 导入路由模块 注册路由模块
// 注册登录模块
const userRouter = require('./routers/user')
app.use('/api/user', userRouter)
// 启动服务
app.listen(3000, () => {
console.log('express server running at http://127.0.0.1:3000')
})
在路由模块里user.js
// 导入数据库mysql
const db = require('../db/db')
// 引用路由模块
const router = express.Router()
// 注册接口
router.post('/register', expressJoi(register_login_regular), (req, res, next) => {
const { mobile, password } = req.body
const getsql = `select * from user where mobile = '${mobile}'`
db.query(getsql, function(err, result) {
if (err) {
return console.log('查询出错' + err)
}
console.log("result", result)
if (result.length == 0) {
const userinfo = { mobile, password }
console.log(userinfo)
userinfo.password = bcrypt.hashSync(userinfo.password, 10)
console.log(userinfo)
console.log('注册成功')
const addsql = `insert into user(mobile,password) values ("${mobile}","${userinfo.password}")`
db.query(addsql, userinfo,
function() {
if (err) {
res.send({
code: 1,
message: '注册失败'
})
}
res.send({
code: 200,
message: '注册成功'
})
})
} else {
console.log('用户已存在')
res.send({
code: 0,
message: '用户已存在'
})
}
})
})
// 暴露路由给app接收
module.exports = router
db里
const mysql = require('mysql')
// 创建数据库连接
exports.query = (sql, data, callback) => {
// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost', // 数据库所在的服务器的域名或者IP地址
user: '', // 登录数据库的账号
password: '', // 登录数据库的密码
database: 'campus_handlines' // 数据库名称
});
// 执行连接操作
connection.connect();
// 操作数据库(数据库操作也是异步的)
connection.query(sql, data, function(err, results, fields) {
if (err) throw err;
callback(results);
});
// 关闭数据库
connection.end();
}
然后就可以测试接口啦