Ai
1 Star 0 Fork 0

hellon_1981/NodeBlog

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
app.js 3.62 KB
一键复制 编辑 原始数据 按行查看 历史
var express = require('express')
var path = require('path')
var mongoose = require('mongoose')
var _ = require('underscore')
var Movie = require('./mongo/models/movie')
var port = process.env.PORT || 3000
var app = express()
var serveStatic = require('serve-static')
var bodyParser = require('body-parser')
mongoose.connect('mongodb://localhost/blog')
app.set('views', './views/pages')
app.set('view engine', 'jade')
app.use(bodyParser.urlencoded({extended: true}))
app.use(serveStatic('public'))
app.locals.moment = require('moment')
app.listen(port)
console.log('start nodeJs on port ' + port + ' success')
//index page
app.get('/', function (req, res) {
Movie.fetch(function (err, movies) {
if (err) {
console.log(err)
}
res.render('index', {
title: 'imooc 首页',
movies: movies
})
})
})
//detail page
app.get('/movie/:id', function (req, res) {
var id = req.params.id
Movie.findById(id, function (err, movie) {
console.log(movie)
res.render('detail', {
title: 'imooc ' + movie.title,
movie: movie
})
})
})
//admin page
app.get('/admin/movie', function (req, res) {
res.render('admin', {
title: 'imooc 后台录入页',
movie: {
title: '',
doctor: '',
country: '',
year: '',
poster: '',
flash: '',
summary: '',
language: ''
}
})
})
// admin update movie
app.get('/admin/update/:id', function (req, res) {
var id = req.params.id
if (id) {
Movie.findById(id, function (err, movie) {
res.render('admin', {
title: 'imooc 后台更新页',
movie: movie
})
})
}
})
// admin post movie
app.post('/admin/movie/new', function (req, res) {
var id = req.body.movie._id
var movieObj = req.body.movie
var _movie
if (id !== 'undefined') { //对其更新
Movie.findById(id, function (err, movie) {
if (err) {
console.log(err)
}
_movie = _.extend(movie, movieObj) //underscore
_movie.save(function (err, movie) {
if (err) {
console.log(err)
}
res.redirect('/movie/' + movie._id) //重定向
})
})
}
else {
_movie = new Movie({
doctor: movieObj.doctor,
title: movieObj.title,
country: movieObj.country,
language: movieObj.language,
year: movieObj.year,
poster: movieObj.poster,
summary: movieObj.summary,
flash: movieObj.flash
})
_movie.save(function (err, movie) {
if (err) {
console.log(err)
}
res.redirect('/movie/' + movie._id)
})
}
})
//list page
app.get('/admin/list', function (req, res) {
Movie.fetch(function (err, movies) {
if (err) {
console.log(err)
}
res.render('list', {
title: 'imooc 列表页',
movies: movies
})
})
})
//list delete movie
app.delete('/admin/delete', function (req, res) {
var id = req.query.id
if (id) {
Movie.remove({_id: id}, function (err, movie) {
if (err) {
console.log(err)
}
else {
res.json({success: true})
}
})
}
})
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mikeliyanwei/NodeBlog.git
git@gitee.com:mikeliyanwei/NodeBlog.git
mikeliyanwei
NodeBlog
NodeBlog
master

搜索帮助