login.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. /**
  2. * 登录相关js
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/8
  6. * @version
  7. */
  8. $(document).ready(function () {
  9. let referer = scUrlUtil.GetQueryString('referer');
  10. $("#login").click(function () {
  11. if (!valid()) {
  12. return false;
  13. }
  14. let account = $("#inputEmail").val();
  15. let pw = $("#inputPassword").val();
  16. $.ajax({
  17. url: '/login',
  18. type: 'post',
  19. data: {"account": account, "pw": pw},
  20. success: function (response) {
  21. if (response.error === 0) {
  22. if (response.login_ask === 0) {
  23. location.href = '/pm';
  24. } else {
  25. response.version_list = response.version_list === undefined || response.version_list === '' ?
  26. null : JSON.parse(response.version_list);
  27. if (response.version_list === null || response.version_list.length <= 0) {
  28. location.href = '/pm';
  29. return false;
  30. }
  31. setVersion(response.version_list);
  32. $('#ver').modal('show');
  33. }
  34. } else {
  35. let msg = response.msg !== undefined ? response.msg : '未知错误';
  36. showError(msg, $("input"));
  37. }
  38. },
  39. error: function (result) {
  40. showError('内部程序错误', null);
  41. }
  42. });
  43. });
  44. $("input").blur(function () {
  45. cleanError();
  46. });
  47. $(".form-control").on('input', function () {
  48. $('#hint').html('&nbsp;');
  49. });
  50. });
  51. /**
  52. * 验证数据
  53. *
  54. * @return {boolean}
  55. */
  56. function valid() {
  57. let result = true;
  58. let account = $("#inputEmail").val();
  59. if (account === undefined || account === '') {
  60. showError('用户名不能为空!', $("#inputEmail"));
  61. return false;
  62. }
  63. let password = $("#inputPassword").val();
  64. if (password === undefined || password === '') {
  65. showError('密码不能为空!', $("#inputPassword"));
  66. return false;
  67. }
  68. return result;
  69. }
  70. /**
  71. * 提示错误
  72. *
  73. * @param {string} msg
  74. * @param {object} element
  75. * @return {void}
  76. */
  77. function showError(msg, element) {
  78. if (element !== null) {
  79. element.parent().addClass('has-danger');
  80. }
  81. $("#message").text(msg);
  82. $("#error-tips").show("fast");
  83. }
  84. /**
  85. * 清除错误提示
  86. *
  87. * @return {void}
  88. */
  89. function cleanError() {
  90. $("input").parent().removeClass('has-danger');
  91. $("#message").text('');
  92. $("#error-tips").hide("fast");
  93. }
  94. /**
  95. * 设置版本信息
  96. *
  97. * @param {Object} versionData
  98. * @return {void}
  99. */
  100. function setVersion(versionData) {
  101. let html = '';
  102. for (let version of versionData) {
  103. let tmpHtml = '<div class="col-sm-6">' +
  104. '<div class="card card-block">' +
  105. '<h3 class="card-title">'+ version.name +'</h3>' +
  106. '<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>' +
  107. '<a class="btn btn-primary" href="/boot/'+ version._id.toString() +'">开始使用</a>' +
  108. '</div>' +
  109. '</div>';
  110. html += tmpHtml;
  111. }
  112. $("#version-area").html(html);
  113. }