|
@@ -12,6 +12,7 @@
|
|
|
.login-btn {
|
|
|
padding-left: 2rem!important;;
|
|
|
padding-right: 1.5rem!important;
|
|
|
+ width: 100%;
|
|
|
}
|
|
|
.content {
|
|
|
overflow-x: hidden;
|
|
@@ -19,6 +20,18 @@
|
|
|
.form-group .control-label {
|
|
|
text-align: left;
|
|
|
}
|
|
|
+ .justify-content-between {
|
|
|
+ margin-top: 1rem;
|
|
|
+ }
|
|
|
+ #captcha {
|
|
|
+ width: 185px;
|
|
|
+ float: left;
|
|
|
+ }
|
|
|
+ .captcha-img {
|
|
|
+ float: right;
|
|
|
+ width: 110px;
|
|
|
+ height: 34px;
|
|
|
+ }
|
|
|
</style>
|
|
|
|
|
|
<div class="login-page bg-40">
|
|
@@ -28,7 +41,7 @@
|
|
|
</div>
|
|
|
<div class="card">
|
|
|
<div class="card-body login-card-body shadow-100">
|
|
|
-{{-- <p class="login-box-msg mt-1 mb-1">{{ __('admin.welcome_back') }}</p>--}}
|
|
|
+ {{-- <p class="login-box-msg mt-1 mb-1">{{ __('admin.welcome_back') }}</p>--}}
|
|
|
|
|
|
<form id="login-form" method="POST" action="{{ admin_url('auth/login') }}">
|
|
|
|
|
@@ -36,13 +49,13 @@
|
|
|
|
|
|
<fieldset class="form-label-group form-group position-relative has-icon-left">
|
|
|
<input
|
|
|
- type="text"
|
|
|
- class="form-control {{ $errors->has('username') ? 'is-invalid' : '' }}"
|
|
|
- name="username"
|
|
|
- placeholder="{{ trans('admin.username') }}"
|
|
|
- value="{{ old('username') }}"
|
|
|
- required
|
|
|
- autofocus
|
|
|
+ type="text"
|
|
|
+ class="form-control {{ $errors->has('username') ? 'is-invalid' : '' }}"
|
|
|
+ name="username"
|
|
|
+ placeholder="{{ trans('admin.username') }}"
|
|
|
+ value="{{ old('username') }}"
|
|
|
+ required
|
|
|
+ autofocus
|
|
|
>
|
|
|
|
|
|
<div class="form-control-position">
|
|
@@ -63,15 +76,15 @@
|
|
|
|
|
|
<fieldset class="form-label-group form-group position-relative has-icon-left">
|
|
|
<input
|
|
|
- minlength="5"
|
|
|
- maxlength="20"
|
|
|
- id="password"
|
|
|
- type="password"
|
|
|
- class="form-control {{ $errors->has('password') ? 'is-invalid' : '' }}"
|
|
|
- name="password"
|
|
|
- placeholder="{{ trans('admin.password') }}"
|
|
|
- required
|
|
|
- autocomplete="current-password"
|
|
|
+ minlength="5"
|
|
|
+ maxlength="20"
|
|
|
+ id="password"
|
|
|
+ type="password"
|
|
|
+ class="form-control {{ $errors->has('password') ? 'is-invalid' : '' }}"
|
|
|
+ name="password"
|
|
|
+ placeholder="{{ trans('admin.password') }}"
|
|
|
+ required
|
|
|
+ autocomplete="current-password"
|
|
|
>
|
|
|
|
|
|
<div class="form-control-position">
|
|
@@ -89,7 +102,6 @@
|
|
|
@endif
|
|
|
|
|
|
</fieldset>
|
|
|
-
|
|
|
<fieldset class="form-label-group form-group position-relative has-icon-left">
|
|
|
<input
|
|
|
minlength="6"
|
|
@@ -101,6 +113,7 @@
|
|
|
placeholder="{{ trans('admin.captcha') }}"
|
|
|
required
|
|
|
>
|
|
|
+ <img src="/prime-control/captcha?{{ time() }}" alt="captcha" class="captcha-img" onclick="this.src='/prime-control/captcha?'+Math.random()">
|
|
|
|
|
|
<div class="form-control-position">
|
|
|
<i class="feather icon-image"></i>
|
|
@@ -115,38 +128,39 @@
|
|
|
@endforeach
|
|
|
</span>
|
|
|
@endif
|
|
|
- <img src="/dist/captcha?{{ time() }}" alt="captcha" class="captcha-img" onclick="this.src='/dist/captcha?'+Math.random()">
|
|
|
+
|
|
|
</fieldset>
|
|
|
|
|
|
- <div class="form-group d-flex justify-content-between align-items-center">
|
|
|
+ <button type="submit" class="btn btn-primary float-letf login-btn">
|
|
|
+ {{ __('admin.login') }}
|
|
|
+ <i class="feather icon-arrow-right"></i>
|
|
|
+ </button>
|
|
|
+
|
|
|
+ <div class="form-group d-flex justify-content-between align-items-center">
|
|
|
<div class="text-left">
|
|
|
@if(config('admin.auth.remember'))
|
|
|
- <fieldset class="checkbox">
|
|
|
- <div class="vs-checkbox-con vs-checkbox-primary">
|
|
|
- <input id="remember" name="remember" value="1" type="checkbox" {{ old('remember') ? 'checked' : '' }}>
|
|
|
- <span class="vs-checkbox">
|
|
|
+ <fieldset class="checkbox">
|
|
|
+ <div class="vs-checkbox-con vs-checkbox-primary">
|
|
|
+ <input id="remember" name="remember" value="1" type="checkbox" {{ old('remember') ? 'checked' : '' }}>
|
|
|
+ <span class="vs-checkbox">
|
|
|
<span class="vs-checkbox--check">
|
|
|
<i class="vs-icon feather icon-check"></i>
|
|
|
</span>
|
|
|
</span>
|
|
|
- <span> {{ trans('admin.remember_me') }}</span>
|
|
|
- </div>
|
|
|
- </fieldset>
|
|
|
+ <span> {{ trans('admin.remember_me') }}</span>
|
|
|
+ </div>
|
|
|
+ </fieldset>
|
|
|
@endif
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
<div class="form-group d-flex justify-content-between align-items-center">
|
|
|
<div class="text-left">
|
|
|
<a class="lang-item" href="javascript:void(0);" data-lang="en">English</a>
|
|
|
/ <a class="lang-item" href="javascript:void(0);" data-lang="zh_CN">中文</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <button type="submit" class="btn btn-primary float-right login-btn">
|
|
|
|
|
|
- {{ __('admin.login') }}
|
|
|
-
|
|
|
- <i class="feather icon-arrow-right"></i>
|
|
|
- </button>
|
|
|
</form>
|
|
|
|
|
|
</div>
|
|
@@ -155,14 +169,13 @@
|
|
|
</div>
|
|
|
|
|
|
<script>
|
|
|
-Dcat.ready(function () {
|
|
|
- // ajax表单提交
|
|
|
- $('#login-form').form({
|
|
|
- validate: true,
|
|
|
+ Dcat.ready(function () {
|
|
|
+ // ajax表单提交
|
|
|
+ $('#login-form').form({
|
|
|
+ validate: true,
|
|
|
+ });
|
|
|
});
|
|
|
-});
|
|
|
</script>
|
|
|
-
|
|
|
<script>
|
|
|
document.querySelectorAll('.lang-item').forEach(item => {
|
|
|
item.addEventListener('click', function() {
|
|
@@ -172,7 +185,7 @@ Dcat.ready(function () {
|
|
|
});
|
|
|
|
|
|
function switchLanguage(lang) {
|
|
|
- fetch(`/dist/language-switch?lang=${encodeURIComponent(lang)}`, {
|
|
|
+ fetch(`/prime-control/language-switch?lang=${encodeURIComponent(lang)}`, {
|
|
|
method: 'GET'
|
|
|
})
|
|
|
.then(response => {
|