互联网搜索独立页面 + 一键保存全部功能

- 新增独立搜索页面 /search
- 支持一键保存所有搜索结果到内容库
- 支持自动抓取和自动保存选项
- 显示保存进度条
- 主页添加搜索入口链接
- 搜索结果状态实时显示(已抓取/已保存)
This commit is contained in:
2026-07-13 16:38:14 +08:00
parent 20f3ec1f18
commit e13e4074f1
6 changed files with 879 additions and 13 deletions
+7 -13
View File
@@ -116,23 +116,17 @@
</div>
</div>
<!-- 互联网搜索区域 -->
<!-- 互联网搜索入口 -->
<div class="panel full-width">
<div class="panel-header">
<h2><i class="ri-search-line"></i> 互联网搜索</h2>
<div class="panel-actions">
<input type="text" id="internet-search-keyword" placeholder="输入关键词搜索..." class="search-input" style="width: 300px;">
<input type="number" id="internet-search-count" value="10" min="1" max="20" style="width: 80px;" title="结果数量">
<button onclick="doInternetSearch()" class="btn btn-primary" id="search-btn">
<i class="ri-search-line"></i> 搜索
</button>
</div>
</div>
<div class="panel-body">
<div id="internet-search-status" style="margin-bottom: 10px; color: #666; font-size: 14px;"></div>
<div class="search-results-grid" id="internet-search-results">
<div class="empty-text">输入关键词进行互联网搜索</div>
</div>
<div class="panel-body" style="text-align: center; padding: 40px;">
<a href="/search" class="search-entrance-link">
<i class="ri-search-line"></i>
<span>点击进入互联网搜索页面</span>
<small>支持一键保存所有搜索结果到内容库</small>
</a>
</div>
</div>
+116
View File
@@ -0,0 +1,116 @@
<!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/css/style.css">
<link rel="stylesheet" href="/static/css/search.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css">
</head>
<body>
<div class="search-container">
<!-- 头部 -->
<header class="search-header">
<div class="header-left">
<a href="/" class="back-link">
<i class="ri-arrow-left-line"></i> 返回主页
</a>
<h1><i class="ri-search-line"></i> 互联网搜索</h1>
</div>
<div class="header-right">
<div class="status-badge">
<span id="search-status" class="status-dot"></span>
<span id="status-text">就绪</span>
</div>
</div>
</header>
<!-- 搜索区域 -->
<div class="search-box">
<div class="search-input-group">
<input type="text" id="search-keyword" placeholder="输入关键词搜索..." class="search-input-large">
<input type="number" id="search-count" value="10" min="1" max="20" class="count-input" title="结果数量">
<button onclick="doSearch()" class="btn btn-primary btn-large" id="search-btn">
<i class="ri-search-line"></i> 搜索
</button>
</div>
<div class="search-options">
<label class="checkbox-label">
<input type="checkbox" id="auto-fetch" checked>
<span>搜索后自动抓取内容</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="auto-save">
<span>抓取后自动保存到内容库</span>
</label>
</div>
</div>
<!-- 搜索状态 -->
<div id="search-progress" class="search-progress" style="display: none;">
<div class="progress-bar">
<div class="progress-fill" id="progress-fill"></div>
</div>
<div class="progress-text" id="progress-text">正在搜索...</div>
</div>
<!-- 搜索结果 -->
<div class="results-section">
<div class="results-header">
<h2><i class="ri-list-check"></i> 搜索结果</h2>
<div class="results-actions">
<span id="results-count" class="results-count">0 条结果</span>
<button onclick="saveAllResults()" class="btn btn-success" id="save-all-btn" disabled>
<i class="ri-save-line"></i> 一键保存全部
</button>
<button onclick="clearResults()" class="btn btn-secondary" id="clear-btn">
<i class="ri-delete-bin-line"></i> 清空
</button>
</div>
</div>
<div class="results-body">
<div id="search-results" class="search-results">
<div class="empty-text">输入关键词开始搜索</div>
</div>
</div>
</div>
<!-- 保存进度 -->
<div id="save-progress" class="save-progress" style="display: none;">
<div class="progress-info">
<i class="ri-loader-4-line"></i>
<span id="save-progress-text">正在保存...</span>
</div>
<div class="progress-bar">
<div class="progress-fill" id="save-fill"></div>
</div>
</div>
</div>
<!-- 结果详情模态框 -->
<div id="result-detail-modal" class="modal">
<div class="modal-content large">
<div class="modal-header">
<h3><i class="ri-file-text-line"></i> 内容详情</h3>
<button onclick="closeModal('result-detail-modal')" class="close-btn">
<i class="ri-close-line"></i>
</button>
</div>
<div class="modal-body" id="result-detail-body">
</div>
<div class="modal-footer">
<button onclick="closeModal('result-detail-modal')" class="btn btn-secondary">关闭</button>
<button onclick="saveCurrentResult()" class="btn btn-success">
<i class="ri-save-line"></i> 保存到内容库
</button>
</div>
</div>
</div>
<!-- 提示消息 -->
<div id="toast" class="toast"></div>
<script src="/static/js/search.js"></script>
</body>
</html>