UNPKG

tframe-utility

Version:
46 lines (42 loc) 1.14 kB
/* 路由预处理器 */ module.exports = (req, res, next) => { // 定义标准输出 res.apiOk = data => { res.json({ apiStatus: 'ok', result: data }); }; res.apiErr = err => { console.log(err); res.status(err.status || 500); res.json({ apiStatus: 'err', code: err.status || '500', reason: err.reason || err.toString() }); }; if (req.url === '/favicon.ico') { res.apiOk('icon请求,已被忽略!'); } else { // 注入请求端IP req.userIp = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress; // TO DO 待后续补充是否要对get请求参数格式化; let irg1 = /sign\/in/; let irg2 = /sign\/up/; // 忽略 sign-in sign-up请求的session验证 if (!irg1.test(req.url) && !irg2.test(req.url) && !req.session.userid) { let err = new Error(); err.status = 401; err.reason = '当前未登录,或登录已过期'; res.apiErr(err); } } next(); };