fileshare/static/index.html
2025-08-10 12:57:17 +08:00

262 lines
15 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文件传输服务</title>
<link rel="stylesheet" href="/static/style.css">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>📤</text></svg>">
</head>
<body>
<div class="container">
<header>
<div class="logo">
<span class="icon">📤</span>
<h1>文件传输服务</h1>
</div>
<p class="subtitle">快速分享文件和文本15分钟自动过期</p>
</header>
<main>
<!-- 选项卡导航 -->
<div class="tab-nav">
<button class="tab-btn active" data-tab="upload">📁 上传文件</button>
<button class="tab-btn" data-tab="text">📝 分享文本</button>
<button class="tab-btn" data-tab="download">⬇️ 下载文件</button>
<button class="tab-btn" data-tab="help">💻 curl命令</button>
</div>
<!-- 文件上传 -->
<div class="tab-content active" id="upload-tab">
<div class="upload-section">
<div class="drop-zone" id="dropZone">
<div class="drop-content">
<div class="drop-icon">📁</div>
<p class="drop-text">拖拽文件到此处或点击选择</p>
<p class="drop-hint">最大支持 100MB</p>
<input type="file" id="fileInput" hidden>
<button class="select-btn">选择文件</button>
</div>
</div>
<div class="progress-section" id="progressSection" style="display: none;">
<div class="progress-bar">
<div class="progress-fill" id="progressFill"></div>
</div>
<p class="progress-text" id="progressText">上传中...</p>
</div>
<div class="result-section" id="uploadResult" style="display: none;">
<div class="result-card">
<div class="result-header">
<span class="success-icon"></span>
<h3>上传成功!</h3>
</div>
<div class="share-info">
<div class="share-code">
<label>分享码:</label>
<div class="code-display">
<span class="code-text" id="uploadCode">ABCD1234</span>
<button class="copy-btn" onclick="copyCode('uploadCode')">📋</button>
</div>
</div>
<div class="share-link">
<label>下载链接:</label>
<div class="link-display">
<span class="link-text" id="uploadLink">http://localhost:8000/api/download/ABCD1234</span>
<button class="copy-btn" onclick="copyCode('uploadLink')">📋</button>
</div>
</div>
<div class="expire-info">
<span class="expire-text" id="uploadExpire">15分钟后过期</span>
</div>
</div>
<button class="new-upload-btn" onclick="resetUpload()">上传新文件</button>
</div>
</div>
</div>
</div>
<!-- 文本分享 -->
<div class="tab-content" id="text-tab">
<div class="text-section">
<div class="text-input-area">
<textarea id="textContent" placeholder="在此输入要分享的文本内容..." rows="8"></textarea>
<div class="text-controls">
<input type="text" id="textFilename" placeholder="文件名 (可选)" value="shared_text.txt">
<button class="share-text-btn" id="shareTextBtn">📝 分享文本</button>
</div>
</div>
<div class="result-section" id="textResult" style="display: none;">
<div class="result-card">
<div class="result-header">
<span class="success-icon"></span>
<h3>分享成功!</h3>
</div>
<div class="share-info">
<div class="share-code">
<label>分享码:</label>
<div class="code-display">
<span class="code-text" id="textCode">ABCD1234</span>
<button class="copy-btn" onclick="copyCode('textCode')">📋</button>
</div>
</div>
<div class="share-link">
<label>下载链接:</label>
<div class="link-display">
<span class="link-text" id="textLink">http://localhost:8000/api/download/ABCD1234</span>
<button class="copy-btn" onclick="copyCode('textLink')">📋</button>
</div>
</div>
<div class="expire-info">
<span class="expire-text" id="textExpire">15分钟后过期</span>
</div>
</div>
<button class="new-text-btn" onclick="resetText()">分享新文本</button>
</div>
</div>
</div>
</div>
<!-- 文件下载 -->
<div class="tab-content" id="download-tab">
<div class="download-section">
<div class="download-input">
<h3>输入分享码下载文件</h3>
<div class="code-input-group">
<input type="text" id="downloadCode" placeholder="请输入8位分享码" maxlength="8">
<button class="download-btn" id="downloadBtn">📥 下载</button>
</div>
</div>
<div class="file-info" id="fileInfo" style="display: none;">
<div class="info-card">
<div class="file-icon">📄</div>
<div class="file-details">
<h4 id="fileName">文件名.txt</h4>
<div class="file-meta">
<span id="fileSize">1.2 MB</span>
<span id="fileType">text/plain</span>
</div>
<div class="file-expire">
<span id="fileExpire">剩余时间: 12分钟</span>
</div>
</div>
<button class="download-file-btn" id="downloadFileBtn">⬇️ 下载文件</button>
</div>
</div>
</div>
</div>
<!-- curl命令教程 -->
<div class="tab-content" id="help-tab">
<div class="help-section">
<h3>💻 curl命令使用教程</h3>
<p style="margin-bottom: 2rem; padding: 1rem; background: #e0f2fe; border-left: 4px solid #0284c7; border-radius: 4px;">
🎉 <strong>无需安装任何工具!</strong> 使用系统自带的curl命令即可操作文件传输服务。
<a href="/curl" target="_blank" style="color: #0284c7; font-weight: bold; text-decoration: none; margin-left: 1rem;">📖 查看完整教程</a>
</p>
<div class="help-group">
<h4>📤 上传文件</h4>
<div class="code-block">
<code>curl -X POST -F "file=@文件路径" http://localhost:8000/api/upload</code>
<button class="copy-code-btn" onclick="copyText('curl -X POST -F \"file=@文件路径\" http://localhost:8000/api/upload')">📋</button>
</div>
<p class="help-desc">支持任意类型文件最大100MB</p>
</div>
<div class="help-group">
<h4>📝 分享文本 ⭐</h4>
<div class="code-blocks">
<div class="code-block">
<span class="code-label">✨ 超级简单:</span>
<code>curl -X POST --data "Hello World!" http://localhost:8000/api/text</code>
<button class="copy-code-btn" onclick="copyText('curl -X POST --data \"Hello World!\" http://localhost:8000/api/text')">📋</button>
</div>
<div class="code-block">
<span class="code-label">表单方式:</span>
<code>curl -X POST -F "content=Hello World!" -F "filename=hello.txt" http://localhost:8000/api/share-text-form</code>
<button class="copy-code-btn" onclick="copyText('curl -X POST -F \"content=Hello World!\" -F \"filename=hello.txt\" http://localhost:8000/api/share-text-form')">📋</button>
</div>
<div class="code-block">
<span class="code-label">JSON方式:</span>
<code>curl -X POST -H "Content-Type: application/json" -d '{"content":"Hello World!"}' http://localhost:8000/api/share-text</code>
<button class="copy-code-btn" onclick="copyText('curl -X POST -H \"Content-Type: application/json\" -d \'{\"content\":\"Hello World!\"}\' http://localhost:8000/api/share-text')">📋</button>
</div>
</div>
<p class="help-desc">✨ 推荐使用超级简单方式,只需要一个--data参数</p>
</div>
<div class="help-group">
<h4>⬇️ 下载文件</h4>
<div class="code-block">
<code>curl -O -J http://localhost:8000/api/download/分享码</code>
<button class="copy-code-btn" onclick="copyText('curl -O -J http://localhost:8000/api/download/分享码')">📋</button>
</div>
<p class="help-desc">使用8位分享码下载文件-O -J参数保持原文件名</p>
</div>
<div class="help-group">
<h4> 查看文件信息</h4>
<div class="code-block">
<code>curl http://localhost:8000/api/info/分享码</code>
<button class="copy-code-btn" onclick="copyText('curl http://localhost:8000/api/info/分享码')">📋</button>
</div>
<p class="help-desc">查看文件名、大小、类型和过期时间</p>
</div>
<div class="help-group">
<h4>📊 列出所有分享</h4>
<div class="code-block">
<code>curl http://localhost:8000/api/shares</code>
<button class="copy-code-btn" onclick="copyText('curl http://localhost:8000/api/shares')">📋</button>
</div>
<p class="help-desc">查看当前所有有效的分享</p>
</div>
<div class="help-group">
<h4>🎯 实用示例</h4>
<div class="code-blocks">
<div class="code-block">
<span class="code-label">上传图片:</span>
<code>curl -X POST -F "file=@photo.jpg" http://localhost:8000/api/upload</code>
<button class="copy-code-btn" onclick="copyText('curl -X POST -F \"file=@photo.jpg\" http://localhost:8000/api/upload')">📋</button>
</div>
<div class="code-block">
<span class="code-label">分享代码:</span>
<code>curl -X POST --data "#!/bin/bash
echo Hello" http://localhost:8000/api/text</code>
<button class="copy-code-btn" onclick="copyText('curl -X POST --data \"#!/bin/bash\necho Hello\" http://localhost:8000/api/text')">📋</button>
</div>
<div class="code-block">
<span class="code-label">显示进度:</span>
<code>curl --progress-bar -X POST -F "file=@largefile.zip" http://localhost:8000/api/upload</code>
<button class="copy-code-btn" onclick="copyText('curl --progress-bar -X POST -F \"file=@largefile.zip\" http://localhost:8000/api/upload')">📋</button>
</div>
</div>
</div>
</div>
</div>
</main>
<footer>
<div class="footer-content">
<p>&copy; 2024 文件传输服务 | 开源项目</p>
<div class="footer-links">
<a href="/docs" target="_blank">📖 API文档</a>
<a href="https://github.com" target="_blank">⭐ GitHub</a>
</div>
</div>
</footer>
<!-- 通知提示 -->
<div class="toast" id="toast" style="display: none;">
<span class="toast-message" id="toastMessage">操作成功!</span>
</div>
</div>
<script src="/static/app.js"></script>
</body>
</html>