Spaces:
Running
Running
<html lang="zh-CN"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>红石API - 公益接口平台</title> | |
<link rel="icon" href="logo.webp"> | |
<style> | |
:root { | |
--neon-blue: #00f3ff; | |
--neon-pink: #ff00ff; | |
--cyber-purple: #6c00ff; | |
--dark-bg: #0a0a12; | |
--grid-color: rgba(0, 243, 255, 0.1); | |
} | |
* { | |
margin: 0; | |
padding: 0; | |
box-sizing: border-box; | |
font-family: 'Segoe UI', system-ui; | |
} | |
body { | |
background: var(--dark-bg); | |
color: white; | |
position: relative; | |
overflow-x: hidden; | |
scroll-behavior: smooth; | |
} | |
.cyber-bg { | |
position: fixed; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
z-index: -2; | |
background: | |
linear-gradient(45deg, var(--cyber-purple) 0%, transparent 50%), | |
linear-gradient(-45deg, var(--neon-pink) 0%, transparent 50%), | |
var(--dark-bg); | |
animation: bgMove 20s linear infinite; | |
background-size: 200% 200%; | |
} | |
.cyber-grid { | |
position: fixed; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
background-image: | |
linear-gradient(var(--grid-color) 1px, transparent 1px), | |
linear-gradient(90deg, var(--grid-color) 1px, transparent 1px); | |
background-size: 30px 30px; | |
z-index: -1; | |
opacity: 0.3; | |
} | |
.hero { | |
height: 100vh; | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
flex-direction: column; | |
text-align: center; | |
padding: 20px; | |
position: relative; | |
} | |
.logo { | |
width: 150px; | |
height: 150px; | |
margin-bottom: 30px; | |
animation: float 3s ease-in-out infinite; | |
filter: drop-shadow(0 0 15px var(--neon-blue)); | |
} | |
.nav-buttons { | |
margin: 40px 0; | |
display: flex; | |
gap: 25px; | |
flex-wrap: wrap; | |
justify-content: center; | |
} | |
.btn { | |
padding: 15px 40px; | |
border: 2px solid var(--neon-blue); | |
border-radius: 30px; | |
color: var(--neon-blue); | |
text-decoration: none; | |
transition: all 0.3s; | |
position: relative; | |
overflow: hidden; | |
background: rgba(0, 0, 0, 0.3); | |
backdrop-filter: blur(5px); | |
} | |
.btn:hover { | |
background: var(--neon-blue); | |
color: var(--dark-bg); | |
box-shadow: 0 0 30px var(--neon-blue); | |
} | |
.btn::before { | |
content: ''; | |
position: absolute; | |
top: -50%; | |
left: -50%; | |
width: 200%; | |
height: 200%; | |
background: linear-gradient(45deg, | |
transparent, | |
var(--neon-blue), | |
transparent); | |
animation: lightFlow 3s infinite linear; | |
opacity: 0.3; | |
} | |
.btn-more { | |
padding: 12px 35px; | |
font-size: 1.1em; | |
border: 2px solid var(--neon-pink); | |
color: var(--neon-pink); | |
background: rgba(255, 0, 255, 0.1); | |
border-radius: 30px; | |
text-decoration: none; | |
transition: all 0.3s; | |
display: inline-flex; | |
align-items: center; | |
position: relative; | |
} | |
.btn-more:hover { | |
background: var(--neon-pink); | |
color: var(--dark-bg); | |
box-shadow: 0 0 25px var(--neon-pink); | |
transform: translateY(-3px); | |
} | |
.daily-quote { | |
font-size: 1.5em; | |
margin: 30px 0; | |
min-height: 60px; | |
text-shadow: 0 0 10px var(--neon-pink); | |
} | |
.section { | |
padding: 100px 20px; | |
position: relative; | |
backdrop-filter: blur(5px); | |
} | |
.section-title { | |
text-align: center; | |
margin-bottom: 60px; | |
font-size: 2.5em; | |
text-shadow: 0 0 15px var(--neon-blue); | |
} | |
.grid { | |
display: grid; | |
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
gap: 30px; | |
max-width: 1200px; | |
margin: 0 auto; | |
} | |
.card { | |
background: rgba(10, 10, 18, 0.7); | |
border: 1px solid var(--neon-blue); | |
border-radius: 15px; | |
padding: 25px; | |
transition: all 0.3s; | |
backdrop-filter: blur(10px); | |
cursor: pointer; | |
position: relative; | |
} | |
.card:hover { | |
transform: translateY(-10px); | |
box-shadow: 0 0 30px var(--neon-blue); | |
} | |
.card::after { | |
content: '↗'; | |
position: absolute; | |
top: 15px; | |
right: 15px; | |
color: var(--neon-blue); | |
opacity: 0; | |
transition: opacity 0.3s; | |
} | |
.card:hover::after { | |
opacity: 1; | |
} | |
.vendor-logo { | |
width: 60px; | |
height: 60px; | |
margin-right: 20px; | |
filter: drop-shadow(0 0 5px var(--neon-blue)); | |
} | |
.more-button { | |
display: flex; | |
justify-content: center; | |
margin-top: 40px; | |
} | |
.faq-item { | |
background: rgba(108, 0, 255, 0.1); | |
border: 1px solid var(--neon-pink); | |
margin: 20px 0; | |
padding: 25px; | |
border-radius: 10px; | |
} | |
.faq-question { | |
cursor: pointer; | |
display: flex; | |
justify-content: space-between; | |
align-items: center; | |
} | |
.faq-answer { | |
max-height: 0; | |
overflow: hidden; | |
transition: max-height 0.3s ease-out; | |
margin-top: 15px; | |
} | |
.faq-item.active .faq-answer { | |
max-height: 500px; | |
margin-top: 20px; | |
} | |
.arrow { | |
transition: transform 0.3s; | |
} | |
.faq-item.active .arrow { | |
transform: rotate(180deg); | |
} | |
@keyframes float { | |
0%, 100% { transform: translateY(0); } | |
50% { transform: translateY(-20px); } | |
} | |
@keyframes bgMove { | |
0% { background-position: 0% 0%; } | |
50% { background-position: 100% 100%; } | |
100% { background-position: 0% 0%; } | |
} | |
@keyframes lightFlow { | |
0% { transform: rotate(0deg) translate(-50%, -50%); } | |
100% { transform: rotate(360deg) translate(-50%, -50%); } | |
} | |
@media (max-width: 768px) { | |
.grid { | |
grid-template-columns: 1fr; | |
} | |
.section-title { | |
font-size: 2em; | |
} | |
.btn { | |
padding: 12px 30px; | |
} | |
} | |
</style> | |
</head> | |
<body> | |
<div class="cyber-bg"></div> | |
<div class="cyber-grid"></div> | |
<section class="hero"> | |
<img src="/logo.webp" | |
alt="红石API" | |
class="logo"> | |
<h1 class="section-title">红石API</h1> | |
<p style="font-size: 1.2em; margin-bottom: 20px;">开放 · 安全 · 高效的智能接口平台</p> | |
<div class="nav-buttons"> | |
<a href="https://api.hongshi.dpdns.org/about" class="btn" target="_blank">关于我们</a> | |
<a href="https://dash.hongshi.dpdns.org/status/api" class="btn" target="_blank">服务监控</a> | |
<a href="https://api.hongshi.dpdns.org/pricing" class="btn" target="_blank">定价方案</a> | |
</div> | |
<div class="daily-quote" id="dailyQuote"></div> | |
</section> | |
<section class="section"> | |
<h2 class="section-title">️ 支持AI大模型</h2> | |
<div class="grid"> | |
<div class="card" data-link="https://deepseek.com"> | |
<div style="display: flex; align-items: center;"> | |
<img src="https://www.deepseek.com/favicon.ico" class="vendor-logo" alt="DeepSeek"> | |
<h3>DeepSeek</h3> | |
</div> | |
<p style="margin-top: 15px;">DeepSeek-R1、DeepSeek-v3以及对应联网模型</p> | |
</div> | |
<div class="card" data-link="https://openai.com"> | |
<div style="display: flex; align-items: center;"> | |
<img src="https://freepnglogo.com/images/all_img/1702059841openai-icon-png.png" class="vendor-logo" alt="OpenAI"> | |
<h3>OpenAI</h3> | |
</div> | |
<p style="margin-top: 15px;">GPT-4.1-mini、Dall-E-2、Whisper-1等模型</p> | |
</div> | |
<div class="card" data-link="https://chat.qwen.ai/"> | |
<div style="display: flex; align-items: center;"> | |
<img src="https://assets.alicdn.com/g/qwenweb/qwen-webui-fe/0.0.54/static/favicon.png" class="vendor-logo" alt="Qwen"> | |
<h3>通义千问</h3> | |
</div> | |
<p style="margin-top: 15px;">Qwen2、Qwen2.5、Qwen3、QwQ以及对应的联网模型</p> | |
</div> | |
<div class="card" data-link="https://gemini.google.com/"> | |
<div style="display: flex; align-items:center;"> | |
<img src="https://registry.npmmirror.com/@lobehub/icons-static-png/1.45.0/files/dark/gemini-color.png" class="vendor-logo" alt="Gemini"> | |
<h3>Gemini</h3> | |
</div> | |
<p style="margin-top: 15px;">Gemini-1.5以及Gemini-2.0系列模型</p> | |
</div> | |
</div> | |
<div class="more-button"> | |
<a href="https://api.hongshi.dpdns.org/pricing" class="btn-more" target="_blank"> | |
<span style="margin-right: 8px;">🗃️</span>查看完整模型列表 | |
</a> | |
</div> | |
</section> | |
<section class="section" style="background: rgba(255, 0, 255, 0.05);"> | |
<h2 class="section-title">️ 应用接入</h2> | |
<div class="grid"> | |
<div class="card" data-link="https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web"> | |
<div style="display: flex; align-items: center;"> | |
<img src="https://voapi.yopanai.com/index/platforms/voapi-p-1.png" class="vendor-logo" alt="NextWeb"> | |
<h3>ChatGPT-Next-Web</h3> | |
</div> | |
<p style="margin-top: 15px;">开箱即用的Web聊天应用</p> | |
</div> | |
<div class="card" data-link="https://github.com/lobehub/lobe-chat"> | |
<div style="display: flex; align-items: center;"> | |
<img src="https://voapi.yopanai.com/index/platforms/voapi-p-2.png" class="vendor-logo" alt="LobeChat"> | |
<h3>LobeChat</h3> | |
</div> | |
<p style="margin-top: 15px;">一个快速、优雅、高效的对话UI</p> | |
</div> | |
<div class="card" data-link="https://github.com/ChatAnyTeam/ChatAny"> | |
<div style="display: flex; align-items: center;"> | |
<img src="https://voapi.yopanai.com/index/platforms/voapi-p-3.png" class="vendor-logo" alt="ChatAny"> | |
<h3>ChatAny</h3> | |
</div> | |
<p style="margin-top: 15px;">一键拥有你自己的 ChatGPT+众多AI 的聚合网页服务</p> | |
</div> | |
</div> | |
<br> | |
<h4 align="center">以及所有支持OpenAI格式调用的UI</h4> | |
</section> | |
<section class="section"> | |
<h2 class="section-title">️ 常见问题</h2> | |
<div style="max-width: 800px; margin: 0 auto;"> | |
<div class="faq-item"> | |
<div class="faq-question" onclick="toggleFAQ(this)"> | |
<h3>Q1: 收不到验证邮件怎么办?</h3> | |
<div class="arrow">▼</div> | |
</div> | |
<div class="faq-answer"> | |
<p style="margin-top: 15px;">A1: 请检查垃圾邮件箱,确保完成CF验证流程,目前支持QQ/Outlook邮箱。</p> | |
</div> | |
</div> | |
<div class="faq-item"> | |
<div class="faq-question" onclick="toggleFAQ(this)"> | |
<h3>Q2: 如何获取技术支持?</h3> | |
<div class="arrow">▼</div> | |
</div> | |
<div class="faq-answer"> | |
<p style="margin-top: 15px;">A2: 邮件联系 <a href="mailto:hongshi_voapi@sina.cn" style="color: #00f3ff;">hongshi_voapi@sina.cn</a> 或加入官网QQ群。</p> | |
</div> | |
</div> | |
</div> | |
</section> | |
<script> | |
const quotes = [ | |
"代码如诗,连接未来。", | |
"开放共享,智启新程。", | |
"任何足够先进的技术都和魔法无异", | |
"我们正处于一场技术变革的前夜,人工智能是这场变革的核心。", | |
"人工智能将是下一个工业革命的引擎。" | |
]; | |
function typeWriter(text, element) { | |
let index = 0; | |
element.innerHTML = ''; | |
function type() { | |
if (index < text.length) { | |
element.innerHTML += text.charAt(index); | |
index++; | |
setTimeout(type, 100); | |
} else { | |
element.innerHTML += '<span style="animation: blink 1s infinite">|</span>'; | |
} | |
} | |
type(); | |
} | |
function toggleFAQ(element) { | |
const faqItem = element.closest('.faq-item'); | |
faqItem.classList.toggle('active'); | |
} | |
document.querySelectorAll('.card').forEach(card => { | |
card.addEventListener('click', function(e) { | |
if (!e.target.closest('a')) { | |
const url = this.dataset.link; | |
if (url) window.open(url, '_blank'); | |
} | |
}); | |
}); | |
window.addEventListener('load', () => { | |
const quote = quotes[Math.floor(Math.random() * quotes.length)]; | |
typeWriter(quote, document.getElementById('dailyQuote')); | |
const observer = new IntersectionObserver((entries) => { | |
entries.forEach(entry => { | |
if (entry.isIntersecting) { | |
entry.target.style.opacity = 1; | |
entry.target.style.transform = 'translateY(0)'; | |
} | |
}); | |
}); | |
document.querySelectorAll('.card, .faq-item').forEach(el => { | |
el.style.opacity = 0; | |
el.style.transform = 'translateY(30px)'; | |
el.style.transition = 'all 0.6s cubic-bezier(0.4, 0, 0.2, 1)'; | |
observer.observe(el); | |
}); | |
}); | |
</script> | |
</body> | |
</html> |