login.blade.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <style>
  2. .login-page {background: #f7f7f9;}
  3. .login-box {
  4. margin-top: -5rem;
  5. }
  6. .login-btn {
  7. padding-left: 2rem!important;;
  8. padding-right: 1.5rem!important;
  9. }
  10. *, :after, :before {
  11. overflow-x: hidden;
  12. }
  13. </style>
  14. <div class="login-page">
  15. <div class="login-box">
  16. <div class="login-logo mb-2">
  17. {{ config('admin.name') }}
  18. </div>
  19. <div class="card">
  20. <div class="card-body login-card-body p-2 shadow-100">
  21. <p class="login-box-msg mt-1 mb-1">{{ __('admin.welcome_back') }}</p>
  22. <form id="login-form" method="POST" action="{{ admin_url('auth/login') }}">
  23. @csrf
  24. <fieldset class="form-label-group form-group position-relative has-icon-left">
  25. <input
  26. type="text"
  27. class="form-control {{ $errors->has('username') ? 'is-invalid' : '' }}"
  28. name="username"
  29. placeholder="{{ trans('admin.username') }}"
  30. value="{{ old('username') }}"
  31. required
  32. autofocus
  33. >
  34. <div class="form-control-position">
  35. <i class="feather icon-user"></i>
  36. </div>
  37. <label for="email">{{ trans('admin.username') }}</label>
  38. <div class="help-block with-errors"></div>
  39. @if($errors->has('username'))
  40. <span class="invalid-feedback text-danger" role="alert">
  41. @foreach($errors->get('username') as $message)
  42. <span class="control-label" for="inputError"><i class="feather icon-x-circle"></i> {{$message}}</span><br>
  43. @endforeach
  44. </span>
  45. @endif
  46. </fieldset>
  47. <fieldset class="form-label-group form-group position-relative has-icon-left">
  48. <input
  49. minlength="5"
  50. maxlength="20"
  51. id="password"
  52. type="password"
  53. class="form-control {{ $errors->has('password') ? 'is-invalid' : '' }}"
  54. name="password"
  55. placeholder="{{ trans('admin.password') }}"
  56. required
  57. autocomplete="current-password"
  58. >
  59. <div class="form-control-position">
  60. <i class="feather icon-lock"></i>
  61. </div>
  62. <label for="password">{{ trans('admin.password') }}</label>
  63. <div class="help-block with-errors"></div>
  64. @if($errors->has('password'))
  65. <span class="invalid-feedback text-danger" role="alert">
  66. @foreach($errors->get('password') as $message)
  67. <span class="control-label" for="inputError"><i class="feather icon-x-circle"></i> {{$message}}</span><br>
  68. @endforeach
  69. </span>
  70. @endif
  71. </fieldset>
  72. <div class="form-group d-flex justify-content-between align-items-center">
  73. <div class="text-left">
  74. <fieldset class="checkbox">
  75. <div class="vs-checkbox-con vs-checkbox-primary">
  76. <input id="remember" name="remember" value="1" type="checkbox" {{ old('remember') ? 'checked' : '' }}>
  77. <span class="vs-checkbox">
  78. <span class="vs-checkbox--check">
  79. <i class="vs-icon feather icon-check"></i>
  80. </span>
  81. </span>
  82. <span> {{ trans('admin.remember_me') }}</span>
  83. </div>
  84. </fieldset>
  85. </div>
  86. </div>
  87. <button type="submit" class="btn btn-primary float-right login-btn">
  88. {{ __('admin.login') }}
  89. &nbsp;
  90. <i class="feather icon-arrow-right"></i>
  91. </button>
  92. </form>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <script>
  98. Dcat.ready(function () {
  99. // ajax表单提交
  100. $('#login-form').form({
  101. validate: true,
  102. success: function (data) {
  103. if (! data.status) {
  104. Dcat.error(data.message);
  105. return false;
  106. }
  107. Dcat.success(data.message);
  108. location.href = data.redirect;
  109. return false;
  110. }
  111. });
  112. });
  113. </script>