sms-password.page.js
2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
'use strict';
var tip, checkPoint, validatePWD;
var $eyeBtn,
$pwd,
$nextBtn,
$pwdLint,
$pwdLintTxt;
var page;
require('js/common');
tip = require('plugin/tip');
checkPoint = require('./smslogin/check-point');
validatePWD = require('./password-check');
setTimeout(function() {
checkPoint('YB_SET_PASSWORD_L');
}, 3000);
page = {
smsCode: window.queryString.smsCode,
init: function() {
this.domInit();
this.bindEvent();
},
domInit: function() {
$eyeBtn = $('#eye');
$pwd = $('#pwd');
$nextBtn = $('#btn-next');
$pwdLint = $('.js-password').find('.pwd-lint');
$pwdLintTxt = $pwdLint.find('.pwd-lint-txt');
},
bindEvent: function() {
var self = this;
$eyeBtn.on('click', function() {
self.togglePassword();
});
$nextBtn.on('click', function() {
if (!self.smsCode) {
return tip.show('非法请求');
}
self.setPasswordAndLogin();
});
$pwd.on('input', function() {
var val = $.trim(this.value);
var bool = validatePWD(val, function(res) {
$pwdLint.css({visibility: res.valid ? 'hidden' : 'visible'});
if (!res.valid) {
$pwdLintTxt.text(res.msg);
}
});
$nextBtn
.toggleClass('disable', !bool)
.prop('disabled', !bool);
});
},
togglePassword: function() {
var bool = $eyeBtn.hasClass('close');
$eyeBtn.toggleClass(function() {
$pwd.attr('type', !bool ? 'password' : 'text');
return 'close';
}, !bool);
},
setPasswordAndLogin: function() {
var password = $.trim($pwd.val());
var self = this;
if ($nextBtn.prop('disabled')) {
return;
}
$nextBtn.prop('disabled', true);
$.post('/passport/sms_login/password.json', {
password: password,
smsCode: self.smsCode
})
.done(function(res) {
if (res.code === 200) {
checkPoint('YB_SET_PASSWORD_ENSURE_C'); // 埋点
$nextBtn.off();
location.href = res.redirect;
return;
}
tip.show(res.message);
})
.fail(function() {
tip.show('出错了, 请重试');
})
.always(function() {
$nextBtn.prop('disabled', false);
});
}
};
$(function() {
page.init();
});