71 lines
4.6 KiB
HTML
71 lines
4.6 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="description" content="使用 Shareit ID 与 Google Authenticator 登录 Traffic Intelligence">
|
|
<title>用户登录 · Traffic Intelligence</title>
|
|
<link rel="stylesheet" href="assets/styles.css?v=auth2">
|
|
</head>
|
|
<body class="login-page">
|
|
<header class="site-header">
|
|
<a class="brand" href="index.html"><span class="brand-mark" aria-hidden="true"><i></i><i></i><i></i></span><span><strong>Traffic Intelligence</strong><small>投放决策工作台</small></span></a>
|
|
<a class="home-link" href="index.html">返回首页</a>
|
|
</header>
|
|
|
|
<main class="login-main shell">
|
|
<section class="login-intro">
|
|
<p class="eyebrow"><span></span> IDENTITY CHECK</p>
|
|
<h1>登录后开始<br><em>转换链接。</em></h1>
|
|
<p>输入你的 Shareit ID,并使用密码和 Google Authenticator 动态码完成验证。</p>
|
|
<div class="login-note"><b>!</b><span><strong>简易本机验证</strong>账号绑定、登录状态和链接记录仅保存在当前浏览器,不属于服务端安全认证。</span></div>
|
|
</section>
|
|
|
|
<section class="panel login-card">
|
|
<div class="panel-title"><span>ACCOUNT</span><h2 id="loginTitle">Shareit ID 登录</h2><p id="loginSubtitle">输入你的 Shareit ID 继续</p></div>
|
|
|
|
<form id="accountForm" class="account-form" novalidate>
|
|
<label class="field-label" for="loginUser">Shareit ID</label>
|
|
<input id="loginUser" type="text" autocomplete="username" autocapitalize="none" spellcheck="false" placeholder="请输入 Shareit ID">
|
|
<div class="auth-message" id="accountMessage" role="alert"></div>
|
|
<button class="primary-btn full-btn" type="submit"><span>继续</span><b>→</b></button>
|
|
</form>
|
|
|
|
<div class="confirmed-account hidden" id="confirmedAccount"><span>Shareit ID</span><strong id="confirmedUser"></strong><button id="changeAccount" type="button">更换账号</button></div>
|
|
|
|
<form id="signinForm" class="auth-form hidden" novalidate>
|
|
<label class="field-label" for="signinPassword">登录密码</label>
|
|
<input id="signinPassword" type="password" autocomplete="current-password" placeholder="输入本机登录密码">
|
|
<label class="field-label" for="signinCode">Google Authenticator 验证码</label>
|
|
<input id="signinCode" class="otp-input" inputmode="numeric" autocomplete="one-time-code" maxlength="6" placeholder="000000">
|
|
<div class="auth-message" id="signinMessage" role="alert"></div>
|
|
<button class="primary-btn full-btn" type="submit"><span>登录</span><b>→</b></button>
|
|
<button class="text-btn danger-text" id="resetEnrollment" type="button">忘记密码?重置这个账号的本机绑定</button>
|
|
</form>
|
|
|
|
<form id="enrollForm" class="auth-form hidden" novalidate>
|
|
<div class="qr-setup">
|
|
<div class="qr-code" id="qrCode" aria-label="Google Authenticator 绑定二维码"><span>正在生成二维码…</span></div>
|
|
<div class="qr-instructions"><b>首次注册</b><ol><li>打开 Google Authenticator</li><li>点击“+”并选择“扫描二维码”</li><li>扫描左侧二维码</li></ol></div>
|
|
</div>
|
|
<label class="field-label" for="newPassword">设置本机登录密码</label>
|
|
<input id="newPassword" type="password" autocomplete="new-password" placeholder="至少 8 位">
|
|
<label class="field-label" for="confirmPassword">再次输入密码</label>
|
|
<input id="confirmPassword" type="password" autocomplete="new-password" placeholder="再次输入相同密码">
|
|
<label class="field-label" for="setupCode">输入 App 中显示的 6 位验证码</label>
|
|
<input id="setupCode" class="otp-input" inputmode="numeric" autocomplete="one-time-code" maxlength="6" placeholder="000000">
|
|
<div class="auth-message" id="enrollMessage" role="alert"></div>
|
|
<button class="primary-btn full-btn" type="submit"><span>完成注册并登录</span><b>→</b></button>
|
|
</form>
|
|
</section>
|
|
</main>
|
|
|
|
<div class="toast" id="toast" role="status"></div>
|
|
<script src="assets/data/users.js?v=auth2"></script>
|
|
<script src="assets/auth.js?v=auth2"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcode-generator/1.4.4/qrcode.min.js" integrity="sha512-ZDSPMa/JM1D+7kdg2x3BsruQ6T/JpJo3jWDWkCZsP+5yVyp1KfESqLI+7RqB5k24F7p2cV7i2YHh/890y6P6Sw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
<script src="assets/common.js?v=auth2"></script>
|
|
<script src="assets/login.js?v=auth2"></script>
|
|
</body>
|
|
</html>
|