feat: add Go backend
This commit is contained in:
@@ -0,0 +1,217 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>验证码邮件</title>
|
||||
<style>
|
||||
html,
|
||||
body {
|
||||
margin: 0 auto !important;
|
||||
padding: 0 !important;
|
||||
width: 100% !important;
|
||||
font-family: sans-serif;
|
||||
line-height: 1.4;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
* {
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
table,
|
||||
td {
|
||||
mso-table-lspace: 0 !important;
|
||||
mso-table-rspace: 0 !important;
|
||||
}
|
||||
img {
|
||||
display: block;
|
||||
border: none;
|
||||
max-width: 100%;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body
|
||||
leftmargin="0"
|
||||
marginwidth="0"
|
||||
topmargin="0"
|
||||
marginheight="0"
|
||||
offset="0"
|
||||
width="100%"
|
||||
style="margin: 0; padding: 0 !important; mso-line-height-rule: exactly"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
align="center"
|
||||
valign="top"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
height="100%"
|
||||
width="100%"
|
||||
style="border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
text-align: center;"
|
||||
>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<table
|
||||
role="presentation"
|
||||
align="center"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
width="600"
|
||||
bgcolor="#ffffff"
|
||||
style="max-width: 600px;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
background: #ffffff;"
|
||||
>
|
||||
<tr>
|
||||
<td height=40" style="height:40px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<table
|
||||
role="presentation"
|
||||
align="center"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
width="440"
|
||||
style="max-width: 440px;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
text-align: center;"
|
||||
>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<img
|
||||
src="@{.logo}"
|
||||
width="170"
|
||||
style="border: none; display: block; max-width: 170px; width: 100%"
|
||||
alt="logo">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="40" style="height:40px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<h1
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 24px;
|
||||
color: #010E28;
|
||||
font-weight: bold;
|
||||
margin: 0 0 5px;
|
||||
padding: 0"
|
||||
>
|
||||
这是你发送的验证码吗?
|
||||
</h1>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" style="height: 15px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 15px;
|
||||
color: #5B6987;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;"
|
||||
>
|
||||
@{.os} <br />
|
||||
@{.cityLabel} (estimated) <br />
|
||||
IP 地址: @{.ip}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="30" style="height: 30px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 15px;
|
||||
color: #5B6987;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;
|
||||
font-weight: bold;"
|
||||
>
|
||||
如果是,请输入验证码:
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="20" style="height: 20px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 35px;
|
||||
color: #010E28;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;
|
||||
font-weight: bold;"
|
||||
>
|
||||
@{.code}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="20" style="height: 20px"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 15px;
|
||||
color: #5B6987;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;
|
||||
font-weight: bold;"
|
||||
>
|
||||
该验证码@{.expires}分钟内有效,请不要告诉于他人!
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="40" style="height:40px"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,301 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>密码重置邮件</title>
|
||||
<style>
|
||||
html,
|
||||
body {
|
||||
margin: 0 auto !important;
|
||||
padding: 0 !important;
|
||||
width: 100% !important;
|
||||
font-family: sans-serif;
|
||||
line-height: 1.4;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
* {
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
table,
|
||||
td {
|
||||
mso-table-lspace: 0 !important;
|
||||
mso-table-rspace: 0 !important;
|
||||
}
|
||||
img {
|
||||
display: block;
|
||||
border: none;
|
||||
max-width: 100%;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body
|
||||
leftmargin="0"
|
||||
marginwidth="0"
|
||||
topmargin="0"
|
||||
marginheight="0"
|
||||
offset="0"
|
||||
bgcolor="#F3F5F9"
|
||||
width="100%"
|
||||
style="margin: 0; padding: 0 !important; mso-line-height-rule: exactly; background: #F3F5F9;"
|
||||
>
|
||||
|
||||
<table
|
||||
role="presentation"
|
||||
align="center"
|
||||
valign="top"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
height="100%"
|
||||
width="100%"
|
||||
bgcolor="#F3F5F9"
|
||||
style="border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
background: #F3F5F9"
|
||||
>
|
||||
<tr>
|
||||
<td height="30" style="height: 30px;"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td height=20" style="height: 20px;"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
|
||||
<table
|
||||
role="presentation"
|
||||
align="center"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
width="600"
|
||||
bgcolor="#ffffff"
|
||||
style="max-width: 600px;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
background: #ffffff;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
height="5"
|
||||
style="height: 5px;
|
||||
background-color: #0069FF;
|
||||
background-image: linear-gradient(-45deg, #0248FF, #0069FF);"
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height=40" style="height:40px"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<table
|
||||
role="presentation"
|
||||
align="center"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
width="440"
|
||||
style="max-width: 440px;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;"
|
||||
>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<img
|
||||
src="@{.logo}"
|
||||
width="170"
|
||||
style="border: none; display: block; max-width: 170px; width: 100%"
|
||||
alt="logo">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="40" style="height:40px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<h1
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 24px;
|
||||
color: #010E28;
|
||||
font-weight: bold;
|
||||
margin: 0 0 5px;
|
||||
padding: 0"
|
||||
>
|
||||
Hi, @{.username}!
|
||||
</h1>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 16px;
|
||||
color: #010E28;
|
||||
margin: 0;
|
||||
padding: 0"
|
||||
>
|
||||
忘记密码请求
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" style="height: 15px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 15px;
|
||||
color: #5B6987;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;"
|
||||
>
|
||||
你好像忘记了你的账户密码。你可以通过点击下面的按钮更改密码:
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="45" style="height: 45px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table
|
||||
role="presentation"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
width="440"
|
||||
style="max-width: 440px;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
vertical-align: top;
|
||||
margin: 0;
|
||||
width: 100%;"
|
||||
>
|
||||
<tr>
|
||||
<td width="70" style="width: 70px"></td>
|
||||
<td
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
width: 300px;
|
||||
background-color: #0248FF;
|
||||
background-image: linear-gradient(-45deg, #0248FF, #0069FF);
|
||||
color: #FFF;
|
||||
height: 55px;
|
||||
line-height: 55px;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
font-weight: bold;"
|
||||
>
|
||||
<a
|
||||
href="@{.passwordResetLink}"
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
width: 100%;
|
||||
background-color: #0248FF;
|
||||
background-image: linear-gradient(-45deg, #0248FF, #0069FF);
|
||||
color: #FFF;
|
||||
height: 55px;
|
||||
line-height: 55px;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
cursor: pointer;"
|
||||
>
|
||||
重置密码
|
||||
</a>
|
||||
</td>
|
||||
<td width="70" style="width: 70px"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="45" style="height: 45px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 15px;
|
||||
color: #5B6987;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;"
|
||||
>
|
||||
Ms and the <strong style="font-weight: bold; color: #010E28">@{.name}</strong> Team.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="30" style="height: 30px"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 12px;
|
||||
color: #5B6987;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;
|
||||
text-align: left;"
|
||||
>
|
||||
如果你在点击密码重置按钮时遇到麻烦,请将下面的URL复制并粘贴到你的浏览器中:
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="10" style="height: 10px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p
|
||||
style="font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 12px;
|
||||
color: #5B6987;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 20px;
|
||||
text-align: left;"
|
||||
>
|
||||
@{.passwordResetLink}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="40" style="height:40px"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="40"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
<body>
|
||||
@{.content}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,94 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cmn-Hans">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/>
|
||||
<title>错误页面</title>
|
||||
<style>
|
||||
body {
|
||||
background-color: #f5f5f5;
|
||||
margin: 0;
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 85%;
|
||||
margin: 50px auto;
|
||||
padding: 40px;
|
||||
text-align: center;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 3em;
|
||||
margin-bottom: 20px;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 20px;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
background-color: #007bff;
|
||||
padding: 10px 20px;
|
||||
border-radius: 3px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background-color: #0069d9;
|
||||
}
|
||||
|
||||
pre {
|
||||
background-color: #f6f8fa;
|
||||
border-radius: 3px;
|
||||
font-size: 14px;
|
||||
line-height: 1.45;
|
||||
overflow: auto;
|
||||
padding: 16px;
|
||||
white-space: pre;
|
||||
word-wrap: normal;
|
||||
}
|
||||
|
||||
pre code {
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@{ if eq .code 404 }
|
||||
<div class="container">
|
||||
<h1>@{.code} 页面未找到</h1>
|
||||
<p>抱歉,我们无法找到要求的页面。</p>
|
||||
<a href="#" onclick="history.back()">返回</a>
|
||||
</div>
|
||||
@{ else if eq .code 403 }
|
||||
<div class="container">
|
||||
<h1>@{.code} 禁止访问</h1>
|
||||
<p>抱歉,您无权访问此页面。</p>
|
||||
<a href="#" onclick="history.back()">返回</a>
|
||||
</div>
|
||||
@{ else if eq .code 500 }
|
||||
<div class="container">
|
||||
<h1>@{.code} 内部服务器错误</h1>
|
||||
<p>哎呀,服务器出了点问题。</p>
|
||||
<a href="#" onclick="history.back()">返回</a>
|
||||
</div>
|
||||
@{else}
|
||||
<div class="container">
|
||||
<h1>错误码 [ @{.code} ]</h1>
|
||||
<p>@{.message}</p>
|
||||
@{ if ne .stack "" }
|
||||
<pre><code>@{.stack}</code></pre>
|
||||
@{end}
|
||||
<a href="#" onclick="history.back()">返回</a>
|
||||
</div>
|
||||
@{end}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
|
||||
<meta name="keywords" content="@{.Keywords}"/>
|
||||
<meta name="description" content="@{.Description}"/>
|
||||
<title>@{.Title}</title>
|
||||
<script type="text/javascript" src="/resource/home/js/jquery-3.6.0.min.js"></script>
|
||||
<style>
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #f6f6f6;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="padding-top: 100px;text-align:center;">
|
||||
<h1><p>Hello,@{.Data.name}!!</p></h1>
|
||||
<h2><p>当前版本:@{.Data.version}</p></h2>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
</script>
|
||||
</html>
|
||||
Reference in New Issue
Block a user