router.js 2.33 KB
/**
 * router of sub app channel
 * @author: Bi Kai<kai.bi@yoho.cn>
 * @date: 2016/05/09
 */

'use strict';

const express = require('express');
const cRoot = './controllers';
const login = require(cRoot + '/login');

const Captcha = require(cRoot + '/captcha');
const Back = require(cRoot + '/back');

const router = express.Router(); // eslint-disable-line


router.get('/login', login.common.beforeLogin, login.local.loginPage);
router.get('/autosign/wechat', login.common.beforeLogin, login.wechat.login); // 微信登录, 兼容 PHP 的路径
router.get('/login/wechat/callback', login.wechat.callback);

/**
 * 找回密码首页信息
 */
// 找回密码首页
router.get('/back/index.html', Back.indexPage);

// 实时验证输入是否正确
router.post('/back/authcode',
    Captcha.validateAPI,
    Back.validateInputAPI,
    Back.getUserInfoAPI);

// 提交按钮邮件API
router.post('/back/email',
    Captcha.validatePage,
    Back.validateUserPage,
    Back.sendCodePage,
    Back.saveInSession);

// 提交按钮手机API
router.post('/back/mobile',
    Captcha.validatePage,
    Back.validateUserPage,
    Back.sendCodePage,
    Back.saveInSession);

/**
 * 邮件找回密码
 */
// 发送邮件成功页面
router.get('/back/sendEmail.html',
    Back.validateEmailInSession,
    Back.sendEmailPage);

/**
 * 短信找回密码
 */
// 验证手机短信页面
router.get('/back/verification.html',
    Back.validateMobileInSession,
    Captcha.validatePage,
    Back.verifyCodeByMobilePage);

// 重新发送短信接口
router.post('/back/sendBackMobile',
    Captcha.validateAPI,
    Back.validateMobileAPI,
    Back.sendBackMobileAPI);

// 验证手机验证码接口
router.post('/back/backMobile',
    Captcha.validateAPI,
    Back.verifyCodeByMobileAPI);

/**
 * 重置密码
 */
// 重置密码页面
router.get('/back/backcode',
    Back.validateExistCodePage,
    Back.validateCodeByMobilePage,
    Back.validateCodeByEmailPage,
    Back.resetPasswordPage);

// 重置密码接口
router.post('/back/update',
    Back.validateExistCodePage,
    Back.validateCodeByMobilePage,
    Back.validatePwdPage,
    Back.updatePwdAPI);

// 重置密码成功页面
router.get('/back/resetSuccess.html',
    Back.checkSuccessStatusPage,
    Back.resetPwdSuccessPage);

/**
 * 验证码生成
 */
router.get('/images', Captcha.generatePage);

module.exports = router;