You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OneAuth/ui/page/latest.html

159 lines
3.9 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vyes.js - 现代前端框架</title>
</head>
<style>
body {
margin: 0;
font-family: Arial, sans-serif;
background-color: #f9fafb;
color: #333;
}
header {
background: linear-gradient(120deg, #6a11cb, #2575fc);
color: white;
padding: 40px 20px;
text-align: center;
}
header h1 {
font-size: 3rem;
margin: 0;
}
header p {
font-size: 1.2rem;
margin-top: 10px;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.features {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
margin-top: 40px;
}
.feature-card {
background: white;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
padding: 20px;
width: 300px;
text-align: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feature-card:hover {
transform: translateY(-10px);
box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
}
.feature-card h2 {
font-size: 1.5rem;
margin-bottom: 10px;
}
.feature-card p {
font-size: 1rem;
color: #666;
}
.cta-button {
display: inline-block;
background: #2575fc;
color: white;
padding: 10px 20px;
border-radius: 5px;
text-decoration: none;
font-size: 1rem;
margin-top: 20px;
transition: background 0.3s ease;
}
.cta-button:hover {
background: #1e5db9;
}
footer {
background: #333;
color: white;
text-align: center;
padding: 20px;
margin-top: 40px;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fade-in {
animation: fadeIn 1s ease-out;
}
</style>
<body>
<header>
<h1>Vyes.js</h1>
<p>现代化、轻量级的前端框架</p>
</header>
<div class="container">
<!-- 特性介绍 -->
<section class="fade-in">
<h2 style="text-align: center;">为什么选择 Vyes.js</h2>
<div class="features">
<div class="feature-card">
<h2>简单易用</h2>
<p>遵循 HTML5 规范,快速上手,轻松构建复杂的前端应用。</p>
</div>
<div class="feature-card">
<h2>响应式数据</h2>
<p>自动追踪数据变化,实时更新视图,无需手动操作 DOM。</p>
</div>
<div class="feature-card">
<h2>组件化开发</h2>
<p>支持组件复用和插槽机制,提升开发效率。</p>
</div>
</div>
</section>
<!-- 使用方法 -->
<section class="fade-in" style="margin-top: 40px;">
<h2 style="text-align: center;">快速开始</h2>
<pre style="background: #f4f4f4; padding: 20px; border-radius: 10px; overflow-x: auto;">
&lt;!doctype html&gt;
&lt;html&gt;
&lt;head&gt;&lt;/head&gt;
&lt;style&gt;&lt;/style&gt;
&lt;body&gt;
&lt;div&gt;{{ message }}&lt;/div&gt;
&lt;button @click="changeMessage"&gt;点击我&lt;/button&gt;
&lt;/body&gt;
&lt;script setup&gt;
message = "Hello, Vyes.js!";
changeMessage = () => {
message = "你点击了按钮!";
};
&lt;/script&gt;
&lt;/html&gt;
</pre>
<a href="#!" class="cta-button">了解更多</a>
</section>
</div>
<footer>
<p>&copy; 2023 Vyes.js. All rights reserved.</p>
</footer>
</body>
<script setup>
// 动态加载内容以触发 fade-in 动画
setTimeout(() => {
const sections = $node.querySelectorAll(".fade-in");
sections.forEach((section) => section.classList.add("fade-in"));
}, 100);
</script>
</html>