You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.1 KiB

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>正在进入报名系统</title>
<style>
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
background: #f4f7fb;
color: #1f2937;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
}
main {
width: min(100%, 420px);
padding: 32px 24px;
border: 1px solid #e5e7eb;
border-radius: 8px;
background: #ffffff;
text-align: center;
box-shadow: 0 8px 24px rgba(31, 41, 55, 0.08);
}
.spinner {
width: 42px;
height: 42px;
margin: 0 auto 20px;
border: 4px solid #dbeafe;
border-top-color: #2563eb;
border-radius: 50%;
animation: spin 0.9s linear infinite;
}
h1 {
margin: 0;
font-size: 22px;
line-height: 1.4;
}
p {
margin: 12px 0 22px;
color: #6b7280;
font-size: 15px;
line-height: 1.7;
}
a {
display: inline-flex;
min-height: 44px;
align-items: center;
justify-content: center;
padding: 10px 20px;
border-radius: 6px;
background: #2563eb;
color: #ffffff;
font-size: 16px;
text-decoration: none;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
</style>
</head>
<body>
<main>
<div class="spinner" aria-hidden="true"></div>
<h1>正在进入报名系统</h1>
<p id="handoff-message">请稍候,系统正在为您跳转。若页面没有自动跳转,请点击下方按钮继续。</p>
<a href="{{ $redirectUrl }}">继续报名</a>
<noscript>
<p>浏览器未启用 JavaScript,请点击“继续报名”进入报名页面。</p>
</noscript>
</main>
<script>
(() => {
const token = {{ Illuminate\Support\Js::from($token) }};
const user = {{ Illuminate\Support\Js::from($user) }};
const competitionSlug = {{ Illuminate\Support\Js::from($competitionSlug) }};
const redirectUrl = {{ Illuminate\Support\Js::from($redirectUrl) }};
try {
localStorage.setItem('cxxfds_token', token);
localStorage.setItem('cxxfds_user', JSON.stringify(user));
localStorage.setItem('cxxfds_participant_competition_slug', competitionSlug);
location.replace(redirectUrl);
} catch (error) {
document.getElementById('handoff-message').textContent =
'自动跳转未完成,请点击下方按钮继续报名。';
}
})();
</script>
</body>
</html>