登录 注册 拦截器 评论 动态页面 后台管理等功能:https://github.com/yuanshuo1022/shuo
拦截器部分代码
app.use(flash());
//设置flash
app.use(function(req, res, next){
res.locals.error = req.flash('error') || "";
res.locals.success = req.flash('success') || "";
next();
});
// //拦截器
app.use(function (req, res, next) {
if (req.session.user&&req.session.user!=undefined&&req.originalUrl!="/imgUpdate.html"&&req.originalUrl!="/indexBack.html"&&req.originalUrl!="/picture-add.html"&&req.originalUrl!="/picture-list.html"&&req.originalUrl!="/pixture-show"&&req.originalUrl!="/article-add.html"&&req.originalUrl!="/article-list.html"&&req.originalUrl!="/article-comment.html") { // 判断用户是否登录
next();
} else if(req.session.AccoutBack&&req.session.AccoutBack!=undefined){
next();
}else{
// 解析用户请求的路径
var arr = req.url.split('/');
// console.log("arr.length为是"+arr.length)
// 去除 GET 请求路径上携带的参数
for (var i = 0, length = arr.length; i < 1; i++) {
arr[i] = arr[i].split('?')[0];
}
// 判断请求路径是否为根、登录、注册、登出,如果是不做拦截
if ( arr[1]=="static"||arr[1]=="lib"||arr[1]=="images"||arr[1]=="stylesheets"||arr[1]=="javascripts"||arr[1] == 'loginback.html' || (arr[1] == 'register' || arr[1] == 'login')) {
next();
} else { // 登录拦截
req.session.originalUrl = req.originalUrl ? req.originalUrl : null; // 记录用户原始请求路径
req.flash('error', '登录才能进入网页哦');
res.redirect('/login'); // 将用户重定向到登录页面
}
}
});
登录页面:
ajax和form选其一,实现搜索,登录,注册等功能
function loginback(){
var AccountBack = $('#username').val();
var passwordBack = $('#password').val();
var databack = { "AccountBack": AccountBack,
"passwordBack":passwordBack};
$.ajax({
url:'/loginback.html',
type:'POST',
data:databack,
success: function(data){
if(data.data == 1){
window.location = "/article-list.html"
}else{
window.location="/error"
}
},
});
}