2025-06-13 17:23:16 +08:00

150 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="/statics/favicon.ico">
<link rel="stylesheet" href="/statics/component/pear/css/pear.css" />
<link rel="stylesheet" href="/statics/admin/css/other/login.css" />
<link rel="stylesheet" href="/statics/admin/css/variables.css" />
</head>
<body>
<div class="login-page" style="background-image: url('/statics/admin/images/background.svg')">
<div class="layui-row">
<div class="layui-col-sm6 login-bg layui-hide-xs">
<img class="login-bg-img" src="/statics/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="/statics/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="/statics/component/layui/layui.js"></script>
<script src="/statics/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 {
loading.stop(function () {
popup.failure(obj.msg);
});
}
},
error: function (ex) {
loading.stop(function () {
popup.failure('网络异常,请刷新重试');
});
}
});
return false;
});
})
</script>
</body>
</html>
}