/** * 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 reg = require(cRoot + '/reg'); const bind = require(cRoot + '/bind'); const cert = require(cRoot + '/cert'); const auth = require(`${global.middleware}/auth`); const router = express.Router(); // eslint-disable-line // 兼容老的路由 router.get('/signin.html', login.common.beforeLogin, captcha.required, login.local.loginPage); router.get('/reg.html', captcha.required, reg.index); router.get('/logout.html', login.local.logout); // 本地登录 // 短信验证码 router.post('/passport/login/sms/send', captcha.requiredAPI, login.local.sms.send); // 发短信验证码 router.post('/passport/login/sms/auth', login.local.sms.auth); // 验证短信验证码 // 二维码登录 router.post('/passport/login/qrcode/refresh', login.local.qrcode.refresh); // 刷新二维码 router.post('/passport/login/qrcode/check', login.local.qrcode.check); // 验证二维码的状态 router.get('/passport/login', login.common.beforeLogin, captcha.required, login.local.loginPage); router.post('/passport/login/auth', captcha.passwordRequired, login.local.login); router.get('/passport/logout', login.local.logout); // 微信登录 router.get('/passport/autosign/wechat', login.common.beforeLogin, login.wechat.login); // 微信登录, 兼容 PHP 的路径 router.get('/passport/login/wechat/callback', login.wechat.callback); // sina登录 router.get('/passport/autosign/sina', login.common.beforeLogin, login.sina.login); router.get('/passport/login/sina/callback', login.sina.callback); // qq登录 // router.get('/passport/autosign/qq', login.common.beforeLogin, login.qq.login); // router.get('/passport/login/qq/callback', login.qq.callback); // alipay登录 router.get('/passport/autosign/alipay', login.common.beforeLogin, login.alipay.login); router.get('/passport/login/alipay/callback', login.alipay.callback); // douban登录 // router.get('/passport/autosign/douban', login.common.beforeLogin, login.douban.login); // router.get('/passport/autosign/doubanback', login.douban.callback); // renren登录 // router.get('/passport/autosign/renren', login.common.beforeLogin, login.renren.login); // router.get('/passport/login/renren/callback', login.renren.callback); // 第三方登录后绑定手机号 router.get('/passport/thirdlogin/index', captcha.required, bind.indexPage); router.get('/passport/thirdlogin/bindsuccess', bind.bindSuccess); router.post('/passport/autouserinfo/sendBindMsg', captcha.requiredAPI, bind.sendBindMsg); router.post('/passport/autouserinfo/bindMobile', bind.bindMobile); // 未实名认证的老邮箱用户登录绑定手机号 router.get('/passport/cert/index', captcha.required, cert.index); /** 输入手机号码页面 **/ router.get('/passport/cert/success', cert.success); /** 成功提示页面 **/ router.post('/passport/cert/check', cert.check); router.post('/passport/cert/sendCertMsg', captcha.requiredAPI, cert.sendCertMsg); router.post('/passport/cert/certMobile', cert.certMobile); /** * 注册页面路由 */ router.get('/passport/reg/index', captcha.required, reg.index); // NOTE: 该接口的存在只是为了兼容前端 ajax 请求 router.post('/passport/reg/checkmobile', reg.fakeCheckMobile); router.post('/passport/reg/msgcaptcha', reg.checkMobileMiddleware, reg.msgCaptcha); router.post('/passport/reg/sendBindMsg', captcha.requiredAPI, reg.checkMobileMiddleware, reg.sendBindMsg); router.post('/passport/reg/mobileregister', reg.checkMobileMiddleware, reg.checkPassword, reg.mobileRegister); router.get('/passport/reg/success', reg.success); /** * 找回密码首页信息 */ // 找回密码首页 router.get('/passport/back/index', captcha.required, back.index); // 验证输入是否正确 router.post('/passport/back/authcode', captcha.requiredAPI, back.validateInputAPI, back.getUserInfoAPI); // 提交按钮邮件API router.post('/passport/back/email', captcha.requiredAPI, back.validateInputAPI, back.sendCodePage, back.saveInSession); // 提交按钮手机AP router.post('/passport/back/mobile', captcha.requiredAPI, back.validateInputPage, back.sendCodePage, back.saveInSession); /** * 邮件找回密码 */ // 发送邮件成功页面 router.get('/passport/back/sendEmail', back.validateEmailInSession, back.sendEmailPage); /** * 短信找回密码 */ // 验证手机短信页面 router.get('/passport/back/verification', captcha.required, back.validateMobileInSession, back.verifyCodeByMobilePage); // 重新发送短信接口 router.post('/passport/back/sendBackMobile', captcha.requiredAPI, back.validateMobileAPI, back.sendBackMobileAPI); // 验证手机验证码接口 router.post('/passport/back/backMobile', back.verifyCodeByMobileAPI); /** * 重置密码 */ // 重置密码页面 router.get('/passport/back/backcode', back.validateExistCodePage, back.validateCodeByMobilePage, back.validateCodeByEmailPage, back.resetPasswordPage); // 重置密码接口 router.post('/passport/back/update', back.validateExistCodePage, back.validateCodeByMobilePage, back.validatePwdPage, back.updatePwdAPI); // 重置密码成功页面 router.get('/passport/back/resetSuccess', back.validateSuccessStatusPage, back.resetPwdSuccessPage); router.get('/passport/images.png', captcha.generate); router.get('/passport/images-risk.png', captcha.imgGenerateRisk); // api risk 图形验证码 router.post('/passport/captcha/img', captcha.checkAPI); // 机器人验证 // 弱密码 router.get('/passport/back/weak', auth, back.weakPasswordPage); router.post('/passport/back/modPwdByCodeAPI', auth, back.modPwdByCodeAPI); // 重置密码成功页面 router.get('/passport/back/weakSuccess', back.weakPwdSuccessPage); module.exports = router;