feat: 隐藏了配置Card(因为需要读取配置所以不可以删除或注释)更改了上传图标。处理完成直接跳转细节页面。更改主题色。

This commit is contained in:
肖应宇 2026-03-10 18:00:08 +08:00
parent b39e0c7f28
commit b646d9ef39
5 changed files with 97 additions and 177 deletions

View File

@ -44,11 +44,11 @@
--slate-900: #111827;
/* Indigo Palette (Primary) - Slightly more sophisticated */
--indigo-50: #eef2ff;
--indigo-100: #e0e7ff;
--indigo-500: #6366f1;
--indigo-600: #4f46e5;
--indigo-700: #4338ca;
--indigo-50: #FFFFFF;
--indigo-100: #f3f4f5;
--indigo-500: #0949ec;
--indigo-600: #003dd6;
--indigo-700: rgb(45, 32, 185);
/* Semantic Mapping */
--color-primary: var(--indigo-600);

View File

@ -543,80 +543,43 @@
<!-- 侧边栏 (Responsive) -->
<!-- ===================== -->
<aside id="appSidebar" class="app-sidebar">
<div class="px-6 py-5 flex items-center justify-between transition-all" id="sidebarHeader">
<!-- <a href="views/landing/landing-page.html" class="hover:opacity-80 transition-opacity" title="返回落地页">
<img id="sidebarLogo" src="public/h_with_name.svg" class="h-8 transition-all" alt="Paper Burner X">
</a> -->
<!-- 占位元素 -->
<span></span>
<!-- Desktop Collapse Button -->
<button id="sidebarToggleBtn" class="hidden md:flex text-slate-400 hover:text-slate-600 p-1.5 hover:bg-slate-100 rounded-md transition-colors" title="切换侧边栏">
<iconify-icon id="sidebarToggleIcon" icon="carbon:side-panel-close" width="20"></iconify-icon>
</button>
<!-- Mobile Close Button -->
<button id="sidebarCloseBtn" class="md:flex md:hidden p-2 text-slate-400 hover:text-slate-700 hover:bg-slate-100 rounded-lg transition-colors">
<iconify-icon icon="carbon:close" width="20"></iconify-icon>
</button>
</div>
<nav class="flex-1 px-3 py-4 space-y-1 overflow-y-auto custom-scrollbar overflow-x-hidden">
<div class="nav-section-title px-3 mb-2 text-[11px] font-bold text-slate-400 uppercase tracking-wider transition-opacity">
主要功能
</div>
<div class="nav-item active cursor-pointer" title="工作台">
<iconify-icon icon="carbon:dashboard" class="nav-icon"></iconify-icon>
<span class="nav-text transition-opacity">工作台</span>
</div>
<!-- 可折叠的历史记录菜单 (Split Action) -->
<div id="historyMenuContainer">
<div class="flex items-stretch mb-0.5 select-none group">
<div id="sidebarHistoryMainBtn" class="flex-1 flex items-center px-[0.875rem] py-[0.75rem] text-[0.9375rem] font-medium text-slate-600 hover:bg-slate-100 hover:text-slate-900 cursor-pointer rounded-lg transition-all" title="打开完整历史记录面板">
<iconify-icon icon="carbon:time" class="nav-icon mr-[0.75rem] text-[1.25rem] text-slate-400 group-hover:text-slate-500 transition-colors"></iconify-icon>
<span class="nav-text transition-opacity">历史记录</span>
<!-- 可折叠的历史记录菜单 (Split Action) -->
<div id="historyMenuContainer" class="mb-4">
<div
class="flex items-stretch select-none group bg-white border border-slate-200 overflow-hidden">
<div id="sidebarHistoryMainBtn"
class="flex-1 flex items-center px-4 py-3 text-sm font-medium text-slate-600 hover:bg-[#000f33] hover:text-[#ffffff] cursor-pointer transition-all"
title="打开完整历史记录面板">
<!-- <iconify-icon icon="carbon:time"
class="mr-3 text-lg text-[#000f33] group-hover:text-[#ffffff] transition-colors"></iconify-icon> -->
<span>历史记录</span>
</div>
<button id="sidebarHistoryToggleBtn"
class="flex items-center justify-center px-3 hover:bg-[#000f33] text-slate-300 hover:text-slate-500 cursor-pointer transition-colors"
title="展开/收起最近记录">
<iconify-icon icon="carbon:chevron-right" class="transition-transform duration-200"
id="sidebarHistoryChevron" width="16"></iconify-icon>
</button>
</div>
<button id="sidebarHistoryToggleBtn" class="flex items-center justify-center px-2 hover:bg-slate-100 text-slate-300 hover:text-slate-500 cursor-pointer rounded-r-lg transition-colors" title="展开/收起最近记录">
<iconify-icon icon="carbon:chevron-right" class="transition-transform duration-200" id="sidebarHistoryChevron" width="16"></iconify-icon>
</button>
</div>
<div id="sidebarHistoryQuickList" class="hidden py-1 space-y-0.5 pl-2 transition-all">
<!-- JS 将在此处填充最近记录 -->
<div class="px-3 py-2 text-xs text-slate-400 text-center">加载中...</div>
</div>
</div>
<div id="sidebarHistoryQuickList"
class="hidden py-1 space-y-0.5 pl-2 transition-all bg-white border border-slate-200">
<!-- JS 将在此处填充最近记录 -->
<div class="px-3 py-2 text-xs text-slate-400 text-center">加载中...</div>
</div>
</div>
<div class="my-4 border-t border-slate-100 mx-3 transition-all" id="sidebarDivider"></div>
<!-- <div class="nav-section-title px-3 mb-2 text-[11px] font-bold text-slate-400 uppercase tracking-wider transition-opacity">
系统
</div>
<div id="sidebarSettingsBtn" class="nav-item cursor-pointer" title="全局设置">
<iconify-icon icon="carbon:settings" class="nav-icon"></iconify-icon>
<span class="nav-text transition-opacity">全局设置</span>
</div> -->
</nav>
<!-- 删除界面会加载不出来 -->
<div class="p-3 transition-all" id="sidebarFooter">
<div class="p-4 overflow-hidden">
</div>
<div class="text-center py-1 mt-1 nav-text transition-opacity">
<span id="showCopyrightModal" class="text-[11px] text-slate-400 hover:text-slate-600 transition-colors cursor-pointer select-none">
</span>
</div>
</div>
<!-- 收起状态的底部按钮 -->
<div id="sidebarFooterCollapsed" class="hidden flex-col items-center p-3">
<a href="https://github.com/Feather-2/paper-burner" target="_blank" class="w-10 h-10 flex items-center justify-center text-slate-400 hover:text-slate-600 transition-colors" title="GitHub 仓库">
<iconify-icon icon="mdi:github" width="28"></iconify-icon>
</a>
</div>
</aside>
<!-- ===================== -->
<!-- 主内容区 -->
<!-- ===================== -->
<main class="app-main flex flex-col">
<!-- 移动端 Header -->
<!-- 移动端 Header
<header class="md:hidden bg-white/80 backdrop-blur-md border-b border-slate-200 px-4 py-3 flex items-center justify-between sticky top-0 z-10">
<a href="views/landing/landing-page.html" class="text-lg font-bold flex items-center gap-2 text-slate-800">
<img src="public/pure.svg" class="w-7 h-7" alt="PBX Logo">
@ -630,7 +593,7 @@
<iconify-icon icon="carbon:menu" width="24"></iconify-icon>
</button>
</div>
</header>
</header> -->
<!-- 滚动内容容器 -->
<div class="flex-1 overflow-y-auto custom-scrollbar">
@ -639,7 +602,7 @@
<!-- ===================== -->
<!-- 顶部欢迎区 (Modern Dashboard Style) -->
<!-- ===================== -->
<div class="workspace-header">
<!-- <div class="workspace-header">
<div class="workspace-header-content">
<h1 class="text-3xl md:text-4xl font-bold text-slate-900 mb-4 tracking-tight" style="color: var(--slate-900);">
可学可学可学可学可学测试提交后vercel更新是否成功
@ -648,7 +611,7 @@
配置多种OCR 引擎与 AI 翻译模型。上传文档后Paper Burner X将给您流畅的阅读与处理体验。
</p>
</div>
</div>
</div> -->
<!-- ===================== -->
<!-- 主功能区 -->
@ -660,8 +623,8 @@
<!-- ===================== -->
<!-- 卡片 1: OCR 文档解析 -->
<!-- ===================== -->
<div class="modern-card p-4 md:p-6">
<!--
<div class="modern-card p-4 md:p-6 hidden">
<div class="mb-6">
<h2 class="text-xl font-semibold text-gray-800 mb-4 flex items-center">
<iconify-icon icon="carbon:api" class="mr-2 text-indigo-500" width="24"></iconify-icon>
@ -682,12 +645,12 @@
</div>
</div>
</div>
-->
<!-- ===================== -->
<!-- OCR 设置 -->
<!-- ===================== -->
<div>
<div>
<div class="section-header justify-between">
<h2 class="section-title">
<div class="w-9 h-9 rounded-xl bg-gradient-to-br from-indigo-50 to-indigo-100/80 border border-indigo-100 text-indigo-600 flex items-center justify-center mr-3 shadow-sm" style="background: var(--indigo-50); color: var(--color-primary); border-color: var(--indigo-100);">
@ -695,14 +658,14 @@
</div>
OCR 文档解析
</h2>
<!-- <div class="flex items-center">
<div class="flex items-center">
<span id="flashConfigTip" class="flash-tip-anim text-sm font-medium mr-2" style="color: var(--color-primary);">配置模型与Key</span>
<button id="modelKeyManagerBtn" class="flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium text-slate-600 bg-slate-100 hover:bg-slate-200 rounded-lg transition-colors" title="模型与Key管理">
<iconify-icon icon="carbon:settings" width="18"></iconify-icon>
<span>设置</span>
</button>
</div> -->
</div>
</div>
</div>
<!-- OCR 引擎选择(简化版) -->
<div>
@ -717,10 +680,10 @@
<div id="localOcrHint" class="text-xs text-gray-500 mt-1 hidden">
<strong>本地解析</strong>:适用于文字型 PDF非扫描件免费且快速但不支持图片和复杂排版的识别
</div>
</div>
</div>
<!-- MinerU 翻译模式配置(仅当选择 MinerU 时显示) -->
<div id="mineruTranslationModeConfig" class="hidden mt-4">
<div id="mineruTranslationModeConfig" class="hidden mt-4">
<div class="border border-gray-200 rounded-lg bg-gray-50 p-4">
<label class="block text-sm font-medium text-gray-700 mb-3">MinerU 翻译模式</label>
<div class="space-y-2">
@ -740,14 +703,14 @@
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div><!-- /.modern-card (OCR) -->
<!-- ===================== -->
<!-- 卡片 2: 翻译与分析 -->
<!-- ===================== -->
<div class="modern-card p-4 md:p-6">
<div class="modern-card p-4 md:p-6 hidden">
<div class="section-header">
<h2 class="section-title">
<div class="w-9 h-9 rounded-xl border flex items-center justify-center mr-3 shadow-sm" style="background: var(--indigo-50); color: var(--color-primary); border-color: var(--indigo-100);">
@ -990,7 +953,7 @@
<!-- ===================== -->
<!-- 卡片 3: 高级设置 -->
<!-- ===================== -->
<div class="modern-card p-4 md:p-6">
<div class="modern-card p-4 md:p-6 hidden">
<!-- 展开/收起高级设置的头部 -->
<div id="advancedSettingsToggle" class="section-header justify-between cursor-pointer select-none hover:opacity-80 transition-opacity -mb-4 pb-4">
<h2 class="section-title">
@ -1237,7 +1200,7 @@
<div class="section-header justify-between">
<h2 class="section-title">
<div class="w-9 h-9 rounded-xl text-white flex items-center justify-center mr-3 shadow-md" style="background: var(--color-primary); box-shadow: var(--shadow-sm);">
<iconify-icon icon="carbon:cloud-upload" width="20"></iconify-icon>
<iconify-icon icon="mdi:upload" width="20"></iconify-icon>
</div>
文件上传
</h2>
@ -1253,7 +1216,7 @@
<input type="file" id="folderInput" class="hidden" webkitdirectory mozdirectory multiple>
<div class="mx-auto mb-4 w-20 h-20 flex items-center justify-center rounded-full transition-all duration-300" style="background-color: var(--indigo-50); color: var(--color-primary);">
<iconify-icon icon="carbon:cloud-upload" width="40"></iconify-icon>
<iconify-icon icon="mdi:upload" width="40"></iconify-icon>
</div>
<h3 class="text-lg font-semibold text-slate-700 mb-2">点击或拖拽文件到此处</h3>
<p class="text-sm text-slate-500 mb-6 max-w-md mx-auto">
@ -1270,17 +1233,6 @@
选择文件夹
</button>
</div>
<div class="mt-4 flex flex-wrap justify-center gap-4 text-sm">
<button id="urlImportBtn" class="text-slate-500 hover:text-purple-600 transition-colors flex items-center gap-1.5">
<iconify-icon icon="carbon:link" width="16"></iconify-icon>
URL 导入
</button>
<span class="text-slate-300">|</span>
<button id="githubImportBtn" class="text-slate-500 hover:text-slate-800 transition-colors flex items-center gap-1.5">
<iconify-icon icon="carbon:logo-github" width="16"></iconify-icon>
GitHub 导入
</button>
</div>
</div>
<!-- 已选文件列表 -->
@ -1452,12 +1404,6 @@
<span>下载全部结果 (ZIP)</span>
</button>
</div>
<!-- Moved disclaimer text inside the scrollable container -->
<div class="flex justify-center mt-8 mb-6">
<p class="text-center text-gray-400 text-xs select-none px-4">
注意AI 模型翻译结果仅供参考,最终内容请以原文为准
</p>
</div>
</div>
</div><!-- /#mainAppContainer -->
</div><!-- /.flex-1.overflow-y-auto -->

