@manycore/custom-sdk 1.0.1-rc.9 → 1.0.2-latest.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 (3) hide show
  1. package/index.d.ts +273 -10
  2. package/index.js +36 -17
  3. package/package.json +3 -3
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
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';
3
4
  import { IParamModelPhotoResponse } from '@manycore/custom-miniapp-sdk';
4
5
  import { Number3 } from '@manycore/custom-miniapp-sdk';
5
6
 
@@ -13,6 +14,7 @@ import { Number3 } from '@manycore/custom-miniapp-sdk';
13
14
  */
14
15
  export declare class Application {
15
16
  constructor();
17
+ private serviceMap;
16
18
  /**
17
19
  * 启动对接2.0应用
18
20
  *
@@ -65,7 +67,87 @@ export declare class Application {
65
67
  /**
66
68
  * @private
67
69
  */
68
- declare class BaseService {
70
+ declare abstract class BaseService {
71
+ __onDestroy?(): void;
72
+ }
73
+
74
+ /**
75
+ * 模型相关控制的逻辑
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const CustomModelService = application.getService(CustomModelService);
80
+ * ```
81
+ */
82
+ export declare class CustomModelService extends BaseService {
83
+ /**
84
+ * 获取所有模型
85
+ * @returns Promise<IParamModelLite[]>
86
+ */
87
+ getAllCustomModels(): Promise<IParamModelLite[]>;
88
+ /**
89
+ * 根据id获取所有模型
90
+ * @param id 模型id
91
+ * @returns Promise<IParamModelLite | undefined>
92
+ */
93
+ getCustomModelById(id: string): Promise<IParamModelLite | undefined>;
94
+ /**
95
+ * 保存模型改动
96
+ * @param models IParamModelLite[]
97
+ * @returns Promise<void>
98
+ * @example
99
+ * // 模型改动:隐藏
100
+ * model.setHidden(true);
101
+ * // 保存模型改动
102
+ * ModelService.save({ models: [model] }});
103
+ */
104
+ save(option: {
105
+ models: IParamModelLite[];
106
+ }): Promise<void>;
107
+ }
108
+
109
+ /**
110
+ * 相机展示模式
111
+ */
112
+ export declare enum ECameraMode {
113
+ /**
114
+ * 鸟瞰模式
115
+ */
116
+ View3D = "view3d",
117
+ /**
118
+ * 漫游模式
119
+ */
120
+ Roamer = "roamer"
121
+ }
122
+
123
+ /**
124
+ * 场景相机方向移动
125
+ */
126
+ export declare enum ECameraMoveDirection {
127
+ /**
128
+ * 上移
129
+ */
130
+ UP = "UP",
131
+ /**
132
+ * 下移
133
+ */
134
+ DOWN = "DOWN",
135
+ /**
136
+ * 左移
137
+ */
138
+ LEFT = "LEFT",
139
+ /**
140
+ * 右移
141
+ */
142
+ RIGHT = "RIGHT",
143
+ /**
144
+ * 前进
145
+ */
146
+ FRONT = "FRONT",
147
+ /**
148
+ * 后退
149
+ */
150
+ BACK = "BACK"
69
151
  }
70
152
 
71
153
  /**
@@ -199,6 +281,20 @@ export declare enum ESelectedType {
199
281
  CASBIN = 2
200
282
  }
201
283
 
284
+ /**
285
+ * 设置选中内容类型
286
+ */
287
+ export declare enum ESetSelectType {
288
+ /**
289
+ * 模型或商品
290
+ */
291
+ MODEL = 1,
292
+ /**
293
+ * 五金
294
+ */
295
+ CASBIN = 2
296
+ }
297
+
202
298
  /**
203
299
  * 定制行业工具线
204
300
  */
@@ -357,6 +453,31 @@ export declare class FittingDesignService extends BaseService {
357
453
  clearDesign(options?: IBaseOptions): Promise<void>;
358
454
  }
359
455
 
456
+ /**
457
+ * 提供孔槽模型操作能力
458
+ *
459
+ * @example
460
+ * ```typescript
461
+ * const fittingModelService = application.getService(FittingModelService);
462
+ * ```
463
+ */
464
+ export declare class FittingModelService extends BaseService {
465
+ /**
466
+ * 获取所有五金孔槽模型
467
+ * @param modelId paramModel id,查找相关联孔槽五金
468
+ * @returns Promise<IFittingModelLite[]>
469
+ */
470
+ getAllFittingModels(modelId?: string): Promise<IFittingModelLite[]>;
471
+ /**
472
+ * 保存所有孔槽模型
473
+ * @param option
474
+ * @returns Promise<void>
475
+ */
476
+ save(option: {
477
+ models: IFittingModelLite[];
478
+ }): Promise<void>;
479
+ }
480
+
360
481
  /**
361
482
  * 孔槽数据基础示意
362
483
  */
@@ -468,6 +589,10 @@ export declare class FittingDesignService extends BaseService {
468
589
  modelId?: string;
469
590
  }
470
591
 
592
+ declare interface IChangeMap {
593
+ update?: IUpdateInfo[];
594
+ }
595
+
471
596
  /**
472
597
  * 孔/槽方案的数据结构
473
598
  */
@@ -521,6 +646,46 @@ export declare class FittingDesignService extends BaseService {
521
646
  */
522
647
  export declare type IFittingHoleCollect = Record<string, IHoleData[]>;
523
648
 
649
+ /**
650
+ * 五金孔槽通用模型
651
+ */
652
+ export declare interface IFittingModelLite {
653
+ /**
654
+ * 孔槽模型id
655
+ */
656
+ id: string;
657
+ /**
658
+ * 隐藏状态
659
+ */
660
+ isHidden: boolean;
661
+ /**
662
+ * 模型类型
663
+ */
664
+ modelType: EFittingType;
665
+ /**
666
+ * 关联 paramModel id
667
+ */
668
+ linkParamModelId: string;
669
+ /**
670
+ * 方案原始数据
671
+ */
672
+ originalData: IHoleData | IGrooveData | IHardwareData | IHardwareGrooveData;
673
+ /**
674
+ * 模型变更记录
675
+ */
676
+ __changeMap: IChangeMap;
677
+ /**
678
+ * 获取显示隐藏状态
679
+ * @returns
680
+ */
681
+ getHidden(): boolean;
682
+ /**
683
+ * 更新显示隐藏状态
684
+ * @param isHidden
685
+ */
686
+ setHidden(isHidden: boolean): void;
687
+ }
688
+
524
689
  export declare interface IGrooveData extends IBaseHoleGrooveData {
525
690
  width: number;
526
691
  }
@@ -800,6 +965,19 @@ export declare class FittingDesignService extends BaseService {
800
965
  toggleModelViewedIntersected(option?: IToggleIntersectedViewOption): void;
801
966
  }
802
967
 
968
+ export declare interface IParamModelLite extends IParamModelLite_2 {
969
+ /**
970
+ * 获取显示隐藏状态
971
+ * @returns
972
+ */
973
+ getHidden(): boolean | undefined;
974
+ /**
975
+ * 更新显示隐藏状态
976
+ * @param isHidden
977
+ */
978
+ setHidden(isHidden: boolean): void;
979
+ }
980
+
803
981
  export { IParamModelPhotoResponse }
804
982
 
805
983
  /**
@@ -909,6 +1087,20 @@ export declare class FittingDesignService extends BaseService {
909
1087
  type: ESelectedType;
910
1088
  }
911
1089
 
1090
+ /**
1091
+ * 通过ID选中模型参数
1092
+ */
1093
+ export declare interface ISetSelectedByIdOption {
1094
+ /**
1095
+ * 模型ID/五金ID
1096
+ */
1097
+ id: string;
1098
+ /**
1099
+ * 选中的类型
1100
+ */
1101
+ type: ESetSelectType;
1102
+ }
1103
+
912
1104
  /**
913
1105
  * 场景中,模型的颜色配置能力
914
1106
  *
@@ -1052,6 +1244,48 @@ export declare class FittingDesignService extends BaseService {
1052
1244
  pageNum?: number;
1053
1245
  }
1054
1246
 
1247
+ declare interface IUpdateInfo {
1248
+ field: string;
1249
+ }
1250
+
1251
+ /**
1252
+ * 主要提供了场景相机的模式、移动等
1253
+ *
1254
+ * @example
1255
+ * ```typescript
1256
+ * const modelCameraService = application.getService(ModelCameraService);
1257
+ * ```
1258
+ */
1259
+ export declare class ModelCameraService extends BaseService {
1260
+ /**
1261
+ * 切换相机模式
1262
+ * @param mode 相机模式
1263
+ * @example
1264
+ * ```ts
1265
+ * const modelCameraService = application.getService(ModelCameraService);
1266
+ *
1267
+ * // 切换至漫游模式
1268
+ * modelCameraService.toggleCameraMode(ECameraMode.Roamer);
1269
+ * ```
1270
+ */
1271
+ toggleCameraMode(mode: ECameraMode): void;
1272
+ /**
1273
+ * 根据方向移动相机
1274
+ * @param direction 移动方向
1275
+ * @example
1276
+ * ```ts
1277
+ * const modelCameraService = application.getService(ModelCameraService);
1278
+ *
1279
+ * // 相机向上移动
1280
+ * modelCameraService.moveCamera(ECameraMoveDirection.UP);
1281
+ *
1282
+ * // 相机向前移动
1283
+ * modelCameraService.moveCamera(ECameraMoveDirection.FRONT);
1284
+ * ```
1285
+ */
1286
+ moveCamera(direction: ECameraMoveDirection): void;
1287
+ }
1288
+
1055
1289
  /**
1056
1290
  * 配置板件特殊标识
1057
1291
  *
@@ -1185,11 +1419,6 @@ export declare class FittingDesignService extends BaseService {
1185
1419
  * @param options
1186
1420
  */
1187
1421
  getTopParamModels(options?: ITopParamModelListOption): Promise<ITopParamModelDataResponse>;
1188
- /**
1189
- * 获取模型缩略图信息
1190
- * @param modelId
1191
- * @returns 模型缩略图信息
1192
- */
1193
1422
  getParamModelPhotoById(modelId: string | string[]): Promise<IParamModelPhotoResponse[]>;
1194
1423
  }
1195
1424
 
@@ -1208,14 +1437,48 @@ export declare class FittingDesignService extends BaseService {
1208
1437
  */
1209
1438
  getSelected(): ISelected;
1210
1439
  /**
1211
- * @ignore
1212
- * 设置当前选中内容
1440
+ * 设置选中的模型
1441
+ * 同时选中多个模型暂未支持,请勿使用
1442
+ * @param option ISetSelectedByIdOption
1443
+ * @example
1444
+ * ```
1445
+ * const viewerSelectionService = application.getService(ModelViewerSelectionService);
1446
+ * const selectOption = {
1447
+ * id: 'modelId...',
1448
+ * type: ESetSelectType.MODEL,
1449
+ * };
1450
+ *
1451
+ * viewerSelectionService.select(selectOption);
1452
+ * ```
1213
1453
  */
1214
- select(selected: any[]): void;
1454
+ select(option: ISetSelectedByIdOption | ISetSelectedByIdOption[]): void;
1215
1455
  /**
1216
1456
  * 取消场景当中选中内容
1457
+ * 同时取消多个模型暂未支持,请勿使用
1458
+ * @param option
1459
+ * @example
1460
+ * ```
1461
+ * const viewerSelectionService = application.getService(ModelViewerSelectionService);
1462
+ * const selectOption = {
1463
+ * id: 'modelId...',
1464
+ * type: ESetSelectType.MODEL,
1465
+ * };
1466
+ *
1467
+ * // 取消指定选中模型
1468
+ * viewerSelectionService.unSelect(selectOption);
1469
+ * // 默认取消全部选中模型
1470
+ * viewerSelectionService.unSelect();
1471
+ * ```
1472
+ */
1473
+ unSelect(option?: ISetSelectedByIdOption | ISetSelectedByIdOption[]): void;
1474
+ /**
1475
+ * 根据参数生成entity
1476
+ * @param option
1477
+ * @returns entity
1478
+ * @private
1479
+ * @ignore
1217
1480
  */
1218
- unSelect(): void;
1481
+ private __generateEntity;
1219
1482
  /**
1220
1483
  * @ignore
1221
1484
  */