admin.js 2.19 KB
/**
 * 文章controller
 * @author: leo <qi.li@yoho.cn>
 * @date: 23/06/2017
 */
const _ = require('lodash');
const ArticleModel = require('../models/admin');

const POST_SUCCESS = '操作成功';
const INVALID_PARAMS = '参数错误';

const article = {
    /**
     * 首页
     * @param req
     * @param res
     */
    indexPage(req, res) {
        res.render('home', {
            page: 'login',
            module: 'admin',
            bodyClass: 'nav-md'
        });
    },

    /**
     * 登录页
     * @param req
     * @param res
     */
    loginPage(req, res) {
        res.render('login', {
            page: 'login',
            module: 'admin',
            bodyClass: 'login'
        });
    },

    login(req, res) {
        const userName = req.body.userName || '';
        const password = req.body.password || '';

        if (!userName || !password) {
            return res.json({
                code: 400,
                message: '请检查账号和密码'
            });
        }

        _.set(req.session, 'user.isAdmin', true);
        res.json({
            code: 200,
            message: '登录成功'
        });
    },

    /**
     * 登出
     * @param req
     * @param res
     */
    logout(req, res) {
        res.clearCookie('yoho_activity');
        res.clearCookie('yoho_activity.sig');
        res.json({
            code: 200,
            message: '登出成功'
        });
    },

    /**
     * 新建活动
     * @param req
     * @param res
     * @param next
     */
    createActivity(req, res, next) {
        const title = req.body.title;
        const startTime = req.body.startTime;
        const endTime = req.body.endTime;

        if (!title || !startTime || !endTime) {
            return res.json({
                code: 400,
                message: INVALID_PARAMS
            });
        }

        const params = {
            title,
            startTime,
            endTime
        };

        req.ctx(ArticleModel).createActivity(params)
            .then(() => {
                return res.json({
                    code: 200,
                    message: POST_SUCCESS
                });
            })
            .catch(next);
    },
};


module.exports = article;