@manycore/custom-sdk 1.0.3-rc.0 → 1.8.0-rc.0

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.
Files changed (4) hide show
  1. package/index.css +4 -4
  2. package/index.d.ts +806 -28
  3. package/index.js +22 -22
  4. package/package.json +17 -15
package/index.d.ts CHANGED
@@ -1,8 +1,19 @@
1
1
  import { ELineType as ELineType_2 } from '@manycore/custom-miniapp-sdk';
2
2
  import { IExportModelData } from '@manycore/custom-miniapp-sdk';
3
- import { IParamModelLite as IParamModelLite_2 } from '@qunhe/custom-apass-api';
4
3
  import { IParamModelPhotoResponse } from '@manycore/custom-miniapp-sdk';
4
+ import { IServClientService } from 'servkit';
5
5
  import { Number3 } from '@manycore/custom-miniapp-sdk';
6
+ import { ServService } from 'servkit';
7
+
8
+ declare interface AMap<K, V> {
9
+ clear(): void;
10
+ delete(key: K): boolean;
11
+ forEach(callbackfn: (value: V, key: K, map: AMap<K, V>) => void, thisArg?: any): void;
12
+ get(key: K): V | undefined;
13
+ has(key: K): boolean;
14
+ set(key: K, value: V): this;
15
+ readonly size: number;
16
+ }
6
17
 
7
18
  /**
8
19
  * 对接2.0主应用
@@ -13,8 +24,13 @@ import { Number3 } from '@manycore/custom-miniapp-sdk';
13
24
  * ```
14
25
  */
15
26
  export declare class Application {
16
- constructor();
17
27
  private serviceMap;
28
+ private sappSDK;
29
+ constructor();
30
+ /**
31
+ * 判断当前是否在定制小程序下运行
32
+ */
33
+ isInCustomMiniAppMode(): boolean;
18
34
  /**
19
35
  * 启动对接2.0应用
20
36
  *
@@ -25,7 +41,7 @@ export declare class Application {
25
41
  * await application.start();
26
42
  * ```
27
43
  */
28
- start(): Promise<void>;
44
+ start(option?: IApplicationStartOption): Promise<void>;
29
45
  /**
30
46
  * 初始化语言类型(默认不需要处理)
31
47
  *
@@ -62,6 +78,44 @@ export declare class Application {
62
78
  getService<T extends BaseService>(serv: {
63
79
  new (): T;
64
80
  }): T;
81
+ /**
82
+ * 在对接2.0,提供调用定制小程序服务的能力,兼容历史代码
83
+ *
84
+ * 可以参见[定制小程序相关API](https://manual.kujiale.com/custom-miniapp-sdk/)
85
+ *
86
+ * @example
87
+ * ```
88
+ * import { CustomDesignParamModelService } from '@manycore/custom-miniapp-sdk';
89
+ *
90
+ * const s = application.getCustomMiniAppService(CustomDesignParamModelService);
91
+ * ```
92
+ *
93
+ */
94
+ getCustomMiniAppService<T extends typeof ServService>(decl: T): IServClientService<T> | undefined;
95
+ getCustomMiniAppService<M extends {
96
+ [key: string]: typeof ServService;
97
+ }>(decls: M): {
98
+ [key in keyof M]: IServClientService<M[key]> | undefined;
99
+ };
100
+ /**
101
+ * 在对接2.0,提供调用定制小程序服务的能力,兼容历史代码
102
+ *
103
+ * 可以参见[定制小程序相关API](https://manual.kujiale.com/custom-miniapp-sdk/)
104
+ *
105
+ * @example
106
+ * ```
107
+ * import { CustomDesignParamModelService } from '@manycore/custom-miniapp-sdk';
108
+ *
109
+ * const s = application.getCustomMiniAppServiceUnSafe(CustomDesignParamModelService);
110
+ * ```
111
+ *
112
+ */
113
+ getCustomMiniAppServiceUnSafe<T extends typeof ServService>(decl: T): IServClientService<T>;
114
+ getCustomMiniAppServiceUnSafe<M extends {
115
+ [key: string]: typeof ServService;
116
+ }>(decls: M): {
117
+ [key in keyof M]: IServClientService<M[key]>;
118
+ };
65
119
  }
66
120
 
67
121
  /**
@@ -93,13 +147,15 @@ export declare class CustomModelService extends BaseService {
93
147
  getCustomModelById(id: string): Promise<IParamModelLite | undefined>;
94
148
  /**
95
149
  * 保存模型改动
96
- * @param models IParamModelLite[]
97
- * @returns Promise<void>
98
150
  * @example
151
+ * ```typescript
99
152
  * // 模型改动:隐藏
100
153
  * model.setHidden(true);
101
154
  * // 保存模型改动
102
155
  * ModelService.save({ models: [model] }});
156
+ * ```
157
+ * @param option
158
+ * @returns Promise<void>
103
159
  */
