login.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /**
  2. * 登录相关js
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/1
  6. * @version
  7. */
  8. let rules = {
  9. username: {
  10. required: true,
  11. minlength: 2
  12. },
  13. password:{
  14. required: true,
  15. minlength: 4
  16. }
  17. };
  18. $(document).ready(function() {
  19. $("#login-form").validate({
  20. rules: rules,
  21. errorPlacement: function(error, element) {
  22. error.addClass('help-block');
  23. let parentEle = $(element).parent();
  24. parentEle.parent().addClass('has-error');
  25. $(element).parent().after(error);
  26. },
  27. errorElement: "span",
  28. success: function(element) {
  29. $("#common-error").remove();
  30. $(element).parent().removeClass('has-error');
  31. }
  32. });
  33. // 登录操作
  34. let isLogin = false;
  35. $("#login").click(function() {
  36. if (isLogin) {
  37. return false;
  38. }
  39. // 验证数据
  40. if (!$("#login-form").valid()) {
  41. return false;
  42. }
  43. let username = $("#username").val();
  44. let password = $("#password").val();
  45. $.ajax({
  46. url: '/login/login',
  47. type: 'post',
  48. data: {username: username, password: password},
  49. dataType: 'json',
  50. error: function() {
  51. isLogin = false;
  52. },
  53. beforeSend: function() {
  54. isLogin = true;
  55. },
  56. success: function(response) {
  57. console.log('test');
  58. isLogin = false;
  59. if (response.error === 0) {
  60. // 正确则跳转
  61. window.location.href = '/dashboard';
  62. } else {
  63. // 错误则提示
  64. show_error(response.msg);
  65. }
  66. }
  67. });
  68. });
  69. });
  70. /**
  71. * 显示错误
  72. *
  73. * @param {string} msg
  74. * @return {void}
  75. */
  76. function show_error(msg) {
  77. $("form > .form-group").addClass('has-error');
  78. $("input").last().parent().after('<span id="common-error" class="error help-block">'+ msg +'</span>');
  79. }