login.blade.php 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. @extends('auth.layouts')
  2. @section('title', trans('auth.login'))
  3. @section('content')
  4. <form action="/login" method="post" id="login-form">
  5. @if($errors->any())
  6. <div class="alert alert-danger">
  7. <span> {!! $errors->first() !!} </span>
  8. </div>
  9. @endif
  10. @if (Session::get('regSuccessMsg'))
  11. <div class="alert alert-success">
  12. <button class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span>
  13. <span class="sr-only">{{trans('auth.close')}}</span>
  14. </button>
  15. <span>{{Session::get('regSuccessMsg')}}</span>
  16. </div>
  17. @endif
  18. <div class="form-group form-material floating" data-plugin="formMaterial">
  19. <input type="email" class="form-control" name="email" value="{{Request::old('email')}}" required/>
  20. <label class="floating-label" for="email">{{trans('auth.email')}}</label>
  21. </div>
  22. <div class="form-group form-material floating" data-plugin="formMaterial">
  23. <input type="password" class="form-control" name="password" value="{{Request::old('password')}}" autocomplete required/>
  24. <label class="floating-label" for="password">{{trans('auth.password')}}</label>
  25. {{csrf_field()}}
  26. </div>
  27. @switch(\App\Components\Helpers::systemConfig()['is_captcha'])
  28. @case(1)<!-- Default Captcha -->
  29. <div class="form-group form-material floating input-group" data-plugin="formMaterial">
  30. <input type="text" class="form-control" name="captcha"/>
  31. <label class="floating-label" for="captcha">{{trans('auth.captcha')}}</label>
  32. <img src="{{captcha_src()}}" class="float-right" onclick="this.src='/captcha/default?'+Math.random()"
  33. alt="{{trans('auth.captcha')}}"/>
  34. </div>
  35. @break
  36. @case(2)<!-- Geetest -->
  37. <div class="form-group form-material floating" data-plugin="formMaterial">
  38. {!! Geetest::render() !!}
  39. </div>
  40. @break
  41. @case(3)<!-- Google noCAPTCHA -->
  42. <div class="form-group form-material floating" data-plugin="formMaterial">
  43. {!! NoCaptcha::display() !!}
  44. {!! NoCaptcha::renderJs(session::get('locale')) !!}
  45. </div>
  46. @break
  47. @default
  48. @endswitch
  49. <div class="form-group clearfix">
  50. <div class="checkbox-custom checkbox-inline checkbox-primary checkbox-lg float-left">
  51. <input type="checkbox" id="inputCheckbox" name="remember">
  52. <label for="inputCheckbox" for="remember">{{trans('auth.remember')}}</label>
  53. </div>
  54. <a href="/resetPassword" class="btn btn-xs bg-red-500 text-white float-right">{{trans('auth.forget_password')}}</a>
  55. </div>
  56. <button type="submit" class="btn btn-lg btn-block mt-40 bg-indigo-500 text-white">{{trans('auth.login')}}</button>
  57. </form>
  58. @if(\App\Components\Helpers::systemConfig()['is_register'])
  59. <p>{{trans('auth.register_tip')}} <a href="/register" class="btn btn-xs bg-purple-500 text-white">{{trans('auth.register')}} <i class="icon wb-arrow-right" aria-hidden="true"></i></a></p>
  60. @endif
  61. @endsection
  62. @section('script')
  63. <script type="text/javascript">
  64. $('#login-form').submit(function (event) {
  65. // 先检查Google reCAPTCHA有没有进行验证
  66. if ($('#g-recaptcha-response').val() === '') {
  67. Msg(false, "{{trans('login.required_captcha')}}", 'error');
  68. return false;
  69. }
  70. });
  71. // 生成提示
  72. function Msg(clear, msg, type) {
  73. if (!clear) $('.login-form .alert').remove();
  74. var typeClass = 'alert-danger',
  75. clear = clear ? clear : false,
  76. $elem = $('.login-form');
  77. type === 'error' ? typeClass = 'alert-danger' : typeClass = 'alert-success';
  78. const tpl = '<div class="alert ' + typeClass + '">' +
  79. '<button type="button" class="close" onclick="$(this).parent().remove();"></button>' +
  80. '<span> ' + msg + ' </span></div>';
  81. if (!clear) {
  82. $elem.prepend(tpl);
  83. } else {
  84. $('.login-form .alert').remove();
  85. }
  86. }
  87. </script>
  88. @endsection