auth.js 752 Bytes
/**
 * 登录判断
 * @author: TaoHuang
 * @date: 2016/7/15
 */

'use strict';

const _ = require('lodash');
const helpers = global.yoho.helpers;

module.exports = (req, res, next) => {
    let refer = '';

    if (req.method === 'GET') {
        refer = `${req.protocol}://${req.hostname}${req.originalUrl}`;
    } else {
        refer = req.get('Referer');
    }

    let loginUrl = helpers.urlFormat('/passport/login', {refer: refer});

    if (_.isEmpty(req.user) || !req.user.uid) {
        if (req.xhr) {
            return res.json({
                code: 400,
                message: '抱歉,您暂未登录!',
                data: {refer: loginUrl}
            });
        }

        return res.redirect(loginUrl);
    }
    next();
};