122 lines
4.8 KiB
HTML
122 lines
4.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{{.metaTitle}}</title>
|
|
{{template "seoCommon" .}}
|
|
<link rel="stylesheet" href="/static/css/base.css">
|
|
<link rel="stylesheet" href="/static/css/login.css?v=3">
|
|
<script>
|
|
// PC 登录走弹窗:桌面访问 /login 时回首页并打开登录弹窗
|
|
(function () {
|
|
try {
|
|
if (window.matchMedia && window.matchMedia("(min-width: 769px)").matches) {
|
|
window.location.replace("/?auth=login");
|
|
}
|
|
} catch (e) {}
|
|
})();
|
|
</script>
|
|
</head>
|
|
<body class="page-login">
|
|
<header class="page-subheader" aria-label="登录顶栏">
|
|
<a class="page-subheader__btn" href="javascript:history.back()" aria-label="返回">
|
|
<img class="icon" src="/static/images/chevron-left.svg" alt="返回">
|
|
</a>
|
|
<h1 class="page-subheader__title">登录</h1>
|
|
<span class="page-subheader__btn" aria-hidden="true"></span>
|
|
</header>
|
|
|
|
<main class="login-page">
|
|
<div class="login-page__inner">
|
|
<div class="login-page__brand">
|
|
<img class="login-page__logo" src="/static/logo_icon.png" alt="黄果短剧">
|
|
</div>
|
|
|
|
<div class="login-page__content">
|
|
<div class="login-page__intro">
|
|
<h2 class="login-page__title">登录黄果短剧</h2>
|
|
<p class="login-page__desc">登录后可收藏作品、解锁付费剧集并查看观看历史</p>
|
|
</div>
|
|
|
|
<form class="login-page__form" action="/api/auth/login" method="post" data-login-page-form novalidate>
|
|
<label class="login-page__field" data-field="account">
|
|
<span class="login-page__label">账号</span>
|
|
<span class="login-page__control">
|
|
<img class="icon" src="/static/images/user.svg" alt="" aria-hidden="true">
|
|
<input
|
|
class="login-page__input"
|
|
type="text"
|
|
name="account"
|
|
autocomplete="username"
|
|
placeholder="请输入账号"
|
|
maxlength="16"
|
|
required
|
|
>
|
|
</span>
|
|
<span class="login-page__error" data-field-error="account" hidden>
|
|
<img class="login-page__error-icon" src="/static/images/error-tip.svg" alt="" aria-hidden="true">
|
|
<span data-field-error-text></span>
|
|
</span>
|
|
</label>
|
|
|
|
<label class="login-page__field" data-field="password">
|
|
<span class="login-page__label">密码</span>
|
|
<span class="login-page__control">
|
|
<img class="icon" src="/static/images/lock-dim.svg" alt="" aria-hidden="true">
|
|
<input
|
|
class="login-page__input"
|
|
type="password"
|
|
name="password"
|
|
autocomplete="current-password"
|
|
placeholder="请输入登录密码"
|
|
maxlength="16"
|
|
data-login-page-password
|
|
required
|
|
>
|
|
<button class="login-page__toggle" type="button" data-login-page-toggle aria-label="显示密码">
|
|
<img class="icon" src="/static/images/eye.svg" alt="" data-login-page-toggle-icon>
|
|
</button>
|
|
</span>
|
|
<span class="login-page__error" data-field-error="password" hidden>
|
|
<img class="login-page__error-icon" src="/static/images/error-tip.svg" alt="" aria-hidden="true">
|
|
<span data-field-error-text></span>
|
|
</span>
|
|
</label>
|
|
|
|
<div class="login-page__meta">
|
|
<label class="login-page__remember">
|
|
<input class="login-page__checkbox" type="checkbox" name="remember" checked>
|
|
<span class="login-page__check" aria-hidden="true"></span>
|
|
<span>记住登录状态</span>
|
|
</label>
|
|
<a class="login-page__forgot" href="/help">忘记密码?</a>
|
|
</div>
|
|
|
|
<button class="btn btn--primary login-page__submit" type="submit" data-login-page-submit>登录</button>
|
|
</form>
|
|
|
|
<p class="login-page__switch">
|
|
<span>还没有账号?</span>
|
|
<a href="/register">立即注册</a>
|
|
</p>
|
|
|
|
<div class="login-page__rule" aria-hidden="true"></div>
|
|
|
|
<p class="login-page__legal">
|
|
登录即表示你已年满 18 岁并同意
|
|
<a href="/terms">《用户条款》</a>
|
|
与
|
|
<a href="/privacy">《隐私政策》</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<script defer src="/static/js/common/cookie.js?v=1"></script>
|
|
<script defer src="/static/js/common/request.js?v=6"></script>
|
|
<script defer src="/static/js/common/auth.js?v=3"></script>
|
|
<script defer src="/static/js/pages/login.js?v=2"></script>
|
|
</body>
|
|
</html>
|