104
160
  save(option: {
105
161
  models: IParamModelLite[];
@@ -150,6 +206,28 @@ export declare enum ECameraMoveDirection {
150
206
  BACK = "BACK"
151
207
  }
152
208
 
209
+ /**
210
+ * 交互模式
211
+ */
212
+ export declare enum EDesignMode {
213
+ /**
214
+ * 自定模式
215
+ */
216
+ CUSTOM = 'custom',
217
+ /**
218
+ * 顶层模式
219
+ */
220
+ TOP_MODEL = 'top_model',
221
+ /**
222
+ * 组件模式
223
+ */
224
+ ACCESSORY = 'accessory',
225
+ /**
226
+ * 底层商品模式
227
+ */
228
+ PRODUCT = 'product',
229
+ }
230
+
153
231
  /**
154
232
  * 孔槽配件类型
155
233
  */
@@ -173,7 +251,7 @@ export declare enum EFittingType {
173
251
  /**
174
252
  * 交接面信息
175
253
  */
176
- INTERSECTED = "intersected"
254
+ INTERSECTED = 'intersected',
177
255
  }
178
256
 
179
257
  /**
@@ -183,11 +261,11 @@ export declare enum EIntersectedCreatedType {
183
261
  /**
184
262
  * 板与板之间产生的交界
185
263
  */
186
- BOTH_PLANK = 0,
264
+ BOTH_PLANK,
187
265
  /**
188
266
  * 板与五金之间产生的交界信息
189
267
  */
190
- PLANK_FURNITURE = 1
268
+ PLANK_FURNITURE,
191
269
  }
192
270
 
193
271
  /**
@@ -197,29 +275,29 @@ export declare enum EIntersectedType {
197
275
  /**
198
276
  * 交接体
199
277
  */
200
- SHELL = "1",
278
+ SHELL = '1',
201
279
  /**
202
280
  * 交界面
203
281
  */
204
- FACE = "2"
282
+ FACE = '2',
205
283
  }
206
284
 
207
285
  /**
208
286
  * 语言
209
287
  */
210
288
  export declare enum ELanguage {
211
- ZH_CN = "zh_CN",
212
- EN_US = "en_US",
213
- DE_DE = "de_DE",
214
- FR_FR = "fr_FR",
215
- JA_JP = "ja_JP",
216
- ZH_TW = "zh_TW",
217
- RU_RU = "ru_RU",
218
- KO_KR = "ko_KR",
219
- ES_ES = "es_ES",
220
- AR_EG = "ar_EG",
221
- EN_CN = "en_CN",
222
- VI = "vi"
289
+ ZH_CN = 'zh_CN',
290
+ EN_US = 'en_US',
291
+ DE_DE = 'de_DE',
292
+ FR_FR = 'fr_FR',
293
+ JA_JP = 'ja_JP',
294
+ ZH_TW = 'zh_TW',
295
+ RU_RU = 'ru_RU',
296
+ KO_KR = 'ko_KR',
297
+ ES_ES = 'es_ES',
298
+ AR_EG = 'ar_EG',
299
+ EN_CN = 'en_CN',
300
+ VI = 'vi',
223
301
  }
224
302
 
225
303
  /**
@@ -238,7 +316,61 @@ export declare enum ELineType {
238
316
  * 椭圆
239
317
  * 当前代码中,暂不支持
240
318
  */
241
- ELLIPSE_ARC = 3
319
+ ELLIPSE_ARC = 3,
320
+ }
321
+
322
+ /**
323
+ * 模型类型
324
+ */
325
+ export declare enum EModelType {
326
+ /**
327
+ * 模型
328
+ */
329
+ PARAM_MODEL = 'param_model',
330
+ /**
331
+ * 模型组合
332
+ */
333
+ PARAM_MODEL_ASSEMBLY = 'param_model_assembly',
334
+ }
335
+
336
+ /**
337
+ * 当前模型的类型
338
+ */
339
+ declare enum EParamModelType {
340
+ /**
341
+ * 普通模型的单一模型
342
+ */
343
+ COMMON = 0,
344
+ /**
345
+ * 实例组合:即在设计方案当中,选中多个模型,组合之后的结果
346
+ */
347
+ ASSEMBLY = 1,
348
+ /**
349
+ * 参数化组合:在参数化编辑器中,对多个模型进行组合操作
350
+ */
351
+ TEMPLATE_ASSEMBLY = 2
352
+ }
353
+
354
+ declare enum EParamType {
355
+ FLOAT = "float",
356
+ FLOAT2 = "float2",
357
+ FLOAT3 = "float3",
358
+ FLOAT_BUFFER = "floatbuf",
359
+ FLOAT2_BUFFER = "float2buf",
360
+ FLOAT3_BUFFER = "float3buf",
361
+ REFERENCE = "reference",
362
+ INT = "int",
363
+ INT_BUFFER = "intbuf",
364
+ STRING = "string",
365
+ SHAPE = "shape",
366
+ MATERIAL = "material",
367
+ BOOLEAN = "boolean",
368
+ BOOLEAN_BUFFER = "booleanbuf",
369
+ FIT = "fit",
370
+ PATH = "paramcornerpath",
371
+ STYLE = "style",
372
+ FORMULA_STRING = "formulaString",
373
+ BOOLEAN_LIST = "booleanlist"
242
374
  }
