Compare commits

..

1 Commits

Author SHA1 Message Date
4d12b615c8 feat: README/package.json/vite 注释去 iframe 表述,统一为构建期组件 import 集成
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
2026-07-27 17:13:28 +08:00
3 changed files with 7 additions and 16 deletions

View File

@@ -1,6 +1,6 @@
# zPDF_package - PDF 转换前端 # 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 镜像加速 ├── .npmrc npmmirror 镜像加速
├── src/ ├── src/
│ ├── main.js 应用挂载i18n + 全局样式) │ ├── main.js 应用挂载i18n + 全局样式)
│ ├── App.vue 便携式根组件(嵌入与独立两用) │ ├── App.vue 便携式根组件(接受 :locale prop独立/嵌入两用)
│ ├── i18n/ 独立 vue-i18n 实例 + 中英 locale │ ├── i18n/ 独立 vue-i18n 实例 + 中英 locale
│ ├── composables/ │ ├── composables/
│ │ ├── usePdfApi.js API 客户端 + 进度轮询状态机(可单测) │ │ ├── usePdfApi.js API 客户端 + 进度轮询状态机(可单测)
@@ -56,20 +56,11 @@ npm run build # 构建到 dist/
npm test # 单元测试20 项) npm test # 单元测试20 项)
``` ```
> 开发时 `/api/pdf/*` 需指向 zTools2。可配 Vite 代理,或直接由 zTools2 托管 `dist/` > 开发时 `/api/pdf/*` 需指向 zTools2。可配 Vite 代理;生产环境由 mainPage 同源反代到 zTools2cookie 第一方生效
## 部署到 zTools2
zTools2 的 `/pdf` 页面(`static/pdf.html` + `pdf.js`)为内置同款实现。如需用本项目的 Vue 构建产物替换:
```bash
cd zPDF_package && npm run build
# 把 dist/ 部署到 zTools2 静态目录(如 static/pdf_app/),改 pdf.html 引用之
```
## 嵌入 mainPage ## 嵌入 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
## 了解更多 ## 了解更多
- [嵌入 mainPageiframe 同源集成](../zMainPage/docs/submodule-zPDF_package.md) - [嵌入 mainPage构建期组件 import](../zMainPage/docs/submodule-zPDF_package.md)
- 后端 API 与转换实现见 [zTools2](https://git.zikai.wang/zikai/zTools2) README - 后端 API 与转换实现见 [zTools2](https://git.zikai.wang/zikai/zTools2) README

View File

@@ -3,7 +3,7 @@
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"description": "PDF 转换前端 -- 上传 epub 转 PDF、显示进度、下载复用 zTools2 后端 API。便携式组件可独立运行或经 mainPage iframe 集成。", "description": "PDF 转换前端 -- 上传 epub 转 PDF、显示进度、下载复用 zTools2 后端 API。便携式组件可独立运行或经 mainPage 构建期组件 import 集成。",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "vite build", "build": "vite build",

View File

@@ -1,7 +1,7 @@
import { defineConfig } from 'vite' import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
// 便携式构建base './' 使产物可被任意路径托管(含 zTools2 /api/static 与 mainPage iframe)。 // 便携式构建base './' 使产物可被任意路径托管(含 zTools2 /api/static 与 mainPage 组件 import)。
// preview 开放 f.zikai.wang 便于线上预览校验。 // preview 开放 f.zikai.wang 便于线上预览校验。
// dev 独立运行时zTools2 所有入口(页面/静态/探针/WS/API统一在 /api/ 下, // dev 独立运行时zTools2 所有入口(页面/静态/探针/WS/API统一在 /api/ 下,
// 一条 /api 代理即可覆盖 /api/pdf/* 与 /api/admin/pdf/*,保持同源调用语义。 // 一条 /api 代理即可覆盖 /api/pdf/* 与 /api/admin/pdf/*,保持同源调用语义。