@jetprint/editor-sdk 1.2.4 → 1.2.6

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.
package/dist/types.d.ts CHANGED
@@ -139,6 +139,8 @@ export type AddToCartSubmitResult = {
139
139
  msg?: string;
140
140
  addedCount?: number;
141
141
  psTaskCode?: string;
142
+ /** 后端 PS 任务的设计字符串 ID(加购接口返回),宿主用于后台渲染 record 归属与恢复回报 */
143
+ psTaskId?: string;
142
144
  };
143
145
  export type AddToCartFetchDetailResult = {
144
146
  ok: true;
@@ -212,7 +214,7 @@ export type EditorOptions = {
212
214
  * 可指向自家 OSS 或本地 public 目录(如 '/imgly/dist/')。
213
215
  */
214
216
  backgroundRemoveModelUrl?: string;
215
- /** 自动抠图 · 模型变体,默认 'isnet_quint8'42MB,体积小一半)。 */
217
+ /** 自动抠图 · 模型变体(@imgly 1.7.0):'isnet_fp16' 质量最好(84MB) / 'isnet_quint8' 体积小一半(42MB) / 'isnet'。默认 'isnet_quint8'。 */
216
218
  backgroundRemoveModel?: 'isnet' | 'isnet_fp16' | 'isnet_quint8';
217
219
  /**
218
220
  * theme1「上传」Tab:用户通过内置 file input 选图后,将 `File` 交给宿主上传;完成后请调用编辑器 `defineExpose` 的 `addImageFromUrl(url)` 加入画布。
@@ -275,6 +277,33 @@ export type DiecutStateMapResult = {
275
277
  selectedSizes?: string[];
276
278
  /** 当前模板模式:'COMPLETE'(单片)或 'SPLIT'(多片) */
277
279
  selectedMode: 'COMPLETE' | 'SPLIT';
280
+ /** 特殊设计模式:none(正常) | embroidery(刺绣) | pillow3d(异形抱枕);P1 模式开关,随设计保存、加载还原 */
281
+ specialMode?: 'none' | 'embroidery' | 'pillow3d';
282
+ /** typeModel = specialMode 别名;Go 还原生成图时据此分派三种模式生成不同生产图 */
283
+ typeModel?: 'none' | 'embroidery' | 'pillow3d';
284
+ /** 刺绣意图数据(仅 specialMode==='embroidery'):色块+针法+量化参数,供后端确定性重建区域并生成刺绣文件 */
285
+ embroidery?: {
286
+ version: number;
287
+ /** 被刺绣化的原图来源 src */
288
+ sourceSrc: string;
289
+ /** 量化色数 + 颜色组合并阈值(Lab ΔE) + 工作尺寸;后端用同参数对原图确定性重量化得到相同色组 */
290
+ colorCount: number;
291
+ mergeColorDist: number;
292
+ maxWorkSize: number;
293
+ /** 每个颜色组:色值 / 面积 / 包围盒 / 所选针法 */
294
+ groups: Array<{
295
+ id: number;
296
+ color: [number, number, number];
297
+ area: number;
298
+ bbox: {
299
+ x: number;
300
+ y: number;
301
+ w: number;
302
+ h: number;
303
+ };
304
+ stitch: string;
305
+ }>;
306
+ };
278
307
  /** fabric 逻辑画布宽度(与导出 JSON 坐标系一致) */
279
308
  designCanvasSize: number;
280
309
  /** fabric 逻辑画布高度;缺省还原时按 CANVAS_LOGICAL_HEIGHT(2000) 处理 */
@@ -394,6 +423,7 @@ export type EditorProps = {
394
423
  onAddToCartSuccess?: (payload?: {
395
424
  addedCount?: number;
396
425
  psTaskCode?: string;
426
+ psTaskId?: string;
397
427
  }) => void;
398
428
  /** 内置加购失败或校验失败;仅 options.addToCart 生效时由 Editor 调用 */
399
429
  onAddToCartError?: (msg?: string) => void;
@@ -2,6 +2,8 @@ import { type RenderBundle, type FabricScreenshotBlob } from './renderedImagesDB
2
2
  import { getLicenseInfo } from './license/licenseStore';
3
3
  export interface BackgroundRenderJob {
4
4
  taskId: string;
5
+ /** 后端 PS 任务的设计字符串 ID(保存/加购接口返回),随 record 持久化,恢复渲染时回报后端用 */
6
+ psTaskId?: string;
5
7
  /** 完整渲染数据包(优先使用:后台直接调用 renderByJson 合成) */
6
8
  renderBundle?: RenderBundle;
7
9
  /** 旧路径:由编辑器实时渲染(renderBundle 不存在时回退) */
@@ -9,12 +11,13 @@ export interface BackgroundRenderJob {
9
11
  index: number;
10
12
  blob: Blob;
11
13
  }>>;
12
- /** 由调用方提供的图片上传函数,避免 SDK 依赖主项目 API */
14
+ /** 由调用方提供的图片上传函数,避免 SDK 依赖主项目 API
15
+ * 第三参 psTaskId 为后端任务 ID,恢复渲染时用它拼 /ps/task/{psTaskId}/images 回报后端。 */
13
16
  uploadImages?: (taskId: string, images: Array<{
14
17
  index: number;
15
18
  blob: Blob;
16
19
  fileName: string;
17
- }>) => Promise<void>;
20
+ }>, psTaskId?: string) => Promise<void>;
18
21
  /** 所有模板渲染完成且 cover 图片上传完成后调用,用于上传 fabricScreenshotList */
19
22
  onDesignScreenshotsReady?: (taskId: string, fabricScreenshots: FabricScreenshotBlob[]) => Promise<void>;
20
23
  /**
@@ -45,7 +48,7 @@ export interface BackgroundRenderJob {
45
48
  * 保存成功后立刻写入占位任务(rendering、images: []),再异步 collectRenderBundle。
46
49
  * 避免用户先于 collect 进入「我的设计」时 IndexedDB 尚无记录,getRenderTask 为空、列表无法轮询。
47
50
  */
48
- export declare function putRenderTaskPlaceholder(taskId: string): Promise<void>;
51
+ export declare function putRenderTaskPlaceholder(taskId: string, psTaskId?: string): Promise<void>;
49
52
  export declare function startBackgroundRender(job: BackgroundRenderJob): Promise<void>;
50
53
  /** 将 renderBundle 内所有模板合成为 Blob 列表(不写 IndexedDB,供多颜色同步渲染) */
51
54
  export declare function renderBundleToBlobs(bundle: RenderBundle, licenseSnapshot?: ReturnType<typeof getLicenseInfo>, onBlob?: (img: {
@@ -3,7 +3,7 @@
3
3
  * 此文件由 vite-plugins/serverEncrypt.ts 在构建时自动生成
4
4
  * 请勿手动编辑
5
5
  *
6
- * 生成时间: 2026-06-22T16:24:29.264Z
6
+ * 生成时间: 2026-06-24T13:33:49.380Z
7
7
  * 构建模式: production
8
8
  * 加密模块数量: 13
9
9
  * 构建种子: Kx9mP2qR5s... (已隐藏)
@@ -37,6 +37,9 @@ export interface RenderBundle {
37
37
  }
38
38
  export interface RenderTaskRecord {
39
39
  taskId: string;
40
+ /** 后端 PS 任务的设计字符串 ID(保存/加购接口返回的 data.psTaskId),用于后端对账;
41
+ * 恢复渲染时按此 ID 回报 /ps/task/{psTaskId}/images,而非本地拼接的 taskId。 */
42
+ psTaskId?: string;
40
43
  status: RenderTaskStatus;
41
44
  images: RenderedImage[];
42
45
  createdAt: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetprint/editor-sdk",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "scripts": {