feat: optimize task file generation and add visualization download

Backend changes:
- Disable PP-Structure debug file generation by default
- Separate raw_ocr_regions.json generation from debug flag (critical file)
- Add visualization folder download endpoint as ZIP
- Add has_visualization field to TaskDetailResponse
- Stop generating Markdown files
- Save translated PDFs to task folder with caching

Frontend changes:
- Replace JSON/MD download buttons with PDF buttons in TaskHistoryPage
- Add visualization download button in TaskDetailPage
- Fix Processing page task switching issue (reset isNotFound)

Archives two OpenSpec proposals:
- optimize-task-files-and-visualization
- simplify-frontend-add-billing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
egg
2025-12-12 19:11:50 +08:00
parent 65abd51d60
commit efa7e4175c
14 changed files with 534 additions and 97 deletions

View File

@@ -527,6 +527,22 @@ class ApiClientV2 {
window.URL.revokeObjectURL(link.href)
}
/**
* Download visualization images as ZIP (OCR Track only)
*/
async downloadVisualization(taskId: string): Promise<void> {
const response = await this.client.get(`/tasks/${taskId}/download/visualization`, {
responseType: 'blob',
})
const blob = new Blob([response.data], { type: 'application/zip' })
const link = document.createElement('a')
link.href = window.URL.createObjectURL(blob)
link.download = `${taskId}_visualization.zip`
link.click()
window.URL.revokeObjectURL(link.href)
}
// ==================== Preprocessing Preview APIs ====================
/**