login.blade.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <style>
  2. html body {background: #fff;}
  3. </style>
  4. <link rel="stylesheet" href="{{ admin_asset('@admin/css/pages/authentication.css') }}">
  5. <section class="row flexbox-container">
  6. <div class="col-xl-8 col-11 d-flex justify-content-center" style="top: -35px;">
  7. <div class="card bg-authentication rounded-0 mb-0">
  8. <div class="row m-0 shadow-100">
  9. <div class="col-lg-6 d-lg-block d-none text-center align-self-center px-1 py-0" style="min-width: 240px">
  10. <img src="{{ admin_asset('@admin/images/pages/login.png') }}" alt="branding logo">
  11. </div>
  12. <div class="col-lg-6 col-12 p-0">
  13. <div class="card rounded-0 mb-0 px-2" style="min-width: 400px">
  14. <div class="card-header pb-1 justify-content-center">
  15. <div class="card-title">
  16. <h4 class="m-auto">{{ config('admin.name') }}</h4>
  17. </div>
  18. </div>
  19. <p class="px-2 text-center">{{ __('admin.welcome_back') }}</p>
  20. <div class="card-content">
  21. <div class="card-body pt-1">
  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. <input type="hidden" name="_token" value="{{ csrf_token() }}">
  87. </div>
  88. <button type="submit" class="btn btn-primary float-right btn-inline">{{ __('admin.login') }}</button>
  89. </form>
  90. </div>
  91. </div>
  92. <div class="login-footer">
  93. <div class="divider"></div>
  94. <div class="footer-btn d-inline"></div>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. </section>
  102. <script>
  103. Dcat.ready(function () {
  104. // ajax表单提交
  105. $('#login-form').form({
  106. validate: true,
  107. success: function (data) {
  108. if (! data.status) {
  109. Dcat.error(data.message);
  110. return false;
  111. }
  112. Dcat.success(data.message);
  113. location.href = data.redirect;
  114. return false;
  115. }
  116. });
  117. });
  118. </script>