login.blade.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <link rel="stylesheet" href="{{ admin_asset('@admin/css/pages/authentication.css') }}">
  2. <section class="row flexbox-container">
  3. <div class="col-xl-8 col-11 d-flex justify-content-center">
  4. <div class="card bg-authentication rounded-0 mb-0">
  5. <div class="row m-0">
  6. <div class="col-lg-6 d-lg-block d-none text-center align-self-center px-1 py-0">
  7. <img src="{{ admin_asset('@admin/images/pages/login.png') }}" alt="branding logo">
  8. </div>
  9. <div class="col-lg-6 col-12 p-0">
  10. <div class="card rounded-0 mb-0 px-2">
  11. <div class="card-header pb-1">
  12. <div class="card-title">
  13. <h4 class="mb-0">{{ __('admin.login') }}</h4>
  14. </div>
  15. </div>
  16. <p class="px-2">Welcome back, please login to your account.</p>
  17. <div class="card-content">
  18. <div class="card-body pt-1">
  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="fa fa-times-circle-o"></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. id="password"
  47. type="password"
  48. class="form-control {{ $errors->has('password') ? 'is-invalid' : '' }}"
  49. name="password"
  50. placeholder="{{ trans('admin.password') }}"
  51. required
  52. autocomplete="current-password"
  53. >
  54. <div class="form-control-position">
  55. <i class="feather icon-lock"></i>
  56. </div>
  57. <label for="password">{{ trans('admin.password') }}</label>
  58. <div class="help-block with-errors"></div>
  59. @if($errors->has('password'))
  60. <span class="invalid-feedback text-danger" role="alert">
  61. @foreach($errors->get('password') as $message)
  62. <span class="control-label" for="inputError"><i class="fa fa-times-circle-o"></i> {{$message}}</span><br>
  63. @endforeach
  64. </span>
  65. @endif
  66. </fieldset>
  67. <div class="form-group d-flex justify-content-between align-items-center">
  68. <div class="text-left">
  69. <fieldset class="checkbox">
  70. <div class="vs-checkbox-con vs-checkbox-primary">
  71. <input id="remember" name="remember" value="1" type="checkbox" {{ old('remember') ? 'checked' : '' }}>
  72. <span class="vs-checkbox">
  73. <span class="vs-checkbox--check">
  74. <i class="vs-icon feather icon-check"></i>
  75. </span>
  76. </span>
  77. <span> {{ trans('admin.remember_me') }}</span>
  78. </div>
  79. </fieldset>
  80. </div>
  81. <input type="hidden" name="_token" value="{{ csrf_token() }}">
  82. </div>
  83. <button type="submit" class="btn btn-primary float-right btn-inline">{{ __('admin.login') }}</button>
  84. </form>
  85. </div>
  86. </div>
  87. <div class="login-footer">
  88. <div class="divider"></div>
  89. <div class="footer-btn d-inline"></div>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96. </section>
  97. <script>
  98. Dcat.ready(function () {
  99. // ajax表单提交
  100. $('#login-form').form({
  101. validate: true,
  102. success: function (response) {
  103. if (! response.status) {
  104. Dcat.error(response.message);
  105. return false;
  106. }
  107. location.href = response.redirect;
  108. return false;
  109. }
  110. });
  111. });
  112. </script>