login.blade.php 5.3 KB

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