一、安装express
npm install -g express-generator
项目结构
静态资源存放在public文件夹下
二、初始化项目
express my_app
三、新建route.js
let users = [
{username: 'fzy', password: '0000', age: 23, gender: 'male'},
{username: 'hql', password: '1111', age: 23, gender: 'male'},
{username: 'zsq', password: '2222', age: 21, gender: 'male'},
{username: 'peter', password: '3333', age: 23, gender: 'male'},
{username: 'julie', password: '4444', age: 23, gender: 'female'},
];
module.exports = function (app) {
//================users用户列表begin=================
app.get('/users', (req, res) => {
let params = req.query;
let username = params['username'];
console.log('username:', username);
if (username === '') {
res.send(users);
return;
}
let userArr = [];
for (let i = 0; i < users.length; i++) {
if (users[i].username === username) {
userArr.push(users[i])
}
}
res.send(userArr);
});
app.get('/del', (req, res) => {
let params = req.query;
let username = params['username'];
console.log(username);
for (let i = 0; i < users.length; i++) {
if (users[i].username === username) {
users.splice(i, 1);
}
}
res.send({code: 0, status: 'success', message: 'Removed successfully', data: ''});
});
//================users用户列表end=================
//================新建用户begin=================
app.post('/create', (req, res) => {
console.log(req.body);
users.push(req.body);
res.send({code: 0, status: 'success', message: 'Created successfully', data: ''});
});
//================新建用户end=================
//================修改用户begin=================
app.post('/update', (req, res) => {
let currentUser = req.body;
for (let i = 0; i < users.length; i++) {
console.log('currentUser.username: ' + currentUser.username);
console.log('users[' + i + '].username: ' + users[i].username);
console.log("index: " + i);
if (currentUser.username === users[i].username) {
users[i] = currentUser;
break
}
}
res.send({code: 0, status: 'success', message: 'Updated successfully', data: ''});
});
//================修改用户end=================
app.get('/login', (req, res) => {
let params = req.query;
let username = params['username'];
let password = params['password'];
let flag = false;
users.forEach(user => {
if (user.username === username && user.password !== password) {
flag = true;
res.send('<h1 style="color: red;">密码不正确</h1>');
} else if (user.username === username && user.password === password) {
res.send('<h1 style="color: green;">登陆成功</h1>');
}
});
if (!flag) {
res.send('<h1 style="color: yellow;">此用户不存在</h1>');
}
});
app.post('/login', (req, res) => {
let username = req.body.username;
let password = req.body.password;
let flag = false;
users.forEach(user => {
if (user.username === username && user.password !== password) {
flag = true;
res.send({status: '0', msg: '密码不正确', data: ''});
} else if (user.username === username && user.password === password) {
res.send({status: '2', msg: '登陆成功', data: ''});
}
});
if (!flag) {
res.send({status: '0', msg: '此用户不存在', data: ''});
}
res.send({status: '2', msg: '登陆成功', data: ''});
});
};
四、修改app.js
let createError = require('http-errors');
let express = require('express');
let path = require('path');
let cookieParser = require('cookie-parser');
let logger = require('morgan');
let routers = require('./route');
let app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({extended: false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
routers(app);
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404));
});
// error handler
app.use(function (err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
app.listen(3000);