From 4d12b615c8aa7bb02959451e9bb198abe09b5af1 Mon Sep 17 00:00:00 2001 From: zikai <1621362626@qq.com> Date: Mon, 27 Jul 2026 17:12:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20README/package.json/vite=20=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E5=8E=BB=20iframe=20=E8=A1=A8=E8=BF=B0=EF=BC=8C?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E4=B8=BA=E6=9E=84=E5=BB=BA=E6=9C=9F=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=20import=20=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PDF 用户侧 UI 改由 zMainPage 构建期 import 本项目 App.vue 作为组件挂载(非 iframe, 与 timeTableFix 同范式)。相应更新文档与注释: - README:首页/嵌入 mainPage 小节从 iframe 描述改为组件 import;删除已废弃的 「部署到 zTools2」小节(zTools2 不再托管用户 UI,无内置实现可替换) - package.json description:iframe -> 构建期组件 import - vite.config.js 注释:去 iframe 字样,改为组件 import --- README.md | 19 +++++-------------- package.json | 2 +- vite.config.js | 2 +- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index b184c26..6df0f00 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # zPDF_package - PDF 转换前端 -上传 epub 文件转为 PDF,显示转换进度,完成后下载。复用 [zTools2](https://git.zikai.wang/zikai/zTools2) 后端 API(`/api/pdf/*`)。便携式组件,可独立运行,亦可作为 [mainPage](https://git.zikai.wang/zikai/zMainPage) 的子模块经 iframe 集成展示。 +上传 epub 文件转为 PDF,显示转换进度,完成后下载。复用 [zTools2](https://git.zikai.wang/zikai/zTools2) 后端 API(`/api/pdf/*`)。便携式组件,可独立运行,亦可作为 [mainPage](https://git.zikai.wang/zikai/zMainPage) 的子模块经构建期组件 import 集成展示(像 [timeTableFix](https://git.zikai.wang/zikai/timeTableFix))。 ## 功能 @@ -22,7 +22,7 @@ zPDF_package/ ├── .npmrc npmmirror 镜像加速 ├── src/ │ ├── main.js 应用挂载(i18n + 全局样式) -│ ├── App.vue 便携式根组件(嵌入与独立两用) +│ ├── App.vue 便携式根组件(接受 :locale prop,独立/嵌入两用) │ ├── i18n/ 独立 vue-i18n 实例 + 中英 locale │ ├── composables/ │ │ ├── usePdfApi.js API 客户端 + 进度轮询状态机(可单测) @@ -56,20 +56,11 @@ npm run build # 构建到 dist/ npm test # 单元测试(20 项) ``` -> 开发时 `/api/pdf/*` 需指向 zTools2。可配 Vite 代理,或直接由 zTools2 托管 `dist/`。 - -## 部署到 zTools2 - -zTools2 的 `/pdf` 页面(`static/pdf.html` + `pdf.js`)为内置同款实现。如需用本项目的 Vue 构建产物替换: - -```bash -cd zPDF_package && npm run build -# 把 dist/ 部署到 zTools2 静态目录(如 static/pdf_app/),改 pdf.html 引用之 -``` +> 开发时 `/api/pdf/*` 需指向 zTools2。可配 Vite 代理;生产环境由 mainPage 同源反代到 zTools2,cookie 第一方生效。 ## 嵌入 mainPage -作为 [mainPage](https://git.zikai.wang/zikai/zMainPage) 的 git submodule(`third_party/zPDF_package`),mainPage 用 iframe 嵌入 zTools2 托管的 `/pdf` 页面(同源,cookie 第一方生效,无需 CORS)。详见 mainPage 的 `docs/submodule-zPDF_package.md`。 +作为 [mainPage](https://git.zikai.wang/zikai/zMainPage) 的 git submodule(`third_party/zPDF_package`),mainPage 在构建期直接 `import` 本项目的 `src/App.vue` 作为组件挂载(非 iframe,与 [timeTableFix](https://git.zikai.wang/zikai/timeTableFix) 同范式):mainPage 侧 `src/modules/pdf/Pdf.vue` 套 `PageShell` 并透传 `:locale`;组件内 `usePdfApi.js` 同源 fetch `/api/pdf/*`,httpOnly cookie(`zk_pdf`)经反代第一方自动携带,无需 CORS。组件自身保持「无 host 依赖」:不持 `defineOptions({ name })`、不引 mainPage 的 i18n,仅靠 `:locale` prop 驱动自有 i18n 实例。详见 mainPage 的 `docs/submodule-zPDF_package.md`。 ## 技术栈 @@ -84,5 +75,5 @@ cd zPDF_package && npm run build ## 了解更多 -- [嵌入 mainPage(iframe 同源集成)](../zMainPage/docs/submodule-zPDF_package.md) +- [嵌入 mainPage(构建期组件 import)](../zMainPage/docs/submodule-zPDF_package.md) - 后端 API 与转换实现见 [zTools2](https://git.zikai.wang/zikai/zTools2) README diff --git a/package.json b/package.json index 6ab50dd..0135d2e 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "type": "module", - "description": "PDF 转换前端 -- 上传 epub 转 PDF、显示进度、下载;复用 zTools2 后端 API。便携式组件,可独立运行或经 mainPage iframe 集成。", + "description": "PDF 转换前端 -- 上传 epub 转 PDF、显示进度、下载;复用 zTools2 后端 API。便携式组件,可独立运行或经 mainPage 构建期组件 import 集成。", "scripts": { "dev": "vite", "build": "vite build", diff --git a/vite.config.js b/vite.config.js index 4b707aa..5b9f263 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' -// 便携式构建:base './' 使产物可被任意路径托管(含 zTools2 /api/static 与 mainPage iframe)。 +// 便携式构建:base './' 使产物可被任意路径托管(含 zTools2 /api/static 与 mainPage 组件 import)。 // preview 开放 f.zikai.wang 便于线上预览校验。 // dev 独立运行时,zTools2 所有入口(页面/静态/探针/WS/API)统一在 /api/ 下, // 一条 /api 代理即可覆盖 /api/pdf/* 与 /api/admin/pdf/*,保持同源调用语义。