Authored by 陈峰

Merge branch 'release/5.2' into gray

@@ -37,7 +37,8 @@ let guardStep = function(step) { @@ -37,7 +37,8 @@ let guardStep = function(step) {
37 if (req.xhr) { 37 if (req.xhr) {
38 return res.json({ 38 return res.json({
39 code: 400, 39 code: 400,
40 - refer: '/reg.html' 40 + refer: '/reg.html',
  41 + message: '页面失效'
41 }); 42 });
42 } else { 43 } else {
43 return res.redirect('/reg.html'); 44 return res.redirect('/reg.html');
@@ -13,6 +13,8 @@ const back = require(cRoot + '/back'); @@ -13,6 +13,8 @@ const back = require(cRoot + '/back');
13 const bind = require(cRoot + '/bind'); 13 const bind = require(cRoot + '/bind');
14 const reg = require(cRoot + '/reg'); 14 const reg = require(cRoot + '/reg');
15 15
  16 +const disableBFCahce = require('../../doraemon/middleware/disable-BFCache');
  17 +
16 const smsLogin = require(cRoot + '/sms'); 18 const smsLogin = require(cRoot + '/sms');
17 const update = require(cRoot + '/update'); 19 const update = require(cRoot + '/update');
18 const agreement = require(cRoot + '/app-agreement'); 20 const agreement = require(cRoot + '/app-agreement');
@@ -21,7 +23,7 @@ const router = express.Router(); // eslint-disable-line @@ -21,7 +23,7 @@ const router = express.Router(); // eslint-disable-line
21 23
22 // 兼容老的路由 24 // 兼容老的路由
23 router.get('/signin.html', login.common.beforeLogin, login.local.loginPage); 25 router.get('/signin.html', login.common.beforeLogin, login.local.loginPage);
24 -router.get('/reg.html', reg.index); 26 +router.get('/reg.html', disableBFCahce, reg.index);
25 router.get('/login.html', login.common.beforeLogin, login.local.international); 27 router.get('/login.html', login.common.beforeLogin, login.local.international);
26 router.get('/phoneback.html', back.indexMobilePage); 28 router.get('/phoneback.html', back.indexMobilePage);
27 router.get('/emailback.html', back.indexEmailPage); 29 router.get('/emailback.html', back.indexEmailPage);
@@ -85,6 +87,7 @@ router.post('/passport/bind/changeMobile', bind.changeMobile); @@ -85,6 +87,7 @@ router.post('/passport/bind/changeMobile', bind.changeMobile);
85 /** 87 /**
86 * 注册 88 * 注册
87 */ 89 */
  90 +router.use('/passport/reg/*', disableBFCahce);
88 router.get('/passport/reg/index', reg.index); 91 router.get('/passport/reg/index', reg.index);
89 router.get('/passport/reg/captcha.png', reg.genCaptcha); 92 router.get('/passport/reg/captcha.png', reg.genCaptcha);
90 router.post('/passport/reg/verifymobile', reg.sendCodeBusyBoy, reg.verifyMobile); 93 router.post('/passport/reg/verifymobile', reg.sendCodeBusyBoy, reg.verifyMobile);
  1 +/**
  2 + * disable Back forward cache
  3 + */
  4 +module.exports = (req, res, next) => {
  5 + res.set({
  6 + 'Cache-Control': 'no-cache, max-age=0, must-revalidate, no-store',
  7 + Pragma: 'no-cache',
  8 + Expires: 0
  9 + });
  10 + next();
  11 +};
@@ -41,6 +41,8 @@ module.exports = () => { @@ -41,6 +41,8 @@ module.exports = () => {
41 res.removeHeader('Expires'); 41 res.removeHeader('Expires');
42 } else if (req.get('X-Requested-With') === 'XMLHttpRequest') { 42 } else if (req.get('X-Requested-With') === 'XMLHttpRequest') {
43 res.set('Cache-Control', 'no-cache'); 43 res.set('Cache-Control', 'no-cache');
  44 + } else if (res.get('Cache-Control')) { // 业务代码里设了cache, 中断下面的判断
  45 + // nothing
44 } else { 46 } else {
45 res.set({ 47 res.set({
46 'Cache-Control': 'no-cache', 48 'Cache-Control': 'no-cache',
@@ -68,9 +68,11 @@ module.exports = function(useInRegister, useForBind, useForRelate) { @@ -68,9 +68,11 @@ module.exports = function(useInRegister, useForBind, useForRelate) {
68 if (data.code === 200) { 68 if (data.code === 200) {
69 location.href = data.data; 69 location.href = data.data;
70 } else { 70 } else {
71 -  
72 // 验证码不正确,显示提示 71 // 验证码不正确,显示提示
73 showErrTip(data.message); 72 showErrTip(data.message);
  73 + if (data.refer) {
  74 + location.href = data.refer;
  75 + }
74 } 76 }
75 77
76 } 78 }