user.js 763 Bytes
'use strict';

const _ = require('lodash');
const Fp = require('lodash/fp');
const cookie = global.yoho.cookie;

module.exports = () => {
    return (req, res, next) => {
        // 从 SESSION 中获取到当前登录用户的 UID
        if (req.session && _.isNumber(req.session._LOGIN_UID)) {
            req.user.uid = req.session._LOGIN_UID;
        }

        // session 没有读取到的时候,从 cookie 读取 UID
        if (!req.user.uid && req.cookies._UID) {
            req.user.uid = cookie.getUid(req);
        }

        // 获得vip 信息
        if (req.user.uid && req.cookies._UID) {
            let getVip = Fp.pipe(Fp.split('::'), Fp.take(2));

            req.user.vip = getVip(req.cookies._UID);
        }

        next();
    };
};