151 lines
4.9 KiB
Plaintext
151 lines
4.9 KiB
Plaintext
package auth
|
|
|
|
import (
|
|
"context"
|
|
|
|
"management/internal/pkg/mid"
|
|
)
|
|
|
|
templ Login(ctx context.Context) {
|
|
{{ token := mid.GetCsrfToken(ctx) }}
|
|
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
|
<title>登录</title>
|
|
<link rel="icon" type="image/x-icon" href="/assets/favicon.ico">
|
|
<link rel="stylesheet" href="/assets/component/pear/css/pear.css" />
|
|
<link rel="stylesheet" href="/assets/admin/css/other/login.css" />
|
|
<link rel="stylesheet" href="/assets/admin/css/variables.css" />
|
|
</head>
|
|
<body>
|
|
<div class="login-page" style="background-image: url('/assets/admin/images/background.svg')">
|
|
<div class="layui-row">
|
|
<div class="layui-col-sm6 login-bg layui-hide-xs">
|
|
<img class="login-bg-img" src="/assets/admin/images/banner.png" alt="" />
|
|
</div>
|
|
<div class="layui-col-sm6 layui-col-xs12 login-form">
|
|
<div class="layui-form">
|
|
<div class="form-center">
|
|
<div class="form-center-box">
|
|
<div class="top-log-title">
|
|
<img class="top-log" src="/assets/favicon.ico" alt="" />
|
|
<span>Pear Admin 4.0</span>
|
|
</div>
|
|
<div class="top-desc">
|
|
以 超 乎 想 象 的 速 度 构 建 内 部 工 具
|
|
</div>
|
|
<div style="margin-top: 30px;">
|
|
<div class="layui-form-item">
|
|
<div class="layui-input-wrap">
|
|
<div class="layui-input-prefix">
|
|
<i class="layui-icon layui-icon-username"></i>
|
|
</div>
|
|
<input placeholder="邮 箱 " name="email" type="email" value="1185230223@qq.com"
|
|
lay-verify="required" hover class="layui-input" />
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<div class="layui-input-wrap">
|
|
<div class="layui-input-prefix">
|
|
<i class="layui-icon layui-icon-password"></i>
|
|
</div>
|
|
<input placeholder="密 码 " name="password" type="password" value="secret"
|
|
lay-verify="required" hover class="layui-input" />
|
|
</div>
|
|
</div>
|
|
<div class="tab-log-verification">
|
|
<div class="verification-text">
|
|
<div class="layui-input-wrap">
|
|
<div class="layui-input-prefix">
|
|
<i class="layui-icon layui-icon-auz"></i>
|
|
</div>
|
|
<input name="captcha" type="text" lay-verify="required" value=""
|
|
placeholder="验证码" autocomplete="off" class="layui-input">
|
|
<input type="hidden" id="captcha_id" name="captcha_id" />
|
|
</div>
|
|
</div>
|
|
<img id="captcha" src="/captcha" class="verification-img"
|
|
style="cursor: pointer;" />
|
|
</div>
|
|
<div class="login-btn" style="margin-top: 15px;">
|
|
<button type="button" lay-submit lay-filter="login"
|
|
class="layui-btn pear-btn-success login">
|
|
登录</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- 资 源 引 入 -->
|
|
<script src="/assets/component/layui/layui.js"></script>
|
|
<script src="/assets/component/pear/pear.js"></script>
|
|
<script>
|
|
layui.use(['jquery', 'form', 'button', 'popup'], function () {
|
|
var $ = layui.jquery;
|
|
var form = layui.form;
|
|
var button = layui.button;
|
|
var popup = layui.popup;
|
|
|
|
$(function () {
|
|
$('#captcha').click();
|
|
})
|
|
|
|
$('#captcha').click(function () {
|
|
$.ajax({
|
|
url: '/captcha',
|
|
method: 'get',
|
|
success: function (j) {
|
|
if (j.success) {
|
|
$('#captcha').attr('src', j.data.pic_path);
|
|
$('#captcha_id').val(j.data.captcha_id);
|
|
} else {
|
|
console.log(j)
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
// 登 录 提 交
|
|
form.on('submit(login)', function (data) {
|
|
let loading = button.load({
|
|
elem: '.login',
|
|
});
|
|
|
|
data.field.csrf_token = '{{ token }}';
|
|
$.ajax({
|
|
url: '/login',
|
|
type: 'post',
|
|
dataType: 'json',
|
|
data: data.field,
|
|
success: function (obj) {
|
|
if (obj.success) {
|
|
loading.stop(function () {
|
|
popup.success("登录成功", function () {
|
|
location.href = "/home.html"
|
|
});
|
|
});
|
|
} else {
|
|
$('#captcha').click();
|
|
loading.stop(function () {
|
|
popup.failure(obj.msg);
|
|
});
|
|
}
|
|
},
|
|
error: function (ex) {
|
|
loading.stop(function () {
|
|
popup.failure('网络异常,请刷新重试');
|
|
});
|
|
}
|
|
});
|
|
return false;
|
|
});
|
|
})
|
|
</script>
|
|
</body>
|
|
</html>
|
|
} |