|
@@ -35,6 +35,9 @@ $(document).ready(function () {
|
|
|
setVersion(response.compilation_list);
|
|
|
$('#ver').modal('show');
|
|
|
}
|
|
|
+ } else if(response.error === 2) {
|
|
|
+ $('#check_ssoId').val(response.ssoId);
|
|
|
+ $('#phone').modal('show');
|
|
|
} else {
|
|
|
let msg = response.msg !== undefined ? response.msg : '未知错误';
|
|
|
showError(msg, $("input"));
|
|
@@ -48,15 +51,146 @@ $(document).ready(function () {
|
|
|
|
|
|
$("input").blur(function () {
|
|
|
cleanError();
|
|
|
+ cleanValidError($(this));
|
|
|
});
|
|
|
|
|
|
$(".form-control").on('input', function () {
|
|
|
$('#hint').html(' ');
|
|
|
});
|
|
|
|
|
|
+ $("#get-code").click(function() {
|
|
|
+ const mobile = $("#mobile").val();
|
|
|
+ if(!validMobile(mobile)){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ const btn = $(this);
|
|
|
+ if(!btn.hasClass('disabled')){
|
|
|
+ $.ajax({
|
|
|
+ url: '/sms/code',
|
|
|
+ type: 'post',
|
|
|
+ data: { mobile: mobile, type: 1},
|
|
|
+ error: function() {
|
|
|
+ showValidError('短信接口出错!',$('#mobile'));
|
|
|
+ },
|
|
|
+ beforeSend: function() {
|
|
|
+ },
|
|
|
+ success: function(response) {
|
|
|
+ if (response.err === 0) {
|
|
|
+ codeSuccess(btn);
|
|
|
+ } else {
|
|
|
+ showValidError(response.msg,$('#mobile'));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ $('#check-code').click(function () {
|
|
|
+ const mobile = $("#mobile").val();
|
|
|
+ const ssoId = $("#check_ssoId").val();
|
|
|
+ const code = $("#code").val();
|
|
|
+ if(!validMobile(mobile)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if(ssoId === undefined || ssoId === '') {
|
|
|
+ showValidError('账号有误!', $('#code'));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if($.trim(code) === '') {
|
|
|
+ showValidError('验证码不能为空!', $('#code'));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $.ajax({
|
|
|
+ url: '/sms/mobile',
|
|
|
+ type: 'post',
|
|
|
+ data: {ssoId: ssoId, mobile: mobile, code: code},
|
|
|
+ error: function() {
|
|
|
+ showValidError('接口出错!',$('#code'));
|
|
|
+ },
|
|
|
+ beforeSend: function() {
|
|
|
+ },
|
|
|
+ success: function(response) {
|
|
|
+ if (response.err === 0) {
|
|
|
+ $("#login").click();
|
|
|
+ $('#phone').modal('hide');
|
|
|
+ } else {
|
|
|
+ showValidError(response.msg,$('#code'));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
+ * 获取成功后的操作
|
|
|
+ *
|
|
|
+ * @param {Object} btn - 点击的按钮
|
|
|
+ * @return {void}
|
|
|
+ */
|
|
|
+function codeSuccess(btn) {
|
|
|
+ let counter = 60;
|
|
|
+ btn.removeClass('btn-primary').addClass('btn-outline-secondary disabled').text(counter + '秒 重新获取');
|
|
|
+ btn.parents().siblings('div').children('input').removeAttr('readonly');
|
|
|
+
|
|
|
+ const countDown = setInterval(function() {
|
|
|
+ const countString = counter - 1 <= 0 ? '' : ' ' + (counter - 1) + '秒 ';
|
|
|
+ // 倒数结束后
|
|
|
+ if (countString === '') {
|
|
|
+ clearInterval(countDown);
|
|
|
+ btn.removeClass('btn-outline-secondary disabled').addClass('btn-primary').text('获取验证码');
|
|
|
+ }
|
|
|
+ const text = countString + '重新获取';
|
|
|
+ btn.text(text);
|
|
|
+ counter -= 1;
|
|
|
+ }, 1000);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 验证手机号是否正确
|
|
|
+ *
|
|
|
+ * @return {boolean}
|
|
|
+ */
|
|
|
+function validMobile(mobile) {
|
|
|
+ let result = true;
|
|
|
+ if($.trim(mobile) === ''){
|
|
|
+ showValidError('手机号不能为空!',$('#mobile'));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let mobileValid = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1})|(14[0-9]{1}))+\d{8})$/;
|
|
|
+ if(!mobileValid.test(mobile)){
|
|
|
+ showValidError('手机号码格式有误!',$('#mobile'));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 提示验证信息错误
|
|
|
+ *
|
|
|
+ * @param {string} msg
|
|
|
+ * @param {object} element
|
|
|
+ * @return {void}
|
|
|
+ */
|
|
|
+function showValidError(msg, element) {
|
|
|
+ if (element !== null) {
|
|
|
+ element.addClass('is-invalid');
|
|
|
+ element.siblings().text(msg);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 清除验证信息错误提示
|
|
|
+ *
|
|
|
+ * @return {void}
|
|
|
+ */
|
|
|
+function cleanValidError(element) {
|
|
|
+ element.removeClass('is-invalid');
|
|
|
+ element.siblings().text('');
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
* 验证数据
|
|
|
*
|
|
|
* @return {boolean}
|