node.js+express+mysql 小项目

4 篇文章 0 订阅
3 篇文章 0 订阅

登录 注册 拦截器 评论 动态页面 后台管理等功能: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');  // 将用户重定向到登录页面
 
    }
  }
 
});

登录页面:
flash的error在登录页面设置
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"
			}
		},
        
    });
}    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值