From 16d7ecd172a8c8519c03866014f445e9389c19b3 Mon Sep 17 00:00:00 2001 From: rjl <98n9@163.com> Date: Wed, 28 Jan 2026 18:00:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(template):=20=E6=96=B0=E5=A2=9E=E7=AD=94?= =?UTF-8?q?=E9=A2=98=E5=8D=A1=E6=A8=A1=E6=9D=BF=E7=BC=96=E8=BE=91=E5=99=A8?= =?UTF-8?q?=E5=8F=8A=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增模板详情页面,支持上传PDF/图片作为底稿,并生成可拖拽调整的区域 - 新增模板类型定义、上传钩子及画布组件,支持批量生成区域、旋转、对齐参考线等功能 - 更新模板列表页,适配新的API接口并增加删除功能 - 更新OSS工具函数,修复上传凭证处理逻辑 - 更新公共类型定义,调整分页查询返回结构 - 移除旧的书籍相关API文件,替换为模板API - 更新依赖项,添加pdfjs-dist、vue3-draggable-resizable等库 - 隐藏页面底部,优化界面显示 --- apps/admin/package.json | 5 + .../common/rest-upload/rest-upload.vue | 5 +- apps/admin/src/service/api/book.ts | 219 ---------- apps/admin/src/service/api/template.ts | 39 +- apps/admin/src/service/api/upload.ts | 4 +- apps/admin/src/theme/settings.ts | 2 +- apps/admin/src/typings/api/common.d.ts | 4 +- apps/admin/src/typings/api/template.d.ts | 17 + apps/admin/src/utils/oss.ts | 15 +- .../template-detail/hooks/useUpload.ts | 187 ++++++++ .../views/template/template-detail/index.vue | 177 +++++++- .../modules/TemplateCanvas.vue | 406 ++++++++++++++++++ .../modules/TemplateSettings.vue | 140 ++++++ .../views/template/template-detail/types.ts | 35 ++ .../views/template/template-list/index.vue | 50 ++- apps/admin/tsconfig.tsbuildinfo | 1 + pnpm-lock.yaml | 167 +++++++ 17 files changed, 1207 insertions(+), 266 deletions(-) delete mode 100644 apps/admin/src/service/api/book.ts create mode 100644 apps/admin/src/views/template/template-detail/hooks/useUpload.ts create mode 100644 apps/admin/src/views/template/template-detail/modules/TemplateCanvas.vue create mode 100644 apps/admin/src/views/template/template-detail/modules/TemplateSettings.vue create mode 100644 apps/admin/src/views/template/template-detail/types.ts create mode 100644 apps/admin/tsconfig.tsbuildinfo diff --git a/apps/admin/package.json b/apps/admin/package.json index 62e1965..6ce75d6 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -25,6 +25,7 @@ }, "dependencies": { "@better-scroll/core": "2.5.1", + "@formkit/auto-animate": "^0.9.0", "@iconify/vue": "5.0.0", "@opentiny/fluent-editor": "^4.0.1", "@sa/axios": "workspace:*", @@ -32,7 +33,9 @@ "@sa/hooks": "workspace:*", "@sa/materials": "workspace:*", "@sa/utils": "workspace:*", + "@sapphire/snowflake": "^3.5.5", "@vueuse/core": "14.1.0", + "@zumer/snapdom": "^2.0.1", "ali-oss": "^6.23.0", "clipboard": "2.0.11", "dayjs": "1.11.19", @@ -42,6 +45,7 @@ "naive-ui": "2.43.2", "nprogress": "0.2.0", "path-browserify": "^1.0.1", + "pdfjs-dist": "^5.4.530", "pinia": "3.0.4", "quill-toolbar-tip": "^0.1.0", "tailwind-merge": "3.4.0", @@ -49,6 +53,7 @@ "vue-draggable-plus": "0.6.0", "vue-i18n": "11.2.7", "vue-router": "4.6.4", + "vue3-draggable-resizable": "^1.6.5", "xlsx": "^0.18.5" }, "devDependencies": { diff --git a/apps/admin/src/components/common/rest-upload/rest-upload.vue b/apps/admin/src/components/common/rest-upload/rest-upload.vue index e929699..543e5ba 100644 --- a/apps/admin/src/components/common/rest-upload/rest-upload.vue +++ b/apps/admin/src/components/common/rest-upload/rest-upload.vue @@ -274,7 +274,7 @@ async function uploadFile(myFile: FileItem): Promise { throw new Error('获取上传凭证失败') } // 初始化OSS客户端 - const client = initOSSClient(tokenData) + const client = initOSSClient(tokenData?.data || {}) let path = typeof props.path === 'string' ? '' : `temp/${Date.now()}` path = browserPathJoin(path, myFile.file!.name) // 上传文件 @@ -397,8 +397,7 @@ defineExpose({ reset, getLoadState: () => upLoading.value }) class="absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/50 p-1" >