Files
zPDF_package/docs/integration.md
zikai 25bc00ac51 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 部署说明
2026-07-28 11:12:37 +08:00

1001 B
Raw Permalink Blame History

嵌入 mainPage

zPDF_package 作为 mainPage 的 git submodulethird_party/zPDF_package),经构建期组件 import 集成(非 iframe与 timeTableFix 同范式)。

集成方式

  • mainPage 侧 src/modules/pdf/Pdf.vuePageShell 并透传 :locale
  • 构建期直接 import 本项目 src/App.vue,共享 mainPage 的构建与 KeepAlive 缓存。
  • 组件内 usePdfApi.js 同源 fetch /api/pdf/*httpOnly cookiezk_pdf)经反代第一方自动携带,无需 CORS。

便携式设计(无 host 依赖)

组件自身保持「无 host 依赖」:

  • 不持 defineOptions({ name })(避免与宿主组件名冲突)。
  • 不引 mainPage 的 i18n仅靠 :locale prop 驱动自有 i18n 实例。
  • useLocale 直接读本子项目模块级 i18n.global,而非 useI18n()(后者嵌入时会解析到宿主实例,文案回退成 key

详见 mainPage 的 docs/submodule-zPDF_package.md