@itshixun/qckeditor-vue2 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,65 @@
1
+ import { FileLoader, UploadAdapter, UploadResponse } from 'ckeditor5';
2
+ /**
3
+ * UploadAdapter 配置选项
4
+ */
5
+ export interface UploadAdapterOptions {
6
+ /** 上传接口地址 */
7
+ uploadUrl: string;
8
+ /** 自定义请求头 */
9
+ headers?: Record<string, string> | ((file: File) => Record<string, string>);
10
+ /** 是否携带 cookie */
11
+ withCredentials?: boolean;
12
+ /** 文件字段名,默认 'file' */
13
+ fieldName?: string;
14
+ /** 额外的表单数据 */
15
+ extraFormData?: Record<string, string>;
16
+ }
17
+ /**
18
+ * 创建基于 XHR 的 UploadAdapter 工厂函数
19
+ *
20
+ * 用法示例:
21
+ * ```ts
22
+ * editor.plugins.get(FileRepository).createUploadAdapter = (loader) => {
23
+ * return createXHRUploadAdapter(loader, {
24
+ * uploadUrl: 'https://api.example.com/upload',
25
+ * headers: { Authorization: 'Bearer token' },
26
+ * });
27
+ * };
28
+ * ```
29
+ */
30
+ export declare function createXHRUploadAdapter(loader: FileLoader, options: UploadAdapterOptions): UploadAdapter;
31
+ /**
32
+ * 创建 Mock UploadAdapter 工厂函数
33
+ * 用于演示环境,无需真实后端接口
34
+ */
35
+ export declare function createMockUploadAdapter(loader: FileLoader): UploadAdapter;
36
+ /**
37
+ * 自定义异步上传函数类型
38
+ * @param file 要上传的文件
39
+ * @param updateProgress 更新上传进度的回调函数,传入 0-100 的数字
40
+ * @returns 上传结果的 URL 字符串或 UploadResponse 对象
41
+ */
42
+ export type AsyncUploadFunction = (file: File, updateProgress?: (percent: number) => void) => Promise<string | UploadResponse>;
43
+ /**
44
+ * 创建基于自定义异步函数的 UploadAdapter 工厂函数
45
+ *
46
+ * 用法示例:
47
+ * ```ts
48
+ * editor.plugins.get(FileRepository).createUploadAdapter = (loader) => {
49
+ * return createAsyncUploadAdapter(loader, async (file, updateProgress) => {
50
+ * // 1. 向后端请求预签名 URL
51
+ * const { uploadUrl, finalUrl } = await fetchPresignedUrl(file.name);
52
+ *
53
+ * // 2. 使用 XMLHttpRequest 上传到对象存储,可监听进度
54
+ * await uploadToStorage(file, uploadUrl, (percent) => {
55
+ * updateProgress?.(percent);
56
+ * });
57
+ *
58
+ * // 3. 返回最终文件 URL
59
+ * return finalUrl;
60
+ * });
61
+ * };
62
+ * ```
63
+ */
64
+ export declare function createAsyncUploadAdapter(loader: FileLoader, uploadFn: AsyncUploadFunction): UploadAdapter;
65
+ //# sourceMappingURL=uploadAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadAdapter.d.ts","sourceRoot":"","sources":["../../../src/utils/uploadAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,kBAAkB;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAiHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAEvG;AA2DD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAEzE;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,IAAI,EAAE,IAAI,EACV,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KACvC,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;AA+DtC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,GAAG,aAAa,CAEzG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itshixun/qckeditor-vue2",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Vue2 components for CKEditor 5",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",