243
375
 
244
376
  /**
@@ -260,7 +392,7 @@ export declare enum EPointType {
260
392
  /**
261
393
  * 切圆,就是内挖一个倒圆的形状
262
394
  */
263
- CUT_CIRCLE = 3
395
+ CUT_CIRCLE = 3,
264
396
  }
265
397
 
266
398
  /**
@@ -325,6 +457,36 @@ export declare enum EToolType {
325
457
  DOOR_WINDOW_COPY = "DW_COPY"
326
458
  }
327
459
 
460
+ /** 定制工具线 */
461
+ declare enum EToolType_2 {
462
+ /** 厨卫定制 */
463
+ Cabinet = "Cabinet",
464
+ /** 家居定制 */
465
+ Wardrobe = "Wardrobe",
466
+ /** 门窗定制 */
467
+ DoorWindow = "DW",
468
+ /** 厨卫定制副本 */
469
+ CabinetCopy = "Cabinet_Copy",
470
+ /** 家居定制副本 */
471
+ WardrobeCopy = "Wardrobe_Copy",
472
+ /** 门窗定制副本 */
473
+ DoorWindowCopy = "DW_Copy"
474
+ }
475
+
476
+ /**
477
+ * 选中模型触发方式
478
+ */
479
+ export declare enum ETriggerType {
480
+ /**
481
+ * 单击
482
+ */
483
+ CLICK = 'click',
484
+ /**
485
+ * 双击
486
+ */
487
+ DB_CLICK = 'double_click',
488
+ }
489
+
328
490
  /**
329
491
  * 孔槽方案相关数据的管理
330
492
  *
@@ -478,6 +640,8 @@ export declare class FittingDesignService extends BaseService {
478
640
  }): Promise<void>;
479
641
  }
480
642
 
643
+ export declare type IApplicationStartOption = ITerminalConfig;
644
+
481
645
  /**
482
646
  * 孔槽数据基础示意
483
647
  */
