| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /*
- * @Description: 检查用户是否已经登陆
- * @Autor: kindring
- * @Date: 2021-12-22 16:24:37
- * @LastEditors: kindring
- * @LastEditTime: 2022-01-26 14:07:50
- * @LastDescript:
- */
- const progressField = require('../map/progressField');
- const {notLogin} = require('../tools/result');
- const log = require('../logger').logger('checkLogin', 'info');
- /**
- * 检查是否登录
- * @param sessionField
- * @param {'json'|'view'} type 返回的数据类型
- * @returns
- */
- function checkLogin(
- sessionField = progressField.session_hfy,
- type = 'json') {
- return function(req, res, next) {
- let session = req.session[sessionField]
- if (!session) {
- log.warn(`未登陆,请求接口,该接口验证类型${type}`)
- // 类型
- let resAction;
- switch (type) {
- case 'view':
- resAction = {
- action: 'redirect',
- params: [302, progressField.loginUrl[sessionField]]
- }
- break;
- case 'json':
- default:
- return notLogin(res, '请登录后在进行尝试');
- break;
- }
- return res[resAction.action](...resAction.params)
- }
- req.session._garbage = Date();
- req.session.touch();
- next();
- }
- }
- module.exports = checkLogin;
|