# node连接mysql数据库实现登录接口
创建node项目
在小窗口使用npm创建,生成package.json文件
npm init
项目结构目录
创建db.js链接mysql数据库
const mysql = require('mysql');
exports.base = (sql, data, callback) => {
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'root',
database: 'test'
});
connection.connect();
connection.query(sql, data, function(error, results, fields) {
if (error) throw error;
callback(results);
console.log('数据库连接成功');
})
connection.end();
}
app.js
// 创建express服务器
const express = require('express')
const app = express()
// 注册解析 表单数据的 body-parser
const bodyParser = require('body-parser')
// 将请求响应设置content-type设置为application/json
const router = require('./routes/users.js')
app.use('/api/*', function(req, res, next) {
// 设置请求头为允许跨域
res.header("Access-Control-Allow-Origin", "*");
// 设置服务器支持的所有头信息字段
res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
// 设置服务器支持的所有跨域请求的方法
res.header("Access-Control-Allow-Methods", "POST,GET");
// next()方法表示进入下一个路由
next();
});
// post
app.use(bodyParser.urlencoded({
extended: false
}))
// 处理json格式的参数
app.use(bodyParser.json())
// 配置路由
app.use(router)
//设置cookies
// 服务器已经启动
app.listen('3003', function() {
console.log('running...')
})
users.js 链接接口
const express = require('express')
const router = express.Router()
const services = require('../services/userService.js')
// 登录功能
router.post('/api/login', services.login)
//注册功能
router.post('/api/register', services.register)
module.exports = router
userService.js 对于接口进行处理
const db = require('../sql/db.js');
const jwt = require('../token.js');
exports.login = (req, res) => {
let {
username,
password
} = req.body;
// 查询语句
let sql = 'select * from user where username = ?'
db.base(sql, username, (result) => {
if (!result.length) {
return res.json({
status: -1,
msg: '登录失败'
})
} else {
if (result[0].password == password) {
let token = jwt.creatToken({
login: true,
username: username
});
return res.json({
status: 1,
msg: '登录成功',
token: token
})
}
return res.json({
status: -2,
msg: '密码错误'
})
}
})
}
exports.register = (req, res) => {
let {
username,
password,
token
} = req.body;
console.log(req.body);
}
运行app.js,项目运行成功,测试接口
node app.js
} = req.body;
console.log(req.body);
}
运行app.js,项目运行成功,测试接口
node app.js
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200426151640589.png)
到此一个node的登录接口就实现,需求什么样的接口,可以去扩展。