| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- /**
- * 登录相关js
- *
- * @author CaiAoLin
- * @date 2017/6/8
- * @version
- */
- $(document).ready(function () {
- $("input").blur(function () {
- cleanError();
- cleanValidError($(this));
- });
- $("#get-code").click(function() {
- const mobile = $("#proMobile").val();
- const btn = $(this);
- if(!btn.hasClass('disabled')){
- $.ajax({
- url: '/sms/code',
- type: 'post',
- data: { mobile: mobile, type: 3},
- error: function() {
- showValidError('短信接口出错!',$('#smsCode'));
- },
- beforeSend: function() {
- },
- success: function(response) {
- if (response.err === 0) {
- codeSuccess(btn);
- } else {
- showValidError(response.msg,$('#smsCode'));
- }
- }
- });
- }
- });
- });
- function login() {
- let ssoID = $("#ssoID").val();
- let token = $("#token").val();
- let code = $("#smsCode").val();
- $.ajax({
- url: '/login',
- type: 'post',
- data: {
- "ssoID": ssoID,
- "token": token,
- "code": code,
- },
- success: function (response) {
- if (response.error === 0) {
- $('#phonepass').modal('hide');
- const url = response.last_page !== null && response.last_page !== undefined && response.last_page !== '' ?
- response.last_page : '/pm';
- if (response.login_ask === 0) {
- location.href = url;
- } else {
- response.compilation_list = response.compilation_list === undefined || response.compilation_list === '' ?
- null : JSON.parse(response.compilation_list);
- if (response.compilation_list === null || response.compilation_list.length <= 0) {
- location.href = url;
- return false;
- }
- console.log(response.compilation_list);
- setVersion(response.compilation_list);
- $('#ver').modal('show');
- }
- } else if(response.error === 2) {
- $('#phonepass').modal('hide');
- captchaObj.reset();
- $('#check_ssoId').val(response.ssoId);
- $('#phone').modal('show');
- } else if(response.error === 3) {
- showValidError(response.msg,$('#smsCode'));
- } else {
- $('#phonepass').modal('hide');
- let msg = response.msg !== undefined ? response.msg : '未知错误';
- showError(msg, $("input"));
- captchaObj.reset();
- }
- },
- error: function (result) {
- showError('内部程序错误', null);
- }
- });
- }
- /**
- * 获取成功后的操作
- *
- * @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);
- }
- /**
- * 提示验证信息错误
- *
- * @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('');
- }
- /**
- * 提示错误
- *
- * @param {string} msg
- * @param {object} element
- * @return {void}
- */
- function showError(msg, element) {
- if (element !== null) {
- element.parent().addClass('has-danger');
- }
- $("#message").html(msg);
- $("#error-tips").show("fast");
- }
- /**
- * 清除错误提示
- *
- * @return {void}
- */
- function cleanError() {
- $("input").parent().removeClass('has-danger');
- $("#message").text('');
- $("#error-tips").hide("fast");
- }
- /**
- * 设置版本信息
- *
- * @param {Object} versionData
- * @return {void}
- */
- function setVersion(versionData) {
- let html = '';
- for (let version of versionData) {
- let description = version.description ? version.description : '介绍内容';
- let tmpHtml = '<div class="col-sm-6">' +
- '<div class="card card-block">' +
- '<div class="card-body">' +
- '<h3 class="card-title">'+ version.name +'</h3>' +
- '<p class="card-text">' + description + '</p>' +
- '<a class="btn btn-primary" href="/boot/'+ version._id.toString() +'">开始使用</a>' +
- '</div>' +
- '</div>' +
- '</div>';
- html += tmpHtml;
- }
- $("#version-area").html(html);
- }
|