chore: initial commit - CloudSearch v0.0.2
This commit is contained in:
160
packages/frontend/h5/index.html
Executable file
160
packages/frontend/h5/index.html
Executable file
@@ -0,0 +1,160 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
<meta http-equiv="Expires" content="0" />
|
||||
<title>CloudSearch - 搜索</title>
|
||||
<script>
|
||||
// 替换标题为网站名称
|
||||
fetch('/api/site-config').then(function(r){return r.json()}).then(function(cfg){
|
||||
if(cfg.site_name) document.title = cfg.site_name + ' - 搜索';
|
||||
}).catch(function(){});
|
||||
</script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/qrcodejs@1.0.0/qrcode.min.js"></script>
|
||||
<link rel="stylesheet" href="/h5/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="app" id="app">
|
||||
<!-- ===== Home Page (shown when no search) ===== -->
|
||||
<div id="homePage" class="home-page">
|
||||
<div class="home-hero">
|
||||
<div class="home-logo" id="homeLogo" style="display:none"></div>
|
||||
<div class="home-search-box">
|
||||
<input id="homeSearchInput" type="text" placeholder="搜索网盘资源..." />
|
||||
<button id="homeSearchBtn" onclick="homeSearch()">搜 索</button>
|
||||
</div>
|
||||
<div class="home-quote" id="homeQuote"></div>
|
||||
<div class="home-quote-author" id="homeQuoteAuthor"></div>
|
||||
</div>
|
||||
<div class="home-rankings" id="homeRankings"></div>
|
||||
</div>
|
||||
|
||||
<!-- ===== Search Results View ===== -->
|
||||
<div id="searchView" style="display:none">
|
||||
<!-- Header -->
|
||||
<div class="header">
|
||||
<div class="header-row">
|
||||
<a href="/h5" class="header-title-link"><div class="header-title" id="headerTitle" style="display:none">CloudSearch</div></a>
|
||||
<div class="search-wrap">
|
||||
<input id="searchInput" type="text" placeholder="搜索网盘资源..." @keydown="handleKeydown" />
|
||||
<button id="searchBtn" onclick="doSearch()">搜 索</button>
|
||||
</div>
|
||||
<div class="header-actions" id="userArea">
|
||||
<template id="userLoggedIn">
|
||||
<span class="user-badge" id="usernameDisplay"></span>
|
||||
<button class="logout-btn-small" onclick="logout()">退出</button>
|
||||
</template>
|
||||
<template id="userLoggedOut">
|
||||
<button class="login-btn-small" onclick="showLogin()">登录</button>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Info Bar -->
|
||||
<div id="infoBar" class="info-bar" style="display:none">
|
||||
<span id="infoCount" class="count"></span>
|
||||
<span id="infoTime" class="time"></span>
|
||||
<span id="infoFiltered" class="badge-err"></span>
|
||||
</div>
|
||||
|
||||
<!-- Loading -->
|
||||
<div id="loading" class="loading" style="display:none">
|
||||
<div id="loadingText">🔍 正在搜索中...</div>
|
||||
<div class="loading-bar"><div class="loading-bar-inner" id="loadingBar"></div></div>
|
||||
</div>
|
||||
|
||||
<!-- Tabs -->
|
||||
<div id="tabs" class="tabs" style="display:none"></div>
|
||||
|
||||
<!-- Results -->
|
||||
<div id="results" class="results"></div>
|
||||
|
||||
<!-- Overlay -->
|
||||
<div class="overlay" id="overlay" style="display:none" onclick="closeModal()"></div>
|
||||
|
||||
<!-- Share Modal -->
|
||||
<div class="modal" id="shareModal" style="display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:101">
|
||||
<div class="modal-hdr" id="shareTitle">分享链接</div>
|
||||
<div class="modal-body">
|
||||
<div id="progressSteps" class="steps" style="display:none">
|
||||
<div class="step" id="step1"><div class="step-dot"><span>1</span></div><div class="step-body"><span class="step-title">正在转存...</span><span class="step-status doing">进行中</span></div></div>
|
||||
<div class="step" id="step2"><div class="step-dot"><span>2</span></div><div class="step-body"><span class="step-title">重命名文件(防和谐)...</span><span class="step-status wait">等待中</span></div></div>
|
||||
<div class="step" id="step3"><div class="step-dot"><span>3</span></div><div class="step-body"><span class="step-title">生成分享链接...</span><span class="step-status wait">等待中</span></div></div>
|
||||
</div>
|
||||
<div id="saveError" class="error-alert" style="display:none"></div>
|
||||
<div id="shareContent" style="display:none">
|
||||
<div class="share-qr">
|
||||
<div id="qrContainer"></div>
|
||||
<div class="qr-label" id="qrLabel"></div>
|
||||
<div class="qr-sub">保存到你自己的网盘</div>
|
||||
</div>
|
||||
<div class="share-section">
|
||||
<div class="share-row">
|
||||
<input id="shareLinkInput" type="text" readonly />
|
||||
</div>
|
||||
<div id="sharePwdRow" class="share-pwd" style="display:none">
|
||||
<span>🔑 提取密码:</span>
|
||||
<span class="pwd-tag" id="sharePwdTag"></span>
|
||||
<span class="pwd-hint">打开链接后需输入密码</span>
|
||||
</div>
|
||||
<div class="share-tip">
|
||||
<span class="warn-icon">⚠️</span>
|
||||
<div class="tip-text">
|
||||
<strong>请尽快复制链接到浏览器打开</strong> 或 <strong>用夸克APP扫码</strong><br>
|
||||
<strong>转存至您的网盘,以免资源被官方和谐</strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="warning-box">
|
||||
<p class="warning-item">郑重警告一:网盘内除您所需资源外,不要打开任何不相关内容。</p>
|
||||
<p class="warning-item">郑重警告二:网盘内除您所需资源外,不要打开任何不相关内容。</p>
|
||||
<p class="warning-item">郑重警告三:网盘内除您所需资源外,不要打开任何不相关内容。</p>
|
||||
<p class="warning-item">郑重警告四:以上警告说三遍,你还要明知故犯吗?</p>
|
||||
</div>
|
||||
<div class="share-disclaimer">
|
||||
<span>⚠️ 本站资源仅供学习交流,请于24h内删除</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-ftr">
|
||||
<button class="btn-disclaimer" onclick="openDisclaimer()">📜 免责声明</button>
|
||||
<button class="btn-close" onclick="closeModal()">关闭</button>
|
||||
<button class="btn-primary" id="copyBtn2" onclick="copyShareLink()" style="display:none">一键复制链接</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Login Modal -->
|
||||
<div class="modal" id="loginModal" style="display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:101">
|
||||
<div class="modal-hdr">登录</div>
|
||||
<div class="modal-body">
|
||||
<div class="login-form">
|
||||
<input id="loginUser" type="text" placeholder="用户名" />
|
||||
<input id="loginPass" type="password" placeholder="密码" />
|
||||
<button class="login-btn" id="loginBtn" onclick="handleLogin()">登录</button>
|
||||
<div class="login-err" id="loginErr"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-ftr">
|
||||
<button class="btn-close" onclick="closeLogin()">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Toast -->
|
||||
<div class="toast" id="toast"></div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/qrcodejs@1.0.0/qrcode.min.js"></script>
|
||||
<script src="/h5/app.js"></script>
|
||||
<!-- Footer -->
|
||||
<div id="siteFooter" class="site-footer" style="display:none">
|
||||
<div id="footerContent" class="footer-inner"></div>
|
||||
<div class="footer-actions" id="footerActions">
|
||||
<button class="footer-btn" onclick="openDisclaimer()">📜 免责声明</button>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
Reference in New Issue
Block a user