首先创建一个sevver文件夹,里面存放后端文件
文件夹下创建以下文件
- index.js 后端入口文件,启动后端服务
- db.js 数据库连接配置
- api.js 连接数据库,各种方法实现
- sqlMap.js sql语句
- router.js 后端 express 路由配置
index.js
const routerApi = require('./router');
const bodyParser = require('body-parser'); // post 数据时需要
const express = require('express');
const app = express();
app.use(bodyParser.json());
// 后端api路由
app.use('/api', routerApi);
// 监听端口
app.listen(3030);
console.log('success listen at port:3030......');
router.js
const express = require('express');
const router = express.Router();
const api = require('./api');
// post方法通过body获取参数,需要使用body-parser,否则body为空
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({
extended: false
});
router.use(bodyParser.urlencoded({
extended: false
}));
router.post('/leyou/user/login', (req, res, next) => {
api.login(req, res, next);
})
router.post('/leyou/user/getUserInfo', (req, res, next) => {
api.getUserInfo(req, res, next);
})
module.exports = router;
api.js
const mysql = require('mysql');
const dbConfig = require('./db');
const sqlMap = require('./sqlMap');
const pool = mysql.createPool({
host: dbConfig.mysql.host,
user: dbConfig.mysql.user,
password: dbConfig.mysql.password,
database: dbConfig.mysql.database,
port: dbConfig.mysql.port,
multipleStatements: true // 多语句查询
});
module.exports = {
// 登录
login(req, res, next) {
// console.log(req)
console.log(req.body)
var userid = req.body.userid;
var password = req.body.password
// console.log(userid, password)
pool.getConnection((err, connection) => {
var sql = sqlMap.login;
connection.query(sql, [
userid,
password
], (err, data) => {
// console.log(err, data)
if (err) {
console.log(err)
var result = {
"code": 500,
"result": 0,
"message": "服务器错误",
"data": null
}
return res.json(result);
} else {
let result = {
"code": 200,
"result": 1,
"message": null,
"data": data[0]
}
return res.json(result);
}
// connection.release();
})
})
},
// 获取用户信息
getUserInfo(req, res, next) {
var userid = req.body.userid;
pool.getConnection((err, connection) => {
var sql = sqlMap.getUserInfo;
connection.query(sql, userid, (err, data) => {
if (err) {
console.log(err)
var result = {
"result": 0,
"code": 500,
"message": "服务器错误",
"data": null
}
return res.json(result);
} else {
console.log(data)
var result = {
"result": 1,
"code": 200,
"message": null,
"data": data[0]
}
return res.json(result);
}
})
})
}
}
db.js
// 数据库连接配置
module.exports = {
mysql: {
host: 'localhost', // 新建数据库连接时的 主机名或ID地址 内容
user: 'root',
password: 'root', // root 密码
database: 'leyou', // 数据库名
port: '3306'
}
}
sqlMap.js
var sqlMap = {
login: 'SELECT userid,username,avatar FROM user_info WHERE userid = (SELECT userid FROM users WHERE userid = ? and password = ?);',
getUserInfo: 'SELECT userid,username,avatar,sex,birthday,address,autograph FROM user_info WHERE userid = ?;',
}
module.exports = sqlMap;
完成后,在终端中进入sever目录下,输入指令node index
即可运行