Files
ai_baijiahao/templates/index.html

293 lines
13 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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>
<!-- Bootstrap Icons -->
<link rel="stylesheet" href="/static/css/icons-local.css">
<link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
<!-- 主布局容器 -->
<div class="app-container">
<!-- 左侧菜单栏 -->
<aside class="sidebar">
<!-- Logo区域 -->
<div class="sidebar-logo">
<div class="sidebar-logo-icon">
<i class="bi bi-cloud-download"></i>
</div>
<div class="sidebar-logo-text">
<div class="sidebar-logo-title">百家号工具</div>
<div class="sidebar-logo-subtitle">文章导出系统</div>
</div>
</div>
<!-- 菜单导航 -->
<nav class="sidebar-nav">
<ul class="nav-menu">
<li class="nav-item">
<a href="/" class="nav-link active">
<i class="bi bi-download"></i>
<span>文章导出</span>
</a>
</li>
<li class="nav-item">
<a href="/queue" class="nav-link">
<i class="bi bi-list-task"></i>
<span>任务队列</span>
<span class="nav-badge" id="queueBadge" style="display: none;">0</span>
</a>
</li>
</ul>
</nav>
<!-- 用户信息区域 -->
<div class="sidebar-user">
<div class="user-info-card">
<div class="user-avatar">
<i class="bi bi-person-fill"></i>
</div>
<div class="user-details">
<div class="user-name">{{ username }}</div>
<div class="user-role">管理员</div>
</div>
<button class="logout-btn" id="logoutBtn" title="登出">
<i class="bi bi-box-arrow-right"></i>
</button>
</div>
</div>
</aside>
<!-- 主内容区域 -->
<main class="main-content">
<!-- 顶部导航栏 -->
<header class="top-navbar">
<h1 class="navbar-title">
<i class="bi bi-file-earmark-arrow-down"></i>
文章导出
</h1>
</header>
<!-- 内容区域 -->
<div class="content-area">
<!-- 页面头部 -->
<div class="page-header">
<h2 class="page-title">
<i class="bi bi-newspaper"></i>
百家号文章导出
</h2>
<p class="page-description">输入百家号作者主页链接,导出指定时间范围内的文章信息</p>
</div>
<!-- 输入表单卡片 -->
<div class="card">
<div class="card-body">
<div class="form-group">
<label class="form-label">
<i class="bi bi-link-45deg label-icon"></i>
百家号作者主页地址
</label>
<input
type="text"
id="authorUrl"
class="form-input"
value="https://baijiahao.baidu.com/u?app_id=1700253559210167"
placeholder="例如https://baijiahao.baidu.com/u?app_id=1700253559210167"
>
<div class="input-hint">
<i class="bi bi-info-circle"></i>
请输入完整的百家号作者主页URL地址
</div>
</div>
<div class="form-group">
<label class="form-label">
<i class="bi bi-cookie label-icon"></i>
Cookie (可选,如果出现登录页面请填写)
</label>
<textarea
id="cookieInput"
class="form-input form-textarea"
rows="3"
placeholder="如果需要登录请粘贴浏览器中的Cookie"
></textarea>
<div class="input-hint">
<i class="bi bi-info-circle"></i>
获取方法:打开百家号 → F12开发者工具 → Network → 刷新页面 → 点击任意请求 → 复制Request Headers中的Cookie
</div>
</div>
<div class="form-group">
<label class="form-label">
<i class="bi bi-calendar-range label-icon"></i>
时间范围
</label>
<select id="monthsSelect" class="form-select">
<option value="0.15" selected>近5天</option>
<option value="0.33">近10天</option>
<option value="1">近1个月</option>
<option value="6">近6个月</option>
<option value="12">近12个月</option>
</select>
</div>
<div class="form-group">
<label class="form-label">
<i class="bi bi-filter label-icon"></i>
内容过滤
</label>
<div class="checkbox-group">
<label class="checkbox-label">
<input type="checkbox" id="articlesOnlyCheckbox" checked>
<span class="checkbox-text">仅爬取文章(跳过视频内容)</span>
</label>
</div>
<div class="input-hint">
<i class="bi bi-info-circle"></i>
勾选后将过滤掉所有视频类型的内容,只保留文章
</div>
</div>
</div>
</div>
<!-- 信息卡片 -->
<div class="card info-card">
<div class="card-body">
<div class="info-grid">
<div class="info-item">
<i class="bi bi-file-earmark-spreadsheet info-icon"></i>
<div class="info-content">
<div class="info-label">导出格式</div>
<div class="info-value">Excel (.xlsx)</div>
</div>
</div>
<div class="info-item">
<i class="bi bi-card-list info-icon"></i>
<div class="info-content">
<div class="info-label">导出内容</div>
<div class="info-value">文章标题、发布时间</div>
</div>
</div>
</div>
</div>
</div>
<!-- 操作按钮 -->
<div style="display: flex; gap: 10px;">
<button id="exportBtn" class="btn btn-primary" style="flex: 1;">
<i class="bi bi-download"></i>
即时导出
</button>
<button id="addToQueueBtn" class="btn btn-secondary" style="flex: 1;">
<i class="bi bi-plus-circle"></i>
添加到队列
</button>
</div>
<!-- 加载状态 -->
<div id="loadingBox" class="loading-box" style="display: none;">
<div class="loading-spinner"></div>
<p class="loading-text">正在获取文章数据,请稍候...</p>
<!-- 进度详情 -->
<div id="progressDetails" class="progress-details" style="display: none;">
<div class="progress-bar-container">
<div id="progressBar" class="progress-bar"></div>
</div>
<div class="progress-info">
<span id="progressMessage" class="progress-message">初始化...</span>
<span id="progressPercent" class="progress-percent">0%</span>
</div>
<div id="progressSteps" class="progress-steps">
<div class="step-item">
<i class="bi bi-1-circle"></i>
<span>解析URL</span>
</div>
<div class="step-item">
<i class="bi bi-2-circle"></i>
<span>启动浏览器</span>
</div>
<div class="step-item">
<i class="bi bi-3-circle"></i>
<span>加载页面</span>
</div>
<div class="step-item">
<i class="bi bi-4-circle"></i>
<span>滚动获取</span>
</div>
<div class="step-item">
<i class="bi bi-5-circle"></i>
<span>提取数据</span>
</div>
<div class="step-item">
<i class="bi bi-6-circle"></i>
<span>生成Excel</span>
</div>
</div>
</div>
</div>
<!-- 结果显示 -->
<div id="resultBox" class="result-box" style="display: none;">
<div id="resultMessage" class="result-message"></div>
<button id="downloadBtn" class="btn btn-success" style="display: none;">
<i class="bi bi-file-arrow-down"></i>
下载Excel文件
</button>
</div>
<!-- 文章预览列表 -->
<div id="articlePreview" class="card article-preview" style="display: none;">
<div class="card-header">
<i class="bi bi-list-ul"></i>
已提取文章列表
<span id="articleCount" class="article-count">0篇</span>
</div>
<div class="card-body">
<div id="articleList" class="article-list"></div>
</div>
</div>
<!-- 使用说明卡片 -->
<div class="card">
<div class="card-header">
<i class="bi bi-info-circle"></i>
使用说明
</div>
<div class="card-body">
<div class="info-steps">
<div class="info-step">
<div class="step-number">1</div>
<div class="step-content">
<h4>复制URL</h4>
<p>在浏览器中打开百家号作者主页复制完整的URL地址</p>
</div>
</div>
<div class="info-step">
<div class="step-number">2</div>
<div class="step-content">
<h4>配置参数</h4>
<p>选择时间范围和代理设置如需要可填写Cookie</p>
</div>
</div>
<div class="info-step">
<div class="step-number">3</div>
<div class="step-content">
<h4>导出文章</h4>
<p>点击“即时导出”或“添加到队列”,等待处理完成</p>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
</div>
<!-- jQuery - 使用国内CDN -->
<script src="/static/js/jquery.min.js"></script>
<script src="/static/js/main.js"></script>
</body>
</html>