'use strict'; /** * 登录页面控制器 * * @author Mai * @data 2018/4/18 * @version */ module.exports = app => { class LoginController extends app.BaseController { /** * 登录页面 * * @param {object} ctx - egg全局context * @return {void} */ async index(ctx) { const errorMessage = ctx.session.loginError; // 显示完删除 ctx.session.loginError = null; const renderData = { errorMessage, }; await ctx.render('login/login.ejs', renderData); } /** * 登录操作 * * @param {Object} ctx - egg全局变量 * @return {void} */ async login(ctx) { try { const result = await ctx.service.customer.validLogin(ctx.request.body); if (!result) { throw '登录失败'; } ctx.redirect('/lib'); } catch(err) { console.log(err); ctx.session.loginError = '用户名或密码错误'; ctx.redirect('/login'); } } /** * 退出登录 * * @param {Object} ctx - egg全局变量 * @return {void} */ async logout(ctx) { // 删除session并跳转 ctx.session = null; ctx.redirect('/'); } } return LoginController; };