@@ -522,14 +686,17 @@ export declare class FittingDesignService extends BaseService {
522
686
  * 孔/槽的深度
523
687
  */
524
688
  depth: number;
689
+
525
690
  /**
526
691
  * 所处的板面
527
692
  */
528
693
  plankFaceId: number;
694
+
529
695
  /**
530
696
  * 起点
531
697
  */
532
698
  start: Number3;
699
+
533
700
  /**
534
701
  * 终点
535
702
  */
@@ -550,6 +717,7 @@ export declare class FittingDesignService extends BaseService {
550
717
  * * 如果为交接体,length为8
551
718
  */
552
719
  points: Number3[];
720
+
553
721
  /**
554
722
  * 当前交接信息产生的元件ID
555
723
  */
@@ -593,6 +761,23 @@ export declare class FittingDesignService extends BaseService {
593
761
  update?: IUpdateInfo[];
594
762
  }
595
763
 
764
+ /**
765
+ * 自定义模式,hover触发模型高亮回调
766
+ */
767
+ export declare interface IFindHintModel {
768
+ (rayTarget: IParamModelLite): void | ISceneHintOption | ISceneHintOption[];
769
+ }
770
+
771
+ /**
772
+ * 自定义模式,单击、双击触发模型选中回调
773
+ */
774
+ export declare interface IFindSelectModel {
775
+ (rayTarget: IParamModelLite, triggerType: ETriggerType):
776
+ | void
777
+ | ISceneSelectOption
778
+ | ISceneSelectOption[];
779
+ }
780
+
596
781
  /**
597
782
  * 孔/槽方案的数据结构
598
783
  */
@@ -654,31 +839,38 @@ export declare class FittingDesignService extends BaseService {
654
839
  * 孔槽模型id
655
840
  */
656
841
  id: string;
842
+
657
843
  /**
658
844
  * 隐藏状态
659
845
  */
660
846
  isHidden: boolean;
847
+
661
848
  /**
662
849
  * 模型类型
663
850
  */
664
851
  modelType: EFittingType;
852
+
665
853
  /**
666
854
  * 关联 paramModel id
667
855
  */
668
856
  linkParamModelId: string;
857
+
669
858
  /**
670
859
  * 方案原始数据
671
860
  */
672
861
  originalData: IHoleData | IGrooveData | IHardwareData | IHardwareGrooveData;
862
+
673
863
  /**
674
864
  * 模型变更记录
675
865
  */
676
866
  __changeMap: IChangeMap;
867
+
677
868
  /**
678
869
  * 获取显示隐藏状态
679
870
  * @returns
680
871
  */
681
872
  getHidden(): boolean;
873
+
682
874
  /**
683
875
  * 更新显示隐藏状态
684
876
  * @param isHidden
@@ -686,7 +878,23 @@ export declare class FittingDesignService extends BaseService {
686
878
  setHidden(isHidden: boolean): void;
687
879
  }
688
880
 
881
+ /**
882
+ * 获取模型数据
883
+ */
884
+ export declare interface IGetParamModelJsonOption extends IBaseOptions {
885
+ /**
886
+ * 是否强制重新获取
887
+ * @default false 默认值为false,当获取正在查看的模型json数据时,默认情况会使用状态中的缓存数据,如果需要强制走后端重新获取,此字段需要传入true
888
+ */
889
+ force?: boolean;
890
+ /**
891
+ * 模板id
892
+ */
893
+ templateId?: string;
894
+ }
895
+
689
896
  export declare interface IGrooveData extends IBaseHoleGrooveData {
897
+ // 槽宽
690
898
  width: number;
691
899
  }
692
900
 
@@ -698,18 +906,22 @@ export declare class FittingDesignService extends BaseService {
698
906
  * 建模原点在板件坐标系下的坐标
699
907
  */
700
908
  position: Number3;
909
+
701
910
  /**
702
911
  * 相对建模坐标系中夹角,不传默认没有任何基于板件坐标的旋转,会将五金以建模原点放在 position 上,五金建模方向和板件建模方向一致进行摆放。
703
912
  */
704
913
  rotate: Number3;
914
+
705
915
  /**
706
916
  * 相对建模坐标系中缩放,不传默认五金和上传大小完全一致
707
917
  */
708
918
  scale: Number3;
919
+
709
920
  /**
710
921
  * 商品ID
711
922
  */
712
923
  brandGoodId: string;
924
+
713
925
  /**
714
926
  * 关联孔槽ID
715
927
  */
@@ -724,6 +936,7 @@ export declare class FittingDesignService extends BaseService {
724
936
  * 槽的深度
725
937
  */
726
938
  depth: number;
939
+
727
940
  /**
728
941
  * 所处的板面
729
942
  */
@@ -971,6 +1184,7 @@ export declare class FittingDesignService extends BaseService {
971
1184
  * @returns
972
1185
  */
973
1186
  getHidden(): boolean | undefined;
1187
+
974
1188
  /**
975
1189
  * 更新显示隐藏状态
976
1190
  * @param isHidden
@@ -978,7 +1192,255 @@ export declare class FittingDesignService extends BaseService {
978
1192
  setHidden(isHidden: boolean): void;
979
1193
  }
980
1194
 
981
- export { IParamModelPhotoResponse }
1195
+ /**
1196
+ * 对定制参数化模型进行精简处理后的结果
1197
+ * @name ParamModel
1198
+ */
1199
+ declare interface IParamModelLite_2 {
1200
+ /**
1201
+ * 模型的唯一标识ID
1202
+ * 如果模型是从方案当中获取至的,则为模型在方案中的ID,非方案模型,将会随机生成ID
1203
+ * @readonly
1204
+ * @public
1205
+ * @type string
1206
+ */
1207
+ readonly id: string;
1208
+ /**
1209
+ * 当前位置信息
1210
+ * @readonly
1211
+ * @public
1212
+ * @typedef Number3
1213
+ */
1214
+ position: Number3_2;
1215
+ /**
1216
+ * 当前模型的旋转信息
1217
+ * @readonly
1218
+ * @public
1219
+ * @typedef Number3
1220
+ * @deprecated 将废弃,推荐使用 rotation
1221
+ */
1222
+ rotate: Number3_2;
1223
+ /**
1224
+ * 当前模型的旋转信息
1225
+ * @readonly
1226
+ * @public
1227
+ * @typedef Number3
1228
+ */
1229
+ rotation: Number3_2;
1230
+ /**
1231
+ * 当前尺寸信息
1232
+ * @readonly
1233
+ * @public
1234
+ * @typedef Number3
1235
+ */
1236
+ size: Number3_2;
1237
+ /**
1238
+ * 模型当中自定议的参数信息
1239
+ * @readonly
1240
+ * @protected
1241
+ * @typedef AMap<string, IParamModelLiteParam>
1242
+ */
1243
+ readonly params: AMap<string, IParamModelLiteParam>;
1244
+ /**
1245
+ * 商品ID,即商品后台的商品ID
1246
+ * @readonly
1247
+ */
1248
+ readonly productId?: string;
1249
+ /**
1250
+ * 当前模型所处的真分类信息
1251
+ * @readonly
1252
+ */
1253
+ category: number;
1254
+ /**
1255
+ * 此字段只有当模型从工具场景中获取,才具有意义
1256
+ * 当前模型在工具当中的显示与隐藏状态;如果为`true`,则表示为隐藏状态
1257
+ * @public
1258
+ * @readonly
1259
+ */
1260
+ isHidden?: boolean;
1261
+ /**
1262
+ * 模型类型,仅为从方案中获取模型才具备意义
1263
+ * @public
1264
+ * @readonly
1265
+ * @typedef EParamModelType
1266
+ */
1267
+ modelType?: EParamModelType;
1268
+ /**
1269
+ * 当前模型所处的定制行业线
1270
+ * @public
1271
+ * @readonly
1272
+ */
1273
+ toolType?: EToolType_2;
1274
+ /**
1275
+ * 当前模型是否为root节点,如果是,则为true
1276
+ * @public
1277
+ * @readonly
1278
+ */
1279
+ isRoot?: boolean;
1280
+ /**
1281
+ * 更新当前模型的位置信息
1282
+ * @param position {Number3} 坐标
1283
+ */
1284
+ setPosition(position: Number3_2): void;
1285
+ /**
1286
+ * 获取当前模型的坐标信息
1287
+ * @return Number3 相对父模型坐标,如果为顶层模型,则为世界坐标
1288
+ */
1289
+ getPosition(): Number3_2;
1290
+ /**
1291
+ * 更新当前模型的旋转信息
1292
+ * @description 特别说明,定制模型,使用的是右手坐标系,rotate字段中
1293
+ * @param rotate {Number3} 旋转的弧度
1294
+ * @deprecated 将废弃,推荐使用 rotation
1295
+ */
1296
+ setRotate(rotate: Number3_2): void;
1297
+ /**
1298
+ * 获取当前模型相对父级的旋转信息
1299
+ * @deprecated 将废弃,推荐使用 rotation
1300
+ */
1301
+ getRotate(): Number3_2;
1302
+ /**
1303
+ * 更新当前模型的旋转信息
1304
+ * @description 特别说明,定制模型,使用的是右手坐标系,rotation字段中
1305
+ * @param rotation {Number3} 旋转的弧度
1306
+ */
1307
+ setRotation(rotation: Number3_2): void;
1308
+ /**
1309
+ * 获取当前模型相对父级的旋转信息
1310
+ */
1311
+ getRotation(): Number3_2;
1312
+ /**
1313
+ * 模型的复制,返回一个新的`ParamModel`对象
1314
+ */
1315
+ clone(): IParamModelLite_2;
1316
+ /**
1317
+ * 将当前模型与父级模型断开联系
1318
+ * 可以更直接的理解为:删除当前模型
1319
+ * > 针对`clone()`后的对象,作`dispose()`操作,将不会产生任何作用
1320
+ */
1321
+ dispose(): void;
1322
+ /**
1323
+ * 查找当前模型的父节点
1324
+ */
1325
+ getParent(): IParamModelLite_2 | undefined;
1326
+ /**
1327
+ * 获取当前模型的顶层模型,如果当前模型就是顶层模型,则会返回undefined
1328
+ */
1329
+ getRoot(): IParamModelLite_2 | undefined;
1330
+ /**
1331
+ * 获取当前模型的所有子模型
1332
+ */
1333
+ getChild(): IParamModelLite_2[];
1334
+ /**
1335
+ * 获取当前模型下的所有非原生模型
1336
+ * @description 说明一下:非原生模型可以大致理解为:在方案当中,手动生成一个模型,添加到其他模型上;与之对应子模型可以理解为原生模型,即参数
1337
+ * 化编辑中自带的模型
1338
+ */
1339
+ getAccessory(): IParamModelLite_2[];
1340
+ /**
1341
+ * 向当前模型中,添加一个子模型;一般会向包裹层当中,添加子模型;另外,五金配件,也必须使用此方法添加
1342
+ * @param child {IParamModelLite} 待添加的模型
1343
+ */
1344
+ appendChild(child: IParamModelLite_2): void;
1345
+ /**
1346
+ * 向当前模型中,添加一个非原生模型;一般会使用在添加五金
1347
+ * @param accessory {IParamModelLite} 待添加的模型
1348
+ */
1349
+ appendAccessory(accessory: IParamModelLite_2): void;
1350
+ /**
1351
+ * 获取当前模型中的参数信息(参数即在参数化编辑中的信息)
1352
+ * @example
1353
+ * `m.getParam('W')` 获取模型的宽度信息
1354
+ * @param name {string} 参数名称
1355
+ */
1356
+ getParam(name: string): IParamModelLiteParam | undefined;
1357
+ /**
1358
+ * 判断当前模型是否包含某个参数
1359
+ * @param name {string} 参数名称
1360
+ */
1361
+ hasParam(name: string): boolean;
1362
+ /**
1363
+ * 将当前数据转换成一个纯对象
1364
+ * @private
1365
+ */
1366
+ toJSON(): Record<string, any>;
1367
+ /**
1368
+ * 对当前模型数据进行序列化操作
1369
+ */
1370
+ serialize(): string;
1371
+ /**
1372
+ * 将一个序列化之后的模型,进行反序列化操作
1373
+ */
1374
+ deserialize(model: string): IParamModelLite_2;
1375
+ }
1376
+
1377
+ /**
1378
+ * 模型的参数信息
1379
+ */
1380
+ declare interface IParamModelLiteParam<T = any> {
1381
+ /**
1382
+ * 获取当前参数解析后的值内容
1383
+ */
1384
+ getValue(): T;
1385
+ /**
1386
+ * @deprecated 请直接使用'getValue'方法
1387
+ */
1388
+ getParsedValue(): T;
1389
+ /**
1390
+ * 设置当前参数的值
1391
+ * @description 当前函数并未对输入的参数进行校验
1392
+ * @param value
1393
+ */
1394
+ setValue(value: T): any;
1395
+ /**
1396
+ * @deprecated 请直接使用'setValue'方法
1397
+ * @param value
1398
+ */
1399
+ setParsedValue(value: T): any;
1400
+ /**
1401
+ * 获取当前参数类型
1402
+ */
1403
+ getType(): EParamType;
1404
+ /**
1405
+ * 获取当前参数输入值的最大值(参数化编辑器中设置的)
1406
+ */
1407
+ getMax(): number | undefined;
1408
+ /**
1409
+ * 获取当前参数输入值的最小值(参数化编辑器中设置的)
1410
+ */
1411
+ getMin(): number | undefined;
1412
+ /**
1413
+ * 获取当前参数的步长信息
1414
+ */
1415
+ getStep(): number | undefined;
1416
+ /**
1417
+ * 获取可选值
1418
+ */
1419
+ getOptionValues(): NamedValue[];
1420
+ /**
1421
+ * 当前参数是否可以被编辑
1422
+ * @description 如果为不可编辑的话,强制更改参数也不会生效
1423
+ */
1424
+ getEditable(): boolean;
1425
+ /**
1426
+ * 获取当前模型在参数化编辑器中设置的推荐值
1427
+ */
1428
+ getRecommendValues(): NamedValue[];
1429
+ /**
1430
+ * 获取value展示的值
1431
+ */
1432
+ getValueDisplayNames(): string[];
1433
+ /**
1434
+ * 是否需要将设置的参数覆盖原始参数信息
1435
+ * 仅对部分参数设计有效,具体细节,见对应场景
1436
+ */
1437
+ getPrimitiveOverride(): boolean;
1438
+ /**
1439
+ * 是否需要将设置的参数覆盖原始参数信息
1440
+ * @param value {boolean}
1441
+ */
1442
+ setPrimitiveOverride(value: boolean): void;
1443
+ }
982
1444
 
983
1445
  /**
984
1446
  * 点的基本类型
@@ -1073,6 +1535,25 @@ export declare class FittingDesignService extends BaseService {
1073
1535
  roomName?: string;
1074
1536
  }
1075
1537
 
1538
+ /**
1539
+ * 高亮模型描述
1540
+ */
1541
+ export declare type ISceneHintOption = ISceneSelectOption;
1542
+
1543
+ /**
1544
+ * 选中模型描述
1545
+ */
1546
+ export declare interface ISceneSelectOption {
1547
+ /**
1548
+ * 模型id | 组合id
1549
+ */
1550
+ id: string;
1551
+ /**
1552
+ * 模型类型
1553
+ */
1554
+ type: EModelType;
1555
+ }
1556
+
1076
1557
  /**
1077
1558
  * 当前选中的数据
1078
1559
  */
@@ -1144,6 +1625,20 @@ export declare class FittingDesignService extends BaseService {
1144
1625
  grooveColor: number;
1145
1626
  }
1146
1627
 
1628
+ /**
1629
+ * 启动时,配置terminal信息
1630
+ */
1631
+ export declare interface ITerminalConfig {
1632
+ /**
1633
+ * 请输入clientId
1634
+ */
1635
+ clientId?: string;
1636
+ /**
1637
+ * 请输入连接超时时间
1638
+ */
1639
+ timeout?: number;
1640
+ }
1641
+
1147
1642
  /**
1148
1643
  * 展示交接信息时的筛选行为
1149
1644
  */
@@ -1245,9 +1740,202 @@ export declare class FittingDesignService extends BaseService {
1245
1740
  }
1246
1741
 
1247
1742
  declare interface IUpdateInfo {
1248
- field: string;
1743
+ field: string; // 变更字段
1249
1744
  }
1250
1745
 
1746
+ /**
1747
+ * 键盘按键
1748
+ */
1749
+ export declare const KEYBOARD_KEY = [
1750
+ '0',
1751
+ '1',
1752
+ '2',
1753
+ '3',
1754
+ '4',
1755
+ '5',
1756
+ '6',
1757
+ '7',
1758
+ '8',
1759
+ '9',
1760
+ 'ctrl',
1761
+ 'alt',
1762
+ 'shift',
1763
+ 'up',
1764
+ 'right',
1765
+ 'down',
1766
+ 'left',
1767
+ 'tab',
1768
+ 'enter',
1769
+ 'capslock',
1770
+ 'esc',
1771
+ 'backspace',
1772
+ 'space',
1773
+ 'f1',
1774
+ 'f2',
1775
+ 'f3',
1776
+ 'f4',
1777
+ 'f5',
1778
+ 'f6',
1779
+ 'f7',
1780
+ 'f8',
1781
+ 'f9',
1782
+ 'f10',
1783
+ 'f11',
1784
+ 'f12',
1785
+ 'a',
1786
+ 'b',
1787
+ 'c',
1788
+ 'd',
1789
+ 'e',
1790
+ 'f',
1791
+ 'g',
1792
+ 'h',
1793
+ 'i',
1794
+ 'j',
1795
+ 'k',
1796
+ 'l',
1797
+ 'm',
1798
+ 'n',
1799
+ 'o',
1800
+ 'p',
1801
+ 'q',
1802
+ 'r',
1803
+ 's',
1804
+ 't',
1805
+ 'u',
1806
+ 'v',
1807
+ 'w',
1808
+ 'x',
1809
+ 'y',
1810
+ 'z',
1811
+ '~',
1812
+ '!',
1813
+ '@',
1814
+ '#',
1815
+ '$',
1816
+ '%',
1817
+ '^',
1818
+ '&',
1819
+ '*',
1820
+ '(',
1821
+ ')',
1822
+ '_',
1823
+ '+',
1824
+ ':',
1825
+ '"',
1826
+ '<',
1827
+ '>',
1828
+ '?',
1829
+ ',',
1830
+ '`',
1831
+ '-',
1832
+ '=',
1833
+ '[',
1834
+ ']',
1835
+ '\\',
1836
+ ';',
1837
+ "'",
1838
+ ',',
1839
+ '.',
1840
+ '/',
1841
+ ];
1842
+
1843
+ /**
1844
+ * 键盘按键类型
1845
+ */
1846
+ export declare type KeyboardKey =
1847
+ | '0'
1848
+ | '1'
1849
+ | '2'
1850
+ | '3'
1851
+ | '4'
1852
+ | '5'
1853
+ | '6'
1854
+ | '7'
1855
+ | '8'
1856
+ | '9'
1857
+ | 'ctrl'
1858
+ | 'alt'
1859
+ | 'shift'
1860
+ | 'up'
1861
+ | 'right'
1862
+ | 'down'
1863
+ | 'left'
1864
+ | 'tab'
1865
+ | 'enter'
1866
+ | 'capslock'
1867
+ | 'esc'
1868
+ | 'backspace'
1869
+ | 'space'
1870
+ | 'f1'
1871
+ | 'f2'
1872
+ | 'f3'
1873
+ | 'f4'
1874
+ | 'f5'
1875
+ | 'f6'
1876
+ | 'f7'
1877
+ | 'f8'
1878
+ | 'f9'
1879
+ | 'f10'
1880
+ | 'f11'
1881
+ | 'f12'
1882
+ | 'a'
1883
+ | 'b'
1884
+ | 'c'
1885
+ | 'd'
1886
+ | 'e'
1887
+ | 'f'
1888
+ | 'g'
1889
+ | 'h'
1890
+ | 'i'
1891
+ | 'j'
1892
+ | 'k'
1893
+ | 'l'
1894
+ | 'm'
1895
+ | 'n'
1896
+ | 'o'
1897
+ | 'p'
1898
+ | 'q'
1899
+ | 'r'
1900
+ | 's'
1901
+ | 't'
1902
+ | 'u'
1903
+ | 'v'
1904
+ | 'w'
1905
+ | 'x'
1906
+ | 'y'
1907
+ | 'z'
1908
+ | '~'
1909
+ | '!'
1910
+ | '@'
1911
+ | '#'
1912
+ | '$'
1913
+ | '%'
1914
+ | '^'
1915
+ | '&'
1916
+ | '*'
1917
+ | '('
1918
+ | ')'
1919
+ | '_'
1920
+ | '+'
1921
+ | ':'
1922
+ | '"'
1923
+ | '<'
1924
+ | '>'
1925
+ | '?'
1926
+ | '|'
1927
+ | '`'
1928
+ | '-'
1929
+ | '='
1930
+ | '['
1931
+ | ']'
1932
+ | '\\'
1933
+ | ';'
1934
+ | "'"
1935
+ | ','
1936
+ | '.'
1937
+ | '/';
1938
+
1251
1939
  /**
1252
1940
  * 主要提供了场景相机的模式、移动等
1253
1941
  *
@@ -1402,13 +2090,13 @@ export declare class FittingDesignService extends BaseService {
1402
2090
  *
1403
2091
  * @param options
1404
2092
  */
1405
- getParamData(options?: IBaseOptions): Promise<any>;
2093
+ getParamData(options?: IGetParamModelJsonOption): Promise<any>;
1406
2094
  /**
1407
2095
  * 获取模型的交接数据
1408
2096
  *
1409
2097
  * @example
1410
2098
  * ```typescript
1411
- * await modelService.getParamData();
2099
+ * await modelService.getParamIntersected();
1412
2100
  * ```
1413
2101
  *
1414
2102
  * @param options
@@ -1546,6 +2234,96 @@ export declare class FittingDesignService extends BaseService {
1546
2234
  * > `settings`,需要在application.start()后,立即被设置,否则展示会读取至之前配置信息,展示可能存在异常。
1547
2235
  */
1548
2236
  setting(settings: Partial<ISettingColor>): void;
2237
+ /**
2238
+ * 刷新场景内所有模型
2239
+ *
2240
+ * > example: 调用工具API修改模型材质纹理方向(或其他属性)后,调用该API可手动同步模型修改到小程序渲染场景中(效果同退出小程序后重新进入),如果小程序中不存在任意模型,则抛出错误.
2241
+ */
2242
+ refreshModel(): Promise<void>;
2243
+ }
2244
+
2245
+ /**
2246
+ * 可选值参数每项数据类型
2247
+ */
2248
+ declare interface NamedValue<T = any> {
2249
+ /**
2250
+ * 显示的名称
2251
+ */
2252
+ name: string;
2253
+ value: T;
2254
+ }
2255
+
2256
+ /**
2257
+ * 二维空间下:坐标/向量/旋转/尺寸的基础表示
2258
+ */
2259
+ declare interface Number2 {
2260
+ /**
2261
+ * x轴上的数据
2262
+ */
2263
+ x: number;
2264
+ /**
2265
+ * y轴上数据
2266
+ */
2267
+ y: number;
2268
+ }
2269
+
2270
+ /**
2271
+ * 三维空间下,坐标/向量/旋转/尺寸的基础表示
2272
+ */
2273
+ declare interface Number3_2 extends Number2 {
2274
+ /**
2275
+ * z轴方向数据
2276
+ */
2277
+ z: number;
2278
+ }
2279
+
2280
+ /**
2281
+ * 提供渲染场景的控制
2282
+ *
2283
+ * @example
2284
+ * ```typescript
2285
+ * const SceneService = application.getService(SceneService);
2286
+ * ```
2287
+ */
2288
+ export declare class SceneService extends BaseService {
2289
+ /**
2290
+ * 设置场景内模型交互级别
2291
+ * @param param.mode EDesignMode
2292
+ * @param param.customModeCb 自定义模式回调
2293
+ * @param param.customModeCb.findSelectModel 检测选中模型
2294
+ * @param param.customModeCb.findHintModel 检测高亮模型
2295
+ *
2296
+ * 除自定义模式外,每一种模式内部定义了单击可选中的模型类型:
2297
+ * * `TOP_MODEL`: 顶层模型、模型组合
2298
+ * * `ACCESSORY`: 组件(组件定义来源定制工具线)
2299
+ * * `PRODUCT`: 底层商品模型
2300
+ *
2301
+ * 每一种模式单击选中某模型后,可双击选中下层模型
2302
+ *
2303
+ * 例:`TOP_MODEL`模式下,单击选中一个组合后,可双击双中组合中的顶层模型,再双击可选中顶层模型下的组件,单双击操作不可以逆向选择,假设处于`PRODUCT`模式下,那只能单击选中底层商品模型
2304
+ *
2305
+ * **自定义模式:**
2306
+ *
2307
+ * 自定义模式下,可以自定义选中模型的级别,以及高亮模型的级别,SDK传出目前的交互类型(`单击、双击、Hover`)及对应的底层商品模型
2308
+ */
2309
+ setDesignMode({ mode, customModeCb, }: {
2310
+ mode: EDesignMode;
2311
+ customModeCb?: {
2312
+ findSelectModel: IFindSelectModel;
2313
+ findHintModel: IFindHintModel;
2314
+ };
2315
+ }): void;
2316
+ /**
2317
+ * 设置多选模式快捷键,默认`shift`
2318
+ * @param key KeyboardKey
2319
+ *
2320
+ * @example
2321
+ * ```typescript
2322
+ * SceneService.registerMultiSelectShortcut('shift');
2323
+ * SceneService.registerMultiSelectShortcut(['shift', 'a']); // 同时按中`shift`和`a`多选, 无先后顺序
2324
+ * ```
2325
+ */
2326
+ registerMultiSelectShortcut(key: KeyboardKey | KeyboardKey[]): void;
1549
2327
  }
1550
2328
 
1551
2329
  export { }