diff --git a/packages/uploader-server/CHANGELOG.md b/packages/uploader-server/CHANGELOG.md index 5286d79..1da3abe 100644 --- a/packages/uploader-server/CHANGELOG.md +++ b/packages/uploader-server/CHANGELOG.md @@ -1,4 +1,4 @@ -## 0.3.17 (December 22, 2025) +## 0.3.18 (December 22, 2025) - feat(uploader): add headless API for programmatic control diff --git a/packages/uploader-server/package.json b/packages/uploader-server/package.json index d5ee812..5995d53 100644 --- a/packages/uploader-server/package.json +++ b/packages/uploader-server/package.json @@ -1,6 +1,6 @@ { "name": "@blocklet/uploader-server", - "version": "0.3.17", + "version": "0.3.18", "description": "blocklet upload server", "publishConfig": { "access": "public" diff --git a/packages/uploader-server/version b/packages/uploader-server/version index 6e46293..f43e370 100644 --- a/packages/uploader-server/version +++ b/packages/uploader-server/version @@ -1 +1 @@ -0.3.17 \ No newline at end of file +0.3.18 \ No newline at end of file diff --git a/packages/uploader/CHANGELOG.md b/packages/uploader/CHANGELOG.md index 698e4e8..222b8bb 100644 --- a/packages/uploader/CHANGELOG.md +++ b/packages/uploader/CHANGELOG.md @@ -1,4 +1,5 @@ -## 0.3.17 (December 22, 2025) +## 0.3.18 (December 22, 2025) + - feat(uploader): add headless API for programmatic control diff --git a/packages/uploader/package.json b/packages/uploader/package.json index 23410a1..00def13 100644 --- a/packages/uploader/package.json +++ b/packages/uploader/package.json @@ -1,6 +1,6 @@ { "name": "@blocklet/uploader", - "version": "0.3.17", + "version": "0.3.18", "description": "blocklet upload component", "publishConfig": { "access": "public" diff --git a/packages/uploader/src/react/uploader.tsx b/packages/uploader/src/react/uploader.tsx index ada40a2..b6be5e1 100644 --- a/packages/uploader/src/react/uploader.tsx +++ b/packages/uploader/src/react/uploader.tsx @@ -923,6 +923,7 @@ export function Uploader({ source, }); }); + if (autoUpload) { state.uppy.upload(); } @@ -996,17 +997,11 @@ export function Uploader({ getUploader: () => state.uppy, open, close, + // Headless API triggerFileInput, getDropzoneProps, - addFiles: (files: File[], options?: { autoUpload?: boolean }) => { - addFilesToUppy(files, 'local', options?.autoUpload !== false); - }, - upload: () => state.uppy.upload(), - getProgress: () => state.uppy.getState().totalProgress, - getFiles: () => state.uppy.getFiles(), - removeFile: (fileId: string) => state.uppy.removeFile(fileId), - cancelAll: () => state.uppy.cancelAll(), + addFilesToUppy, } as UploaderRef) ); diff --git a/packages/uploader/src/types.ts b/packages/uploader/src/types.ts index 1b826ef..beb393f 100644 --- a/packages/uploader/src/types.ts +++ b/packages/uploader/src/types.ts @@ -16,28 +16,12 @@ export interface DropzoneProps { } export type UploaderRef = { - /** 获取底层 Uppy 实例 */ getUploader: () => Uppy; - /** 打开上传器 (Dashboard) */ open: (pluginName?: string) => void; - /** 关闭上传器 */ close: () => void; - /** 触发系统文件选择器 */ triggerFileInput: (options?: { accept?: string; multiple?: boolean; autoUpload?: boolean }) => void; - /** 获取拖拽区域 props,绑定到元素即可支持拖拽+点击上传 */ getDropzoneProps: (options?: { autoUpload?: boolean; noClick?: boolean }) => DropzoneProps; - /** 批量添加文件 */ - addFiles: (files: File[], options?: { autoUpload?: boolean }) => void; - /** 开始上传 */ - upload: () => Promise; - /** 获取当前总进度 0-100 */ - getProgress: () => number; - /** 获取当前文件列表 */ - getFiles: () => UppyFile[]; - /** 移除指定文件 */ - removeFile: (fileId: string) => void; - /** 取消所有上传 */ - cancelAll: () => void; + addFilesToUppy: (files: File[], source: string, autoUpload: boolean) => void; }; export type UploaderProps = { diff --git a/packages/uploader/version b/packages/uploader/version index 6e46293..f43e370 100644 --- a/packages/uploader/version +++ b/packages/uploader/version @@ -1 +1 @@ -0.3.17 \ No newline at end of file +0.3.18 \ No newline at end of file