Initial commit

This commit is contained in:
2025-11-05 23:30:19 +08:00
commit 1910732965
107 changed files with 10748 additions and 0 deletions
@@ -0,0 +1,166 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>邮箱验证</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #333;
background-color: #f4f4f4;
margin: 0;
padding: 0;
}
.container {
max-width: 600px;
margin: 40px auto;
background: #ffffff;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #ffffff;
padding: 30px;
text-align: center;
}
.header h1 {
margin: 0;
font-size: 28px;
font-weight: 600;
}
.content {
padding: 40px 30px;
}
.greeting {
font-size: 18px;
font-weight: 500;
margin-bottom: 20px;
color: #2d3748;
}
.message {
font-size: 15px;
color: #4a5568;
margin-bottom: 30px;
line-height: 1.8;
}
.button-container {
text-align: center;
margin: 35px 0;
}
.verify-button {
display: inline-block;
padding: 14px 40px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #ffffff;
text-decoration: none;
border-radius: 8px;
font-weight: 600;
font-size: 16px;
transition: transform 0.2s, box-shadow 0.2s;
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.verify-button:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(102, 126, 234, 0.5);
}
.alternative {
background: #f7fafc;
border-left: 4px solid #667eea;
padding: 20px;
margin: 25px 0;
border-radius: 4px;
}
.alternative p {
margin: 0 0 10px 0;
font-size: 14px;
color: #4a5568;
}
.link {
word-break: break-all;
color: #667eea;
text-decoration: none;
font-size: 13px;
}
.warning {
background: #fff5f5;
border-left: 4px solid #f56565;
padding: 15px;
margin: 25px 0;
border-radius: 4px;
}
.warning p {
margin: 0;
font-size: 14px;
color: #742a2a;
}
.footer {
background: #f7fafc;
padding: 25px 30px;
text-align: center;
border-top: 1px solid #e2e8f0;
}
.footer p {
margin: 5px 0;
font-size: 13px;
color: #718096;
}
.expiry {
text-align: center;
color: #718096;
font-size: 14px;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>✉️ 验证您的邮箱</h1>
</div>
<div class="content">
<div class="greeting">
您好,<span th:text="${username}">用户</span>
</div>
<div class="message">
<p>感谢您注册我们的认证系统!</p>
<p>为了确保账户安全并激活您的账号,请点击下方按钮验证您的邮箱地址:</p>
</div>
<div class="button-container">
<a th:href="${verificationUrl}" class="verify-button">
验证邮箱
</a>
</div>
<div class="expiry">
⏰ 此链接将在 <strong th:text="${validHours}">24</strong> 小时后过期
</div>
<div class="alternative">
<p><strong>如果按钮无法点击,请复制以下链接到浏览器:</strong></p>
<a th:href="${verificationUrl}" th:text="${verificationUrl}" class="link">
验证链接
</a>
</div>
<div class="warning">
<p>
<strong>⚠️ 安全提示:</strong>
如果您没有注册我们的服务,请忽略此邮件。您的账户安全不会受到影响。
</p>
</div>
</div>
<div class="footer">
<p>此邮件由系统自动发送,请勿直接回复</p>
<p>© 2025 认证系统. 保留所有权利</p>
</div>
</div>
</body>
</html>
@@ -0,0 +1,112 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>密码重置请求</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 600px;
margin: 0 auto;
padding: 20px;
background-color: #f5f5f5;
}
.container {
background-color: #ffffff;
border-radius: 8px;
padding: 40px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.logo {
text-align: center;
margin-bottom: 30px;
}
h1 {
color: #2563eb;
font-size: 24px;
margin-bottom: 20px;
text-align: center;
}
.content {
margin-bottom: 30px;
}
.button {
display: inline-block;
padding: 12px 30px;
background-color: #2563eb;
color: #ffffff;
text-decoration: none;
border-radius: 5px;
font-weight: bold;
text-align: center;
}
.button-container {
text-align: center;
margin: 30px 0;
}
.warning {
background-color: #fef3c7;
border-left: 4px solid #f59e0b;
padding: 15px;
margin: 20px 0;
border-radius: 4px;
}
.footer {
text-align: center;
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid #e5e7eb;
font-size: 12px;
color: #6b7280;
}
.link {
word-break: break-all;
color: #2563eb;
text-decoration: none;
}
</style>
</head>
<body>
<div class="container">
<div class="logo">
<h1>🔐 Auth System</h1>
</div>
<h1>密码重置请求</h1>
<div class="content">
<p>您好,<strong th:text="${username}">用户</strong></p>
<p>我们收到了您的密码重置请求。如果这不是您的操作,请忽略此邮件。</p>
<p>要重置您的密码,请点击下面的按钮:</p>
</div>
<div class="button-container">
<a th:href="${resetUrl}" class="button">重置密码</a>
</div>
<div class="content">
<p>或者复制以下链接到浏览器:</p>
<p><a th:href="${resetUrl}" th:text="${resetUrl}" class="link">重置链接</a></p>
</div>
<div class="warning">
<p><strong>⏰ 重要提示:</strong></p>
<ul>
<li>此链接将在 <span th:text="${validMinutes}">60</span> 分钟后失效</li>
<li>为了您的账号安全,请不要将此链接分享给他人</li>
<li>如果您没有请求重置密码,请忽略此邮件</li>
</ul>
</div>
<div class="footer">
<p>此邮件由系统自动发送,请勿直接回复。</p>
<p>© 2025 Auth System. All rights reserved.</p>
</div>
</div>
</body>
</html>