Page 130 - Node.js开发指南
P. 130
5.7 发表微博 123
1
app.get('/logout', checkLogin);
app.get('/logout', function(req, res) {
req.session.user = null;
req.flash('success', '登出成功');
res.redirect('/');
}); 2
};
function checkLogin(req, res, next) {
if (!req.session.user) {
3
req.flash('error', '未登入');
return res.redirect('/login');
}
next();
}
4
function checkNotLogin(req, res, next) {
if (req.session.user) {
req.flash('error', '已登入');
return res.redirect('/');
} 5
next();
}
5.7 发表微博 6
现在网站已经具备了用户注册、登入、页面权限控制的功能,这些功能为网站最核心的
部分——发表微博做好了准备。在这个小节里,我们将会实现发表微博的功能,完成整个网
站的设计。 7
5.7.1 微博模型
现在让我们从模型开始设计。仿照用户模型,将微博模型命名为 Post 对象,它拥有与
8
User 相似的接口,分别是 Post.get 和 Post.prototype.save。Post.get 的功能是从
数据库中获取微博,可以按指定用户获取,也可以获取全部的内容。 Post.prototype.save
是 Post 对象实例的方法,用于将对象的变动保存到数据库。
创建 models/post.js,写入以下内容: 9
var mongodb = require('./db');
function Post(username, post, time) {
10
this.user = username;
this.post = post;