Authored by htoooth

fix some bug

... ... @@ -43,7 +43,7 @@ passport.use(new LocalStrategy({
}
let verifyEmail = helpers.verifyEmail(username);
let verifyMobile = helpers.verifyAreaMobile(username, area);
let verifyMobile = helpers.verifyAreaMobile(area + '-' + username, area);
if (!verifyEmail && !verifyMobile) {
logger.info(`【Passport Loginbad account, email:${verifyEmail} mobile:${verifyMobile}`);
... ...
... ... @@ -39,10 +39,10 @@ const bind = {
}));
},
bindSetPwdPage: (req, res) => {
let mobile = req.body.mobile;
let sourceType = req.body.sourceType;
let openId = req.body.openId;
let area = req.body.area;
let mobile = req.query.thirdPart.mobile;
let sourceType = req.query.thirdPart.sourceType;
let openId = req.query.thirdPart.openId;
let area = req.query.thirdPart.area;
res.render('bind/bind-set-pwd', Object.assign({
module: 'passport',
... ... @@ -57,8 +57,8 @@ const bind = {
},
bindConfirmPage: (req, res) => {
let thirdPart = req.body.thirdPart;
let user = req.body.user;
let thirdPart = req.query.thirdPart;
let user = req.query.user;
const DEFAULT_URL = 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100';
let avatar = user.headImg || DEFAULT_URL;
... ... @@ -78,8 +78,8 @@ const bind = {
sourceType: thirdPart.sourceType
}),
loginUrl: helpers.urlFormat('/passport/login'),
uid: user.uid,
mobile: thirdPart.mobile,
openId: thirdPart.openId,
area: thirdPart.area,
code: thirdPart.code,
sourceType: thirdPart.sourceType
... ... @@ -116,15 +116,15 @@ const bind = {
}));
},
relateConfirmPage: (req, res) => {
let thirdPart = req.body.thirdPart;
let user = req.body.user;
let thirdPart = req.query.thirdPart;
let user = req.query.user;
const DEFAULT_URL = 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100';
let avatar = user.headImg || DEFAULT_URL;
res.render('bind/relate-confirm', Object.assign({
module: 'passport',
page: 'bind-confirm',
page: 'relate-confirm',
title: '关联确认'
}, {
avatar: avatar,
... ... @@ -133,7 +133,7 @@ const bind = {
openId: thirdPart.openId,
sourceType: thirdPart.sourceType
}),
signinUrl: helpers.urlFprmat('/passport/login'),
signinUrl: helpers.urlFormat('/passport/login'),
mobile: thirdPart.mobile,
area: thirdPart.area,
sourceType: thirdPart.sourceType,
... ...
... ... @@ -181,13 +181,16 @@ const local = {
res.clearCookie('_TOKEN', {
domain: config.cookieDomain
});
res.clearCookie('_USERNAME', {
domain: config.cookieDomain
});
res.clearCookie('_SPK');
res.clearCookie('_g');
res.clearCookie('isRemember');
res.clearCookie('remem');
let refer = req.get('Referer') || config.siteUrl;
res.redirect(refer);
res.redirect(req.get('Referer') || config.siteUrl);
}
};
... ...
... ... @@ -28,7 +28,7 @@ const Auth = {
nickname: nickname,
openId: openId,
source_type: sourceType,
method: 'app.passport.signinByOtherOpenID'
method: 'app.passport.signinByOpenID'
};
if (shoppingKey) {
... ...
... ... @@ -43,14 +43,14 @@ router.get('/login/account', login.common.needCaptcha);
// 第三方登录后绑定
router.get('/thirdlogin/index', bind.indexPage);
router.post('/thirdlogin/bindsetpwd', bind.bindSetPwdPage);
router.get('/thirdlogin/bindsetpwd', bind.bindSetPwdPage);
// 第三方登录后绑定确认
router.post('/thirdlogin/bindConfirm', bind.bindConfirmPage);
router.get('/thirdlogin/bindConfirm', bind.bindConfirmPage);
router.get('/thirdlogin/bindSuccess', bind.bindSuccessPage);
// 第三方登录后关联确认
router.post('/thirdlogin/relateConfirm', bind.relateConfirmPage);
router.get('/thirdlogin/relateConfirm', bind.relateConfirmPage);
router.get('/thirdlogin/relateSuccess', bind.relateSuccessPage);
// 第三方登录api
... ... @@ -58,7 +58,7 @@ router.post('/autouserinfo/bindMobile', bind.bindMobile);
router.post('/autouserinfo/bindCheck', bind.bindCheck);
router.post('/autouserinfo/sendBindMsg', bind.sendBindMsg);
router.post('/autouserinfo/checkBindMsg', bind.checkBindMsg);
router.post('/autouserinfo/relatemobile', bind.relateMobile);
router.post('/autouserinfo/relateMobile', bind.relateMobile);
/**
* 注册页面路由
... ...
... ... @@ -38,7 +38,7 @@
<li>
<div>
<a id="next" class="btn btn-fixed-height" href="{{bindSuccess}}">是朕的,绑定该手机号</a>
<a id="next" class="btn btn-fixed-height">是朕的,绑定该手机号</a>
</div>
</li>
... ... @@ -52,9 +52,9 @@
</div>
<input type="hidden" value="{{uid}}">
<input type="hidden" value="{{mobile}}">
<input type="hidden" value="{{area}}">
<input type="hidden" value="{{code}}">
<input type="hidden" value="{{sourceType}}">
<input id="openId" type="hidden" value="{{openId}}">
<input id="mobile" type="hidden" value="{{mobile}}">
<input id="area" type="hidden" value="{{area}}">
<input id="code" type="hidden" value="{{code}}">
<input id="sourceType" type="hidden" value="{{sourceType}}">
</div>
... ...
... ... @@ -25,7 +25,7 @@
<li>
<div>
<a id="next" class="btn btn-fixed-height disable" href="">确认</a>
<a id="next" class="btn btn-fixed-height disable">确认</a>
</div>
</li>
</ul>
... ...
... ... @@ -14,7 +14,7 @@
<li class="clearfix">
<div id="mobile-input-component" class="mobile-input-component">
<select id="region" name="select" class="region left">
<select id="region" name="area" class="region left">
{{#each region}}
<option {{#if selected}}selected="selected"{{/if}}
value="{{areaCode}}">{{name}}</option>
... ... @@ -24,8 +24,9 @@
<div id="phone" class="ctrl left">
<div id="region-code" class="code left">{{local}}</div>
<div >
<input id="phone-num" class="phone-num" type="text" placeholder="Phone Number">
<div>
<input id="phone-num" name='mobile' class="phone-num" type="text"
placeholder="Phone Number">
</div>
</div>
... ... @@ -35,7 +36,8 @@
<li class="clearfix">
<div id="img-captcha-component" class="img-captcha-component">
<input id="verifyCode" class="input left" name="code" type="text" placeholder="图形验证码">
<input id="verifyCode" name='verifyCode' class="input left" name="code" type="text"
placeholder="图形验证码">
<div class="refresh left">
<img class="left img-captcha" src="{{imgCaptcha}}">
... ... @@ -46,7 +48,8 @@
<li class="clearfix">
<div id="sms-captcha-component" class="sms-captcha-component">
<input id="sms-captcha-input" class="input left sms-captcha-input" type="text" placeholder="短信验证码">
<input id="sms-captcha-input" name='code' class="input left sms-captcha-input" type="text"
placeholder="短信验证码">
<div class="left">
<a class="btn send disable sms-captcha-send">获取短信验证码</a>
... ... @@ -68,9 +71,45 @@
</div>
<div>
<input id="openId" type="hidden" value="{{openId}}">
<input id="sourceType" type="hidden" value="{{sourceType}}">
<input id="refer" type="hidden" value="{{refer}}">
<input id="openId" name='openId' type="hidden" value="{{openId}}">
<input id="sourceType" name='sourceType' type="hidden" value="{{sourceType}}">
<input id="refer" name='refer' type="hidden" value="{{refer}}">
</div>
<form id="bindsetpwd" class='hide' action="/passport/thirdlogin/bindsetpwd" method="get">
<input class="openId" name='thirdPart[openId]' type="hidden" value="">
<input class="sourceType" name='thirdPart[sourceType]' type="hidden" value="">
<input class="refer" name='thirdPart[refer]' type="hidden" value="">
<input class="mobile" name='thirdPart[mobile]' type="hidden" value="">
<input class="area" name="thirdPart[area]" type="hidden" value="">
<input class="verifyCode" name="thirdPart[verifyCode]" type="hidden" value="">
<input class="code" name="thirdPart[code]" type="hidden" value>
</form>
<form id="bindConfirm" class='hide' action="/passport/thirdlogin/bindConfirm" method="get">
<input class="openId" name='thirdPart[openId]' type="hidden" value="">
<input class="sourceType" name='thirdPart[sourceType]' type="hidden" value="">
<input class="refer" name='thirdPart[refer]' type="hidden" value="">
<input class="mobile" name='thirdPart[mobile]' type="hidden" value="">
<input class="area" name="thirdPart[area]" type="hidden" value="">
<input class="verifyCode" name="thirdPart[verifyCode]" type="hidden" value="">
<input class="code" name="thirdPart[code]" type="hidden" value>
<input class="username" name="user[username]" type="hidden" value="">
<input class="headImg" name="user[headImg]" type="hidden" value>
</form>
<form id='relateConfirm' class='hide' action="/passport/thirdlogin/relateConfirm" method="get">
<input class="openId" name='thirdPart[openId]' type="hidden" value="">
<input class="sourceType" name='thirdPart[sourceType]' type="hidden" value="">
<input class="refer" name='thirdPart[refer]' type="hidden" value="">
<input class="mobile" name='thirdPart[mobile]' type="hidden" value="">
<input class="area" name="thirdPart[area]" type="hidden" value="">
<input class="verifyCode" name="thirdPart[verifyCode]" type="hidden" value="">
<input class="code" name="thirdPart[code]" type="hidden" value>
<input class="username" name="user[username]" type="hidden" value="">
<input class="headImg" name="user[headImg]" type="hidden" value>
</form>
</div>
\ No newline at end of file
... ...
... ... @@ -29,8 +29,8 @@
<li>
<div class="quick-btn">
<a id="relate-btn" class="btn btn-fixed-height left" href="">关联此手机号</a>
<a class="btn btn-fixed-height right" href="">更换新手机号</a>
<a id="relate-btn" class="btn btn-fixed-height left">关联此手机号</a>
<a class="btn btn-fixed-height right" href="{{relateUrl}}" >更换新手机号</a>
</div>
</li>
... ...
... ... @@ -13,13 +13,13 @@ module.exports = {
app: 'web',
appVersion: '4.6.0', // 调用api接口版本
port: 6003,
siteUrl: '//www.yohoblk.com',
siteUrl: '//www.yohobuy.com',
subDomains: {
default: '//www.yohoblk.com'
default: '//www.yohobuy.com'
},
cookieDomain: 'yohoblk.com',
cookieDomain: 'yohobuy.com',
domains: {
api: 'http://api.yoho.cn/', // devapi.yoho.cn:58078 testapi.yoho.cn:28078 devapi.yoho.cn:58078
api: 'http://testapi.yoho.cn:28078/', // devapi.yoho.cn:58078 testapi.yoho.cn:28078 devapi.yoho.cn:58078
service: 'http://testservice.yoho.cn:28077/', // testservice.yoho.cn:28077 devservice.yoho.cn:58077
search: 'http://192.168.102.216:8080/yohosearch/'
},
... ...
... ... @@ -10,7 +10,7 @@ var $area = $('#area');
var $sourceType = $('#sourceType');
var $openId = $('#openId');
var $next = $('#relate-btn');
var $next = $('#next');
$next.on('click', function() {
return $.ajax({
... ...
... ... @@ -16,6 +16,10 @@ var $regionCodeText = $('#region-code'),
$phone = $('#phone'),
$nextBtn = $('#validate-phone-next');
var $bindsetpwdForm = $('#bindsetpwd'),
$bindConfirmForm = $('#bindConfirm'),
$relateConfirmForm = $('#relateConfirm');
var $openId = $('#openId');
var $sourceType = $('#sourceType');
var $refer = $('#refer');
... ... @@ -44,6 +48,7 @@ function disableSMSBtn() {
second = 60;
$smsCaptchaCtrl.text('获取短信验证码');
$smsCaptchaCtrl.removeClass('disable');
$smsCaptchaCtrl.removeClass('progress');
} else {
$smsCaptchaCtrl.text(second + '秒后可重新操作');
window.setTimeout(disableSMSBtn, 1000);
... ... @@ -56,7 +61,7 @@ function sendSMSCaptcha() {
url: '/passport/autouserinfo/sendBindMsg',
data: {
mobile: $phoneNumInput.val(),
area: $regionCodeText.text()
area: $regionCodeText.text().replace('+', '')
}
});
}
... ... @@ -85,8 +90,8 @@ function validateSMSCaptcha() {
url: '/passport/autouserinfo/checkBindMsg',
data: {
code: $smsCaptchaInput.val(),
mobile: $smsCaptchaInput.val(),
area: $regionCodeText.text()
mobile: $phoneNumInput.val(),
area: $regionCodeText.text().replace('+', '')
}
});
}
... ... @@ -107,8 +112,8 @@ $('#region').change(function() {
$regionCodeText.text($this.val());
});
ep.on('phoneNum', function(isCheck) {
if (isCheck) {
ep.tail('phoneNum', 'img-captcha', function(phoneAuth, imgAuth) {
if (phoneAuth && imgAuth && !$smsCaptchaCtrl.hasClass('progress')) {
$smsCaptchaCtrl.removeClass('disable');
} else {
$smsCaptchaCtrl.addClass('disable');
... ... @@ -203,45 +208,48 @@ $smsCaptchaCtrl.on('click', function() {
}
$smsCaptchaCtrl.addClass('disable');
$smsCaptchaCtrl.addClass('progress');
disableSMSBtn();
sendSMSCaptcha();
});
function setUserInfo(user) {
$('.username').val(user.username);
$('.headImg').val(user.headImg);
}
function setThirdPartInfo(third) {
$('.openId').val(third.openId);
$('.sourceType').val(third.sourceType);
$('.refer').val(third.refer);
$('.mobile').val(third.mobile);
$('.area').val(third.area);
$('.verifyCode').val(third.verifyCode);
$('.code').val(third.code);
}
function setPwdPage(thirdPart) {
return $.ajax({
type: 'POST',
url: '/passport/thirdlogin/bindsetpwd',
data: thirdPart
});
setThirdPartInfo(thirdPart);
$bindsetpwdForm.submit();
}
function bindConfirmPage(thirdPart, user) {
return $.ajax({
type: 'POST',
url: '/passport/thirdlogin/bindConfirm',
data: {
thirdPart: thirdPart,
user: user
}
});
setThirdPartInfo(thirdPart);
setUserInfo(user);
$bindConfirmForm.submit();
}
function relateConfirmPage(thirdPart, user) {
return $.ajax({
type: 'POST',
url: '/passport/thirdlogin/relateConfirm',
data: {
thirdPart: thirdPart,
user: user
}
});
setThirdPartInfo(thirdPart);
setUserInfo(user);
$relateConfirmForm.submit();
}
function nextPage() {
var thirdPart = {
mobile: $phoneNumInput.val(),
area: $regionCodeText.text(),
area: $regionCodeText.text().replace('+', ''),
openId: $openId.val(),
sourceType: $sourceType.val(),
verifyCode: $imgCaptchaInput.val(),
... ... @@ -267,11 +275,11 @@ function nextPage() {
case 201:
case 205:
// 已注册绑定过其他的第三方,绑定确定页面
bindConfirmPage(thirdPart, result.data);
bindConfirmPage(thirdPart, result.data.user);
break;
case 203:
// 关联帐号,关联页面
relateConfirmPage(thirdPart, result.data);
relateConfirmPage(thirdPart, result.data.user);
break;
default:
// 出错
... ...
... ... @@ -88,15 +88,13 @@ $repasswordInput.on('keyup blur', function() {
return;
}
console.log($passwordInput.val(), $repasswordInput.val());
ep.emit('repwd', true);
});
function nextPage() {
$.ajax({
type: 'POST',
url: '/passport/thirdlogin/bindMobile',
url: '/passport/autouserinfo/bindmobile',
data: {
openId: $openId.val(),
sourceType: $sourceType.val(),
... ... @@ -106,7 +104,7 @@ function nextPage() {
}
}).then(function(result) {
if (result.code === 200) {
window.local = result.data.refer;
window.location.href = result.data.refer;
} else {
errTip($next, result.message);
}
... ...
... ... @@ -8,9 +8,9 @@ var $area = $('#area');
var $sourceType = $('#sourceType');
var $openId = $('#openId');
var $next = $('#next');
var $relate = $('#relate-btn');
$next.on('click', function() {
$relate.on('click', function() {
return $.ajax({
type: 'POST',
url: '/passport/autouserinfo/relateMobile',
... ...
... ... @@ -35,6 +35,7 @@ $btn-width: 180px;
.relate-success-page {
@mixin passport-page;
width:380px !important;
}
li {
... ... @@ -45,7 +46,7 @@ $btn-width: 180px;
}
&.big-width {
height: 110px;
height: 110px !important;
margin: -10px 0;
}
}
... ...