var express = require('express')
var fs = require('fs')
var bodyParser = require('body-parser')
var router = require('./router')
was app = Out ()
app.engine ( 'html', require ( 'express-art-template')) // name suffix after the introduction of HTML module
app.use ( '/ public /', express.static ( './ public /')) // Open static module
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use (bodyParser.json ()) // post request method to increase when there is obtained the intermediate form data to a method req.body ()
// routed to mount after the middleware
app.use(router)
app.listen(3000, function () {
console.log('server is running')
})
Routing settings:
var fs = require('fs')
var express = require('express')
var users = require('./user')
var router = express.Router()
router.get('/', function (req, res) {
users.finds(function(err,user){
if (err) {
return res.status(500).send('server err')
}
res.render('login.html', {
user: user
})
})
})
router.get('/regist', function (req, res) {
res.render('regist.html')
})
router.get('/change', function (req, res) {
users.findById(parseInt(req.query.id),function(err,users){
if(err){
return res.status(500).send('Server error.')
}
res.render('change.html',{
users:users
})
})
})
router.post('/change',function(req,res){
users.change(req.body,function(err){
if(err){
return res.status(500).send('server err')
}
res.redirect('/')
})
})
router.get('/del',function(req,res){
users.del(parseInt(req.query.id),function(err,users){
if(err){
return res.status(500).send('Server error.')
}
res.redirect('/')
})
})
router.get('/log', function (req, res) {
users.save(req.body,function(err){
if(err){
return res.status(500).send('server err')
}
res.redirect('/')
})
})
module.exports = router
// module.exports = function(app){
// app.get('/', function (req, res) {
// fs.readFile('./db.json', function (err, data) {
// if (err) {
// return res.status(500).send('server err')
// }
// res.render('login.html', {
// user:JSON.parse(data).user
// })
// })
// })
// app.get('/regist', function (req, res) {
// res.render('regist.html')
// })
// app.get('/change', function (req, res) {
// res.render('change.html')
// })
// app.post('/log', function (req, res) {
// var newUer = req.body;
// user.push(newUer);
// res.redirect('/')
// })
// }
Data Manipulation
var fs = require('fs')
was dbPath = './db.json'
// Get the user
exports.finds = function(callback){
fs.readFile(dbPath,function(err,date){
if(err){
callback(err)
}
callback(null,JSON.parse(date).user)
})
}
// find the user according to id
exports.findById = function (id, callback) {
fs.readFile(dbPath, 'utf8', function (err, data) {
if (err) {
return callback(err)
}
var user = JSON.parse(data).user
was quite = user.find (function (item) {
return item.id === parseInt(id)
})
callback(null, ret)
})
}
// save the user
exports.save = function (users, callback) {// users: Adding user
fs.readFile (dbPath, 'utf8', function (err, date) {// read the source file user
if(err){
return callback(err)
}
var user = JSON.parse (date) .user // converted into the original user character string type objects
users.id = user[user.length - 1].id + 1
user.push(users)
var fileData = JSON.stringify ({user: user}) // After addition the file into a string
fs.writeFile(dbPath,fileData,function(err){ //写入db.json
if(err){
return callback(err)
}
callback(null)
})
})
}
// modify user
exports.change = function(users,callback){
fs.readFile (dbPath, 'utf8', function (err, data) {// read the source file user
if(err){
return callback(err)
}
var user = JSON.parse(data).user
users.id = parseInt(users.id)
var upUser = user.find (function (item) {// find the target user and returns
return item.id === users.id
})
for (var key in users) {// the modified content assignment
upUser[key] = users[key]
}
var fileData = JSON.stringify ({user: user}) // After addition the file into a string
fs.writeFile(dbPath,fileData,function(err){ //写入db.json
if(err){
return callback(err)
}
callback(null)
})
})
}
//delete users
exports.del = function(id,callback){
fs.readFile(dbPath, 'utf8', function (err, data) {
if (err) {
return callback(err)
}
var user = JSON.parse(data).user
var delId = user.findIndex(function(item){
return item.id === parseInt(id)
})
user.splice(delId,1)
var fileData = JSON.stringify({
user:user
})
fs.writeFile(dbPath,fileData,function(err){ //写入db.json
if(err){
return callback(err)
}
callback(null)
})
})
}
https://pan.baidu.com/s/1FHgA-eQWQVqs0JVPgOGbMA