refactor: 清理死代码 + 提前失败 + 错误记录控制台

- downloadUrl 提升为顶层纯函数导出, JobList 不再为此实例化整个 api 对象
- createPdfApi 返回对象移除内部用的 getJob / downloadUrl (高内聚)
- useLocale 移除未用的 isZh/pick 返回值
- 移除 4 个死 i18n key (upload.uploading/submitted/failed/networkError)
- App.vue: import {watch} 提升至顶部; onDelete 补 try/catch + console.error
- usePdfApi: pollPending 单任务失败补 console.warn; uploadFile 响应解析失败补 console.error
- docs: 新增 error-handling.md / integration.md (嵌入细节从 README 移入)
- README: 修正 dev 端口 5173->5175; 补 apache2 部署说明
This commit is contained in:
2026-07-28 11:12:37 +08:00
parent cfbf4ad2b4
commit 25bc00ac51
10 changed files with 71 additions and 35 deletions

View File

@@ -6,6 +6,7 @@ import {
fmtBytes,
validateFile,
uploadFile,
downloadUrl,
} from '../src/composables/usePdfApi.js'
describe('isTerminal', () => {
@@ -94,8 +95,7 @@ describe('createPdfApi', () => {
})
it('downloadUrl 生成路径', () => {
const api = createPdfApi({ fetch: vi.fn() })
expect(api.downloadUrl(3)).toBe('/api/pdf/jobs/3/download')
expect(downloadUrl(3)).toBe('/api/pdf/jobs/3/download')
})
it('pollPending 无未完成任务立即 onDone', () => {