View File

@ -7,7 +7,7 @@
<title>Paper Burner X - AI文献阅读与智能分析平台</title>
<link rel="icon" type="image/svg+xml" href="public/pure.svg">
<!-- CDN 性能优化DNS 预连接 - 提前建立连接,节省 100-300ms --> <link rel="dns-prefetch" href="https://gcore.jsdelivr.net"> <link rel="preconnect" href="https://gcore.jsdelivr.net" crossorigin> <link rel="dns-prefetch" href="https://cdnjs.cloudflare.com"> <link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin> <link rel="dns-prefetch" href="https://cdn.tailwindcss.com"> <link rel="preconnect" href="https://cdn.tailwindcss.com" crossorigin>
123
<!-- XSS 防护DOMPurify - 用于清理 AI 生成的 HTML 内容 -->
<script src="https://gcore.jsdelivr.net/npm/dompurify@3.0.6/dist/purify.min.js"></script>
@ -231,7 +231,7 @@
pointer-events: none;
}
/* 新增:右侧大 Logo 背景装饰 */
.workspace-header::after {
/* .workspace-header::after {
content: '';
position: absolute;
right: -20px;
@ -242,10 +242,11 @@
background-repeat: no-repeat;
background-position: center;
background-size: contain;
opacity: 0.07; /* 极低透明度,仅作纹理 */
极低透明度,仅作纹理
opacity: 0.07;
transform: rotate(-10deg);
pointer-events: none;
}
} */
.workspace-header-content {
position: relative;
z-index: 1;
@ -532,30 +533,7 @@
</style>
</head>
<body class="bg-slate-50 min-h-screen">
<script>
// 可选:每天一次跳转到落地页(仅在非后端模式且未强制 backend 时启用)
(function() {
try {
var currentPath = window.location.pathname;
// 如果明确进入后端模式(通过查询参数或全局变量),则不跳转落地页,避免影响使用
var params = new URLSearchParams(window.location.search);
var forcedMode = (params.get('mode') || '').toLowerCase();
var envMode = (window.ENV_DEPLOYMENT_MODE || '').toLowerCase();
var shouldSkip = (forcedMode === 'backend') || (envMode === 'backend');
if (shouldSkip) return;
if (currentPath.indexOf('landing-page.html') !== -1) return;
var today = new Date().toDateString();
var lastShownDate = localStorage.getItem('paperBurnerLandingLastShown');
if (lastShownDate !== today) {
localStorage.setItem('paperBurnerLandingLastShown', today);
var basePath = currentPath.substring(0, currentPath.lastIndexOf('/') + 1);
window.location.href = basePath + 'views/landing/landing-page.html';
}
} catch (e) { /* ignore */ }
})();
</script>
<!-- Mobile Sidebar Overlay -->
<div id="sidebarOverlay" class="sidebar-overlay md:hidden"></div>
@ -566,9 +544,11 @@
<!-- ===================== -->
<aside id="appSidebar" class="app-sidebar">
<div class="px-6 py-5 flex items-center justify-between transition-all" id="sidebarHeader">
<a href="views/landing/landing-page.html" class="hover:opacity-80 transition-opacity" title="返回落地页">
<!-- <a href="views/landing/landing-page.html" class="hover:opacity-80 transition-opacity" title="返回落地页">
<img id="sidebarLogo" src="public/h_with_name.svg" class="h-8 transition-all" alt="Paper Burner X">
</a>
</a> -->
<!-- 占位元素 -->
<span></span>
<!-- Desktop Collapse Button -->
<button id="sidebarToggleBtn" class="hidden md:flex text-slate-400 hover:text-slate-600 p-1.5 hover:bg-slate-100 rounded-md transition-colors" title="切换侧边栏">
<iconify-icon id="sidebarToggleIcon" icon="carbon:side-panel-close" width="20"></iconify-icon>
@ -579,13 +559,7 @@
</button>
</div>
<nav class="flex-1 px-3 py-4 space-y-1 overflow-y-auto custom-scrollbar overflow-x-hidden">
<div class="nav-section-title px-3 mb-2 text-[11px] font-bold text-slate-400 uppercase tracking-wider transition-opacity">
主要功能
</div>
<div class="nav-item active cursor-pointer" title="工作台">
<iconify-icon icon="carbon:dashboard" class="nav-icon"></iconify-icon>
<span class="nav-text transition-opacity">工作台</span>
</div>
<!-- 可折叠的历史记录菜单 (Split Action) -->
<div id="historyMenuContainer">
@ -605,34 +579,22 @@
</div>
<div class="my-4 border-t border-slate-100 mx-3 transition-all" id="sidebarDivider"></div>
<div class="nav-section-title px-3 mb-2 text-[11px] font-bold text-slate-400 uppercase tracking-wider transition-opacity">
<!-- <div class="nav-section-title px-3 mb-2 text-[11px] font-bold text-slate-400 uppercase tracking-wider transition-opacity">
系统
</div>
<div id="sidebarSettingsBtn" class="nav-item cursor-pointer" title="全局设置">
<iconify-icon icon="carbon:settings" class="nav-icon"></iconify-icon>
<span class="nav-text transition-opacity">全局设置</span>
</div>
</div> -->
</nav>
<!-- 删除界面会加载不出来 -->
<div class="p-3 transition-all" id="sidebarFooter">
<div class="p-4 bg-slate-50 rounded-2xl border border-slate-100 overflow-hidden">
<a href="https://github.com/Feather-2/paper-burner" target="_blank" class="flex items-start gap-3 hover:opacity-80 transition-opacity" title="GitHub 仓库">
<div class="w-10 h-10 rounded-xl bg-white border border-slate-200 flex items-center justify-center text-slate-400 shadow-sm shrink-0">
<iconify-icon icon="carbon:logo-github" width="24"></iconify-icon>
</div>
<div class="flex-1 min-w-0 nav-text transition-opacity">
<div class="flex items-center gap-1.5 mb-1">
<span id="githubStars" class="inline-flex items-center gap-1 text-xs text-slate-500 bg-slate-100 px-2 py-0.5 rounded-full">
<iconify-icon icon="carbon:star" width="10"></iconify-icon>
<span>加载中...</span>
</span>
</div>
<p class="text-xs text-slate-500">支持自部署,欢迎星标</p>
</div>
</a>
<div class="p-4 overflow-hidden">
</div>
<div class="text-center py-1 mt-1 nav-text transition-opacity">
<span id="showCopyrightModal" class="text-[11px] text-slate-400 hover:text-slate-600 transition-colors cursor-pointer select-none">
Paper Burner X 丨 关于
</span>
</div>
</div>
@ -648,7 +610,7 @@
<!-- 主内容区 -->
<!-- ===================== -->
<main class="app-main flex flex-col">
<!-- 移动端 Header -->
<!-- 移动端 Header
<header class="md:hidden bg-white/80 backdrop-blur-md border-b border-slate-200 px-4 py-3 flex items-center justify-between sticky top-0 z-10">
<a href="views/landing/landing-page.html" class="text-lg font-bold flex items-center gap-2 text-slate-800">
<img src="public/pure.svg" class="w-7 h-7" alt="PBX Logo">
@ -662,7 +624,7 @@
<iconify-icon icon="carbon:menu" width="24"></iconify-icon>
</button>
</div>
</header>
</header> -->
<!-- 滚动内容容器 -->
<div class="flex-1 overflow-y-auto custom-scrollbar">
@ -671,7 +633,7 @@
<!-- ===================== -->
<!-- 顶部欢迎区 (Modern Dashboard Style) -->
<!-- ===================== -->
<div class="workspace-header">
<!-- <div class="workspace-header">
<div class="workspace-header-content">
<h1 class="text-3xl md:text-4xl font-bold text-slate-900 mb-4 tracking-tight" style="color: var(--slate-900);">
可学可学可学可学可学测试提交后vercel更新是否成功
@ -680,7 +642,7 @@
配置多种OCR 引擎与 AI 翻译模型。上传文档后Paper Burner X将给您流畅的阅读与处理体验。
</p>
</div>
</div>
</div> -->
<!-- ===================== -->
<!-- 主功能区 -->
@ -692,8 +654,8 @@
<!-- ===================== -->
<!-- 卡片 1: OCR 文档解析 -->
<!-- ===================== -->
<div class="modern-card p-4 md:p-6">
<!--
<div class="modern-card p-4 md:p-6 hidden">
<div class="mb-6">
<h2 class="text-xl font-semibold text-gray-800 mb-4 flex items-center">
<iconify-icon icon="carbon:api" class="mr-2 text-indigo-500" width="24"></iconify-icon>
@ -714,12 +676,12 @@
</div>
</div>
</div>
-->
<!-- ===================== -->
<!-- OCR 设置 -->
<!-- ===================== -->
<div>
<div>
<div class="section-header justify-between">
<h2 class="section-title">
<div class="w-9 h-9 rounded-xl bg-gradient-to-br from-indigo-50 to-indigo-100/80 border border-indigo-100 text-indigo-600 flex items-center justify-center mr-3 shadow-sm" style="background: var(--indigo-50); color: var(--color-primary); border-color: var(--indigo-100);">
@ -734,7 +696,7 @@
<span>设置</span>
</button>
</div>
</div>
</div>
<!-- OCR 引擎选择(简化版) -->
<div>
@ -749,10 +711,10 @@
<div id="localOcrHint" class="text-xs text-gray-500 mt-1 hidden">
<strong>本地解析</strong>:适用于文字型 PDF非扫描件免费且快速但不支持图片和复杂排版的识别
</div>
</div>
</div>
<!-- MinerU 翻译模式配置(仅当选择 MinerU 时显示) -->
<div id="mineruTranslationModeConfig" class="hidden mt-4">
<div id="mineruTranslationModeConfig" class="hidden mt-4">
<div class="border border-gray-200 rounded-lg bg-gray-50 p-4">
<label class="block text-sm font-medium text-gray-700 mb-3">MinerU 翻译模式</label>
<div class="space-y-2">
@ -772,14 +734,14 @@
</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div><!-- /.modern-card (OCR) -->
<!-- ===================== -->
<!-- 卡片 2: 翻译与分析 -->
<!-- ===================== -->
<div class="modern-card p-4 md:p-6">
<div class="modern-card p-4 md:p-6 hidden">
<div class="section-header">
<h2 class="section-title">
<div class="w-9 h-9 rounded-xl border flex items-center justify-center mr-3 shadow-sm" style="background: var(--indigo-50); color: var(--color-primary); border-color: var(--indigo-100);">
@ -1022,7 +984,7 @@
<!-- ===================== -->
<!-- 卡片 3: 高级设置 -->
<!-- ===================== -->
<div class="modern-card p-4 md:p-6">
<div class="modern-card p-4 md:p-6 hidden">
<!-- 展开/收起高级设置的头部 -->
<div id="advancedSettingsToggle" class="section-header justify-between cursor-pointer select-none hover:opacity-80 transition-opacity -mb-4 pb-4">
<h2 class="section-title">
@ -1516,6 +1478,8 @@
<script src="js/utils/github-stars.js"></script>
<!-- 自动探测后端:若 /api/健康检查通过将切换为 backend也可用 ?mode=backend 强制 -->
<script>window.ENV_DEPLOYMENT_MODE = 'auto';</script>
<!-- 代理服务器地址统一配置(必须在其他 API 相关脚本之前加载) -->
<script src="js/config/proxy-config.js"></script>
<script src="js/api/api.js?v=2"></script>
<script src="js/storage/storage.js"></script>
<!-- 先初始化存储适配器(提供 isFrontendMode 标记) -->

View File

@ -1119,7 +1119,7 @@ function refreshFormatFilters() {
`);
});
fragments.push('<div class="flex-grow"></div><button type="button" id="resetFormatFilters" class="text-xs text-blue-600">重置</button>');
// fragments.push('<div class="flex-grow"></div><button type="button" id="resetFormatFilters" class="text-xs text-blue-600">重置</button>');
container.innerHTML = `<div class="flex flex-wrap gap-2 items-center">${fragments.join('')}</div>`;
}
@ -1868,7 +1868,8 @@ async function handleProcessClick() {
retryAttempts.clear();
allResults = new Array(filesToProcess.length);
updateProcessButtonState(pdfFiles, isProcessing);
showProgressSection();
// 隐藏处理进度
// showProgressSection();
addProgressLog('=== 开始批量处理 ===');
// 5. 获取并发和重试设置等...
@ -2131,8 +2132,17 @@ async function handleProcessClick() {
activeBatchSession = null;
isProcessing = false;
updateProcessButtonState(pdfFiles, isProcessing);
showResultsSection(successCount, skippedCount, errorCount, filesToProcess.length);
// 不显示处理完成
// showResultsSection(successCount, skippedCount, errorCount, filesToProcess.length);
saveProcessedFilesRecord(processedFilesRecord);
// 跳转到历史细节界面
const successfulResult = allResults.find(r => r && r.file && !r.error && !r.skipped);
if (filesToProcess.length === 1 && successfulResult && successfulResult.file) {
const recordId = `${successfulResult.file.name}_${successfulResult.file.size}`;
window.location.href = `views/history/history_detail.html?id=${encodeURIComponent(recordId)}`;
} else {
window.location.href = 'history.html';
}
allResults = allResults.filter(r => r !== undefined && r !== null);
console.log("Final results count:", allResults.length);

View File

@ -63,8 +63,8 @@ document.addEventListener('DOMContentLoaded', function() {
const timeStr = `${timeObj.getMonth() + 1}/${timeObj.getDate()} ${String(timeObj.getHours()).padStart(2, '0')}:${String(timeObj.getMinutes()).padStart(2, '0')}`;
return `
<div class="group flex items-center gap-2 px-2 py-1.5 text-[13px] text-slate-600 hover:bg-slate-100 hover:text-slate-900 transition-colors cursor-pointer rounded-md mx-2 mb-0.5" onclick="showHistoryDetail('${safeId}')" title="${name}\n${timeObj.toLocaleString()}">
<iconify-icon icon="carbon:document" width="14" class="flex-shrink-0 text-slate-400 group-hover:text-slate-500 transition-colors"></iconify-icon>
<div class="group flex items-center gap-2 px-2 py-1.5 text-[13px] text-[#000f33] hover:bg-[#000f33] hover:text-[#ffffff] transition-colors cursor-pointer rounded-md mx-2 mb-0.5" onclick="showHistoryDetail('${safeId}')" title="${name}\n${timeObj.toLocaleString()}">
<span class="truncate flex-1">${name}</span>
<span class="text-[10px] text-slate-400 flex-shrink-0 opacity-0 group-hover:opacity-100 transition-opacity">${timeStr}</span>
</div>