@windypro-rourou/dsh-eda 0.1.3 → 0.1.5

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 (483) hide show
  1. package/README.md +3 -1
  2. package/lib/capabilities.js +3 -2
  3. package/lib/client.js +576 -452
  4. package/lib/index.js +89 -2
  5. package/package.json +10 -1
  6. package/skill/INDEX.md +10 -8
  7. package/skill/README.md +125 -0
  8. package/skill/README.zh-Hans.md +125 -0
  9. package/skill/SKILL.md +746 -746
  10. package/skill/format/index.md +152 -152
  11. package/skill/format/pcb/3d.md +166 -166
  12. package/skill/format/pcb/attr.md +63 -63
  13. package/skill/format/pcb/common.md +306 -306
  14. package/skill/format/pcb/component.md +132 -132
  15. package/skill/format/pcb/dimension.md +58 -58
  16. package/skill/format/pcb/index.md +17 -17
  17. package/skill/format/pcb/obj.md +43 -43
  18. package/skill/format/pcb/pad_via.md +151 -151
  19. package/skill/format/pcb/panel.md +64 -64
  20. package/skill/format/pcb/partition.md +43 -43
  21. package/skill/format/pcb/primitive.md +196 -196
  22. package/skill/format/pcb/rule.md +71 -71
  23. package/skill/format/pcb/shape.md +441 -441
  24. package/skill/format/pcb/text.md +62 -62
  25. package/skill/format/project/blob.md +30 -30
  26. package/skill/format/project/common.md +42 -42
  27. package/skill/format/project/group.md +62 -62
  28. package/skill/format/project/index.md +12 -12
  29. package/skill/format/project/instance.md +32 -32
  30. package/skill/format/project/meta.md +189 -189
  31. package/skill/format/project/variant.md +30 -30
  32. package/skill/format/schematic/attr.md +41 -41
  33. package/skill/format/schematic/common.md +47 -47
  34. package/skill/format/schematic/component.md +91 -91
  35. package/skill/format/schematic/index.md +14 -14
  36. package/skill/format/schematic/obj.md +41 -41
  37. package/skill/format/schematic/pin.md +59 -59
  38. package/skill/format/schematic/shape.md +231 -231
  39. package/skill/format/schematic/structure.md +53 -53
  40. package/skill/format/schematic/table.md +109 -109
  41. package/skill/format/schematic/text.md +47 -47
  42. package/skill/format/schematic/wire.md +132 -132
  43. package/skill/guide/ancillary-projects/easyeda-api-sdk.md +1 -0
  44. package/skill/guide/ancillary-projects/pro-api-types.md +5 -5
  45. package/skill/guide/ancillary-projects.md +10 -10
  46. package/skill/guide/cli.md +1510 -0
  47. package/skill/guide/error-handling.md +38 -38
  48. package/skill/guide/extension-json.md +135 -135
  49. package/skill/guide/extensions-marketplace.md +61 -61
  50. package/skill/guide/how-to-start.md +316 -301
  51. package/skill/guide/i18n.md +57 -57
  52. package/skill/guide/index.md +7 -7
  53. package/skill/guide/inline-frame.md +20 -20
  54. package/skill/guide/invoke-apis.md +81 -81
  55. package/skill/guide/stability.md +37 -37
  56. package/skill/references/_index.md +471 -398
  57. package/skill/references/_quick-reference.md +3103 -3028
  58. package/skill/references/classes/DMT_Board.md +537 -533
  59. package/skill/references/classes/DMT_EditorControl.md +1736 -1736
  60. package/skill/references/classes/DMT_Event.md +356 -356
  61. package/skill/references/classes/DMT_Folder.md +775 -775
  62. package/skill/references/classes/DMT_Panel.md +531 -531
  63. package/skill/references/classes/DMT_Pcb.md +579 -575
  64. package/skill/references/classes/DMT_Project.md +734 -573
  65. package/skill/references/classes/DMT_Schematic.md +1482 -1477
  66. package/skill/references/classes/DMT_SelectControl.md +96 -96
  67. package/skill/references/classes/DMT_Team.md +172 -172
  68. package/skill/references/classes/DMT_Workspace.md +198 -198
  69. package/skill/references/classes/EDA.md +1001 -961
  70. package/skill/references/classes/IPCB_ComplexPolygon.md +299 -299
  71. package/skill/references/classes/IPCB_Polygon.md +175 -175
  72. package/skill/references/classes/IPCB_PrimitiveArc.md +1901 -1901
  73. package/skill/references/classes/IPCB_PrimitiveAttribute.md +2993 -2993
  74. package/skill/references/classes/IPCB_PrimitiveComponent.md +2624 -2627
  75. package/skill/references/classes/IPCB_PrimitiveComponentPad.md +410 -410
  76. package/skill/references/classes/IPCB_PrimitiveDimension.md +1419 -1419
  77. package/skill/references/classes/IPCB_PrimitiveFill.md +1325 -1325
  78. package/skill/references/classes/IPCB_PrimitiveImage.md +1461 -1461
  79. package/skill/references/classes/IPCB_PrimitiveLine.md +1639 -1639
  80. package/skill/references/classes/IPCB_PrimitiveObject.md +1700 -1700
  81. package/skill/references/classes/IPCB_PrimitivePad.md +3155 -3155
  82. package/skill/references/classes/IPCB_PrimitivePolyline.md +1193 -1193
  83. package/skill/references/classes/IPCB_PrimitivePour.md +1858 -1858
  84. package/skill/references/classes/IPCB_PrimitivePoured.md +556 -556
  85. package/skill/references/classes/IPCB_PrimitiveRegion.md +1332 -1332
  86. package/skill/references/classes/IPCB_PrimitiveString.md +2315 -2315
  87. package/skill/references/classes/IPCB_PrimitiveVia.md +1588 -1588
  88. package/skill/references/classes/ISCH_PrimitiveArc.md +1676 -1676
  89. package/skill/references/classes/ISCH_PrimitiveAttribute.md +2541 -2541
  90. package/skill/references/classes/ISCH_PrimitiveBus.md +973 -973
  91. package/skill/references/classes/ISCH_PrimitiveCbbSymbolComponent.md +260 -260
  92. package/skill/references/classes/ISCH_PrimitiveCircle.md +1392 -1392
  93. package/skill/references/classes/ISCH_PrimitiveComponent.md +2910 -2913
  94. package/skill/references/classes/ISCH_PrimitiveComponentPin.md +155 -155
  95. package/skill/references/classes/ISCH_PrimitiveObject.md +960 -960
  96. package/skill/references/classes/ISCH_PrimitivePin.md +2402 -2402
  97. package/skill/references/classes/ISCH_PrimitivePolygon.md +1028 -1028
  98. package/skill/references/classes/ISCH_PrimitiveRectangle.md +1777 -1777
  99. package/skill/references/classes/ISCH_PrimitiveText.md +1771 -1771
  100. package/skill/references/classes/ISCH_PrimitiveWire.md +973 -973
  101. package/skill/references/classes/LIB_3DModel.md +782 -780
  102. package/skill/references/classes/LIB_Cbb.md +957 -957
  103. package/skill/references/classes/LIB_Classification.md +969 -965
  104. package/skill/references/classes/LIB_Device.md +1222 -1221
  105. package/skill/references/classes/LIB_Footprint.md +1298 -1153
  106. package/skill/references/classes/LIB_LibrariesList.md +361 -329
  107. package/skill/references/classes/LIB_PanelLibrary.md +855 -855
  108. package/skill/references/classes/LIB_SelectControl.md +89 -89
  109. package/skill/references/classes/LIB_SimulationModel.md +807 -821
  110. package/skill/references/classes/LIB_Symbol.md +1341 -1195
  111. package/skill/references/classes/PCB_Document.md +1770 -1754
  112. package/skill/references/classes/PCB_Drc.md +3379 -3375
  113. package/skill/references/classes/PCB_Event.md +1166 -1081
  114. package/skill/references/classes/PCB_ImageTool.md +363 -0
  115. package/skill/references/classes/PCB_Layer.md +1915 -1911
  116. package/skill/references/classes/PCB_ManufactureData.md +2968 -2968
  117. package/skill/references/classes/PCB_MathPolygon.md +916 -785
  118. package/skill/references/classes/PCB_Net.md +1128 -1128
  119. package/skill/references/classes/PCB_Primitive.md +217 -217
  120. package/skill/references/classes/PCB_PrimitiveArc.md +820 -894
  121. package/skill/references/classes/PCB_PrimitiveAttribute.md +635 -717
  122. package/skill/references/classes/PCB_PrimitiveComponent.md +1050 -1050
  123. package/skill/references/classes/PCB_PrimitiveDimension.md +789 -833
  124. package/skill/references/classes/PCB_PrimitiveFill.md +783 -861
  125. package/skill/references/classes/PCB_PrimitiveImage.md +803 -875
  126. package/skill/references/classes/PCB_PrimitiveLine.md +787 -858
  127. package/skill/references/classes/PCB_PrimitiveObject.md +796 -800
  128. package/skill/references/classes/PCB_PrimitivePad.md +947 -944
  129. package/skill/references/classes/PCB_PrimitivePolyline.md +744 -819
  130. package/skill/references/classes/PCB_PrimitivePour.md +808 -845
  131. package/skill/references/classes/PCB_PrimitivePoured.md +363 -363
  132. package/skill/references/classes/PCB_PrimitiveRegion.md +765 -799
  133. package/skill/references/classes/PCB_PrimitiveString.md +828 -910
  134. package/skill/references/classes/PCB_PrimitiveVia.md +761 -765
  135. package/skill/references/classes/PCB_RayTracerEngine.md +603 -263
  136. package/skill/references/classes/PCB_SelectControl.md +495 -495
  137. package/skill/references/classes/PCB_Tool.md +9 -0
  138. package/skill/references/classes/PNL_Document.md +83 -83
  139. package/skill/references/classes/SCH_Document.md +797 -809
  140. package/skill/references/classes/SCH_Drc.md +246 -242
  141. package/skill/references/classes/SCH_Event.md +583 -583
  142. package/skill/references/classes/SCH_ManufactureData.md +1209 -1205
  143. package/skill/references/classes/SCH_Net.md +200 -200
  144. package/skill/references/classes/SCH_Netlist.md +191 -191
  145. package/skill/references/classes/SCH_Primitive.md +337 -337
  146. package/skill/references/classes/SCH_PrimitiveArc.md +686 -692
  147. package/skill/references/classes/SCH_PrimitiveAttribute.md +579 -590
  148. package/skill/references/classes/SCH_PrimitiveBus.md +618 -624
  149. package/skill/references/classes/SCH_PrimitiveCircle.md +667 -683
  150. package/skill/references/classes/SCH_PrimitiveComponent.md +2256 -2240
  151. package/skill/references/classes/SCH_PrimitiveObject.md +666 -666
  152. package/skill/references/classes/SCH_PrimitivePin.md +737 -754
  153. package/skill/references/classes/SCH_PrimitivePolygon.md +621 -627
  154. package/skill/references/classes/SCH_PrimitiveRectangle.md +715 -731
  155. package/skill/references/classes/SCH_PrimitiveText.md +736 -746
  156. package/skill/references/classes/SCH_PrimitiveWire.md +701 -703
  157. package/skill/references/classes/SCH_SelectControl.md +520 -520
  158. package/skill/references/classes/SCH_SimulationEngine.md +133 -133
  159. package/skill/references/classes/SCH_Utils.md +121 -121
  160. package/skill/references/classes/SYS_ClientUrl.md +173 -173
  161. package/skill/references/classes/SYS_Dialog.md +825 -825
  162. package/skill/references/classes/SYS_Environment.md +640 -502
  163. package/skill/references/classes/SYS_ExternalApi.md +246 -0
  164. package/skill/references/classes/SYS_FileManager.md +1664 -1686
  165. package/skill/references/classes/SYS_FileSystem.md +1366 -1171
  166. package/skill/references/classes/SYS_FontManager.md +224 -224
  167. package/skill/references/classes/SYS_FormatConversion.md +349 -349
  168. package/skill/references/classes/SYS_HeaderMenu.md +480 -479
  169. package/skill/references/classes/SYS_Help.md +141 -0
  170. package/skill/references/classes/SYS_I18n.md +861 -861
  171. package/skill/references/classes/SYS_IFrame.md +541 -535
  172. package/skill/references/classes/SYS_LoadingAndProgressBar.md +246 -246
  173. package/skill/references/classes/SYS_Log.md +422 -424
  174. package/skill/references/classes/SYS_Math.md +1565 -1565
  175. package/skill/references/classes/SYS_Message.md +363 -363
  176. package/skill/references/classes/SYS_MessageBox.md +285 -285
  177. package/skill/references/classes/SYS_MessageBus.md +1618 -1618
  178. package/skill/references/classes/SYS_PanelControl.md +696 -696
  179. package/skill/references/classes/SYS_RightClickMenu.md +175 -175
  180. package/skill/references/classes/SYS_Setting.md +134 -85
  181. package/skill/references/classes/SYS_ShortcutKey.md +623 -623
  182. package/skill/references/classes/SYS_Storage.md +484 -484
  183. package/skill/references/classes/SYS_Timer.md +447 -447
  184. package/skill/references/classes/SYS_ToastMessage.md +194 -194
  185. package/skill/references/classes/SYS_Tool.md +317 -241
  186. package/skill/references/classes/SYS_Unit.md +594 -594
  187. package/skill/references/classes/SYS_WebSocket.md +401 -401
  188. package/skill/references/classes/SYS_Window.md +849 -850
  189. package/skill/references/enums/EDMT_EditorDocumentType.md +324 -278
  190. package/skill/references/enums/EDMT_EditorSplitScreenDirection.md +51 -47
  191. package/skill/references/enums/EDMT_EditorTabEventType.md +68 -62
  192. package/skill/references/enums/EDMT_IndicatorMarkerType.md +90 -80
  193. package/skill/references/enums/EDMT_ItemType.md +181 -157
  194. package/skill/references/enums/EDMT_ProjectCollaborationMode.md +51 -47
  195. package/skill/references/enums/EDMT_ProjectFileFormat.md +60 -0
  196. package/skill/references/enums/EDMT_ProjectReadyState.md +82 -0
  197. package/skill/references/enums/ELIB_DeviceJlcLibraryCategory.md +51 -47
  198. package/skill/references/enums/ELIB_LibraryType.md +129 -113
  199. package/skill/references/enums/ELIB_PreviewType.md +77 -69
  200. package/skill/references/enums/ELIB_SimulationModelType.md +51 -47
  201. package/skill/references/enums/ELIB_SymbolType.md +142 -124
  202. package/skill/references/enums/EPCB_AutoRoutingCornerStyle.md +51 -47
  203. package/skill/references/enums/EPCB_AutoRoutingExistingPrimitiveMode.md +51 -47
  204. package/skill/references/enums/EPCB_AutoRoutingOptimization.md +51 -47
  205. package/skill/references/enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md +51 -47
  206. package/skill/references/enums/EPCB_DocumentRatlineCalculatingActiveStatus.md +55 -51
  207. package/skill/references/enums/EPCB_InactiveLayerDisplayMode.md +64 -58
  208. package/skill/references/enums/EPCB_LayerColorConfiguration.md +90 -80
  209. package/skill/references/enums/EPCB_LayerId.md +1169 -881
  210. package/skill/references/enums/EPCB_LayerStatus.md +64 -58
  211. package/skill/references/enums/EPCB_LayerType.md +129 -113
  212. package/skill/references/enums/EPCB_MouseEventType.md +64 -58
  213. package/skill/references/enums/EPCB_NetEventType.md +64 -58
  214. package/skill/references/enums/EPCB_PcbPlateType.md +51 -47
  215. package/skill/references/enums/EPCB_PdfOutputMethod.md +64 -58
  216. package/skill/references/enums/EPCB_PrimitiveArcInteractiveMode.md +51 -47
  217. package/skill/references/enums/EPCB_PrimitiveDimensionType.md +64 -58
  218. package/skill/references/enums/EPCB_PrimitiveEventType.md +64 -58
  219. package/skill/references/enums/EPCB_PrimitiveFillMode.md +68 -62
  220. package/skill/references/enums/EPCB_PrimitivePadHeatWeldingConnectionMethod.md +64 -58
  221. package/skill/references/enums/EPCB_PrimitivePadHoleType.md +64 -58
  222. package/skill/references/enums/EPCB_PrimitivePadShapeType.md +90 -80
  223. package/skill/references/enums/EPCB_PrimitivePadType.md +64 -58
  224. package/skill/references/enums/EPCB_PrimitivePourFillMethod.md +64 -58
  225. package/skill/references/enums/EPCB_PrimitiveRegionRuleType.md +107 -95
  226. package/skill/references/enums/EPCB_PrimitiveStringAlignMode.md +142 -124
  227. package/skill/references/enums/EPCB_PrimitiveType.md +233 -201
  228. package/skill/references/enums/EPCB_PrimitiveViaType.md +64 -58
  229. package/skill/references/enums/ESCH_DynamicSimulationEnginePullEventType.md +116 -102
  230. package/skill/references/enums/ESCH_DynamicSimulationEnginePushEventType.md +90 -80
  231. package/skill/references/enums/ESCH_ExportDocumentFileType.md +64 -58
  232. package/skill/references/enums/ESCH_MouseEventType.md +51 -47
  233. package/skill/references/enums/ESCH_PrimitiveComponentType.md +142 -124
  234. package/skill/references/enums/ESCH_PrimitiveEventType.md +77 -69
  235. package/skill/references/enums/ESCH_PrimitiveFillStyle.md +129 -113
  236. package/skill/references/enums/ESCH_PrimitiveLineType.md +77 -69
  237. package/skill/references/enums/ESCH_PrimitivePinShape.md +77 -69
  238. package/skill/references/enums/ESCH_PrimitivePinType.md +168 -146
  239. package/skill/references/enums/ESCH_PrimitiveTextAlignMode.md +142 -124
  240. package/skill/references/enums/ESCH_PrimitiveType.md +207 -179
  241. package/skill/references/enums/ESCH_SimulationNetlistType.md +38 -36
  242. package/skill/references/enums/ESCH_SpiceSimulationEnginePullEventType.md +51 -47
  243. package/skill/references/enums/ESCH_SpiceSimulationEnginePushEventType.md +77 -69
  244. package/skill/references/enums/ESYS_BottomPanelTab.md +94 -80
  245. package/skill/references/enums/ESYS_HeaderMenuEnvironment.md +181 -157
  246. package/skill/references/enums/ESYS_ImportProjectBoardOutlineSource.md +55 -51
  247. package/skill/references/enums/ESYS_ImportProjectImportOption.md +64 -58
  248. package/skill/references/enums/ESYS_ImportProjectSchematicObjectStyle.md +51 -47
  249. package/skill/references/enums/ESYS_ImportProjectViaSolderMaskExpansion.md +55 -51
  250. package/skill/references/enums/ESYS_JobState.md +95 -0
  251. package/skill/references/enums/ESYS_LeftPanelTab.md +94 -80
  252. package/skill/references/enums/ESYS_LogType.md +77 -102
  253. package/skill/references/enums/ESYS_NetlistType.md +129 -113
  254. package/skill/references/enums/ESYS_PanelPosition.md +69 -0
  255. package/skill/references/enums/ESYS_PanelTab.md +368 -0
  256. package/skill/references/enums/ESYS_RightPanelTab.md +237 -201
  257. package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorRange.md +220 -190
  258. package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorScene.md +103 -91
  259. package/skill/references/enums/ESYS_StartPageQuickStartItem.md +237 -205
  260. package/skill/references/enums/ESYS_Theme.md +51 -47
  261. package/skill/references/enums/ESYS_ToastMessageType.md +90 -80
  262. package/skill/references/enums/ESYS_Unit.md +116 -102
  263. package/skill/references/enums/ESYS_WindowEventType.md +64 -47
  264. package/skill/references/enums/ESYS_WindowOpenTarget.md +51 -47
  265. package/skill/references/enums/NetportDeviceName.md +146 -146
  266. package/skill/references/enums/SchToolBarDeviceName.md +278 -278
  267. package/skill/references/interfaces/BoardProps.md +169 -169
  268. package/skill/references/interfaces/BorderConfig.md +109 -0
  269. package/skill/references/interfaces/ButtonProps.md +196 -169
  270. package/skill/references/interfaces/CellClickInfo.md +142 -0
  271. package/skill/references/interfaces/CellCoord.md +88 -0
  272. package/skill/references/interfaces/CheckBoxProps.md +223 -196
  273. package/skill/references/interfaces/CheckChangeDetail.md +88 -0
  274. package/skill/references/interfaces/CheckboxEditConfig.md +159 -0
  275. package/skill/references/interfaces/ClipboardCellData.md +142 -0
  276. package/skill/references/interfaces/ClipboardConfig.md +115 -0
  277. package/skill/references/interfaces/ColorPickerProps.md +169 -0
  278. package/skill/references/interfaces/ColumnDef.md +605 -0
  279. package/skill/references/interfaces/ColumnEditTrigger.md +57 -0
  280. package/skill/references/interfaces/ColumnGroupDef.md +192 -0
  281. package/skill/references/interfaces/ColumnResizeConfig.md +142 -0
  282. package/skill/references/interfaces/ComponentPropsMap.md +517 -448
  283. package/skill/references/interfaces/CustomHeaderConfig.md +169 -0
  284. package/skill/references/interfaces/DialogProps.md +385 -385
  285. package/skill/references/interfaces/DragSortConfig.md +115 -0
  286. package/skill/references/interfaces/EditingConfig.md +196 -0
  287. package/skill/references/interfaces/FilteringConfig.md +250 -0
  288. package/skill/references/interfaces/FixedColumnConfig.md +88 -0
  289. package/skill/references/interfaces/FlexItemProps.md +116 -116
  290. package/skill/references/interfaces/FlexProps.md +224 -224
  291. package/skill/references/interfaces/GridItemProps.md +143 -143
  292. package/skill/references/interfaces/GridProps.md +143 -143
  293. package/skill/references/interfaces/IDMT_BoardItem.md +171 -171
  294. package/skill/references/interfaces/IDMT_BriefProjectItem.md +171 -171
  295. package/skill/references/interfaces/IDMT_EditorDocumentItem.md +169 -169
  296. package/skill/references/interfaces/IDMT_EditorSplitScreenItem.md +173 -173
  297. package/skill/references/interfaces/IDMT_EditorTabItem.md +169 -169
  298. package/skill/references/interfaces/IDMT_FolderItem.md +225 -225
  299. package/skill/references/interfaces/IDMT_IndicatorMarkerShape.md +393 -393
  300. package/skill/references/interfaces/IDMT_PanelItem.md +144 -144
  301. package/skill/references/interfaces/IDMT_PcbItem.md +171 -171
  302. package/skill/references/interfaces/IDMT_ProjectItem.md +143 -143
  303. package/skill/references/interfaces/IDMT_SchematicItem.md +225 -225
  304. package/skill/references/interfaces/IDMT_SchematicPageItem.md +198 -198
  305. package/skill/references/interfaces/IDMT_TeamItem.md +144 -144
  306. package/skill/references/interfaces/IDMT_WorkspaceItem.md +117 -117
  307. package/skill/references/interfaces/IDesignPortal.md +103 -103
  308. package/skill/references/interfaces/ILIB_3DModelItem.md +198 -198
  309. package/skill/references/interfaces/ILIB_3DModelSearchItem.md +277 -277
  310. package/skill/references/interfaces/ILIB_CbbItem.md +225 -225
  311. package/skill/references/interfaces/ILIB_CbbSearchItem.md +277 -277
  312. package/skill/references/interfaces/ILIB_ClassificationIndex.md +150 -150
  313. package/skill/references/interfaces/ILIB_ClassificationNode.md +98 -0
  314. package/skill/references/interfaces/ILIB_DeviceAssociationItem.md +210 -210
  315. package/skill/references/interfaces/ILIB_DeviceExtendPropertyItem.md +304 -304
  316. package/skill/references/interfaces/ILIB_DeviceItem.md +279 -279
  317. package/skill/references/interfaces/ILIB_DevicePropertiesForSearch.md +250 -250
  318. package/skill/references/interfaces/ILIB_DeviceSearchItem.md +521 -521
  319. package/skill/references/interfaces/ILIB_ExtendLibrary3DModelFunctions.md +64 -64
  320. package/skill/references/interfaces/ILIB_ExtendLibraryCbbFunctions.md +93 -99
  321. package/skill/references/interfaces/ILIB_ExtendLibraryClassificationIndex.md +150 -150
  322. package/skill/references/interfaces/ILIB_ExtendLibraryDeviceFunctions.md +143 -157
  323. package/skill/references/interfaces/ILIB_ExtendLibraryFootprintFunctions.md +63 -63
  324. package/skill/references/interfaces/ILIB_ExtendLibraryFunctions.md +123 -123
  325. package/skill/references/interfaces/ILIB_ExtendLibraryItem.md +97 -97
  326. package/skill/references/interfaces/ILIB_ExtendLibraryItemIndex.md +98 -98
  327. package/skill/references/interfaces/ILIB_ExtendLibrarySearchProperty.md +115 -115
  328. package/skill/references/interfaces/ILIB_ExtendLibrarySearchResult.md +169 -169
  329. package/skill/references/interfaces/ILIB_ExtendLibrarySearchResultDataLine.md +234 -234
  330. package/skill/references/interfaces/ILIB_ExtendLibrarySymbolFunctions.md +91 -105
  331. package/skill/references/interfaces/ILIB_ExtendLibraryUserIndex.md +96 -96
  332. package/skill/references/interfaces/ILIB_FootprintItem.md +256 -198
  333. package/skill/references/interfaces/ILIB_FootprintPropertiesForSearch.md +61 -61
  334. package/skill/references/interfaces/ILIB_FootprintSearchItem.md +277 -277
  335. package/skill/references/interfaces/ILIB_LibraryInfo.md +92 -92
  336. package/skill/references/interfaces/ILIB_LibraryItem.md +115 -115
  337. package/skill/references/interfaces/ILIB_PanelLibraryItem.md +198 -198
  338. package/skill/references/interfaces/ILIB_PanelLibrarySearchItem.md +277 -277
  339. package/skill/references/interfaces/ILIB_RegisterExtendLibraryProps.md +71 -0
  340. package/skill/references/interfaces/ILIB_SimulationModelItem.md +306 -306
  341. package/skill/references/interfaces/ILIB_SimulationModelSearchItem.md +304 -304
  342. package/skill/references/interfaces/ILIB_SymbolItem.md +306 -279
  343. package/skill/references/interfaces/ILIB_SymbolPropertiesForSearch.md +61 -61
  344. package/skill/references/interfaces/ILIB_SymbolSearchItem.md +304 -304
  345. package/skill/references/interfaces/IPCB_AutoLayoutResult.md +169 -169
  346. package/skill/references/interfaces/IPCB_AutoRoutingProps.md +220 -220
  347. package/skill/references/interfaces/IPCB_AutoRoutingResult.md +169 -169
  348. package/skill/references/interfaces/IPCB_BomPropertiesTableColumns.md +169 -169
  349. package/skill/references/interfaces/IPCB_DifferentialPairItem.md +115 -115
  350. package/skill/references/interfaces/IPCB_DiscretizeOptions.md +65 -65
  351. package/skill/references/interfaces/IPCB_DiscretizedPoint.md +88 -88
  352. package/skill/references/interfaces/IPCB_EqualLengthNetGroupItem.md +115 -115
  353. package/skill/references/interfaces/IPCB_LayerItem.md +277 -277
  354. package/skill/references/interfaces/IPCB_NetClassItem.md +115 -115
  355. package/skill/references/interfaces/IPCB_NetInfo.md +115 -115
  356. package/skill/references/interfaces/IPCB_PadPairGroupItem.md +88 -88
  357. package/skill/references/interfaces/IPCB_PadPairMinWireLengthItem.md +88 -88
  358. package/skill/references/interfaces/IPCB_PhysicalStackingConfiguration.md +115 -115
  359. package/skill/references/interfaces/IPCB_Primitive.md +218 -218
  360. package/skill/references/interfaces/IPCB_PrimitiveAPI.md +174 -175
  361. package/skill/references/interfaces/IPCB_PrimitivePadHeatWelding.md +151 -151
  362. package/skill/references/interfaces/IPCB_PrimitivePouredPourFill.md +142 -142
  363. package/skill/references/interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md +154 -154
  364. package/skill/references/interfaces/IPCB_RayTracerBackgroundConfig.md +223 -0
  365. package/skill/references/interfaces/IPCB_RayTracerLightConfig.md +412 -0
  366. package/skill/references/interfaces/IPCB_RayTracerMaterialConfig.md +547 -0
  367. package/skill/references/interfaces/IPCB_RayTracerPcbMaterialConfig.md +196 -0
  368. package/skill/references/interfaces/IPCB_RayTracerRenderConfigurations.md +200 -0
  369. package/skill/references/interfaces/IPCB_RayTracerRendererConfig.md +196 -0
  370. package/skill/references/interfaces/IPCB_RayTracerSceneElement.md +115 -0
  371. package/skill/references/interfaces/IPCB_RayTracerSceneElementTransform.md +123 -0
  372. package/skill/references/interfaces/IPCB_RayTracerTexture.md +88 -0
  373. package/skill/references/interfaces/IPCB_SubstratePhysicalProperties.md +88 -88
  374. package/skill/references/interfaces/IRawNet.md +103 -103
  375. package/skill/references/interfaces/IRawPureSchematic.md +80 -80
  376. package/skill/references/interfaces/IRawSchematic.md +103 -103
  377. package/skill/references/interfaces/IRawWire.md +149 -149
  378. package/skill/references/interfaces/ISCH_DrcError.md +142 -142
  379. package/skill/references/interfaces/ISCH_DrcErrorPrimitive.md +142 -142
  380. package/skill/references/interfaces/ISCH_ExportPngResolution.md +94 -94
  381. package/skill/references/interfaces/ISCH_NetInfo.md +88 -88
  382. package/skill/references/interfaces/ISCH_Primitive.md +218 -219
  383. package/skill/references/interfaces/ISCH_PrimitiveAPI.md +174 -175
  384. package/skill/references/interfaces/ISCH_ProjectNetInfo.md +142 -142
  385. package/skill/references/interfaces/ISCH_WireInfo.md +169 -169
  386. package/skill/references/interfaces/ISYS_ComparisonResponse.md +115 -0
  387. package/skill/references/interfaces/ISYS_ExtensionExternalApiIndex.md +13 -0
  388. package/skill/references/interfaces/ISYS_ExtensionRegisteredExternalApis.md +13 -0
  389. package/skill/references/interfaces/ISYS_ExternalApiHelp.md +173 -0
  390. package/skill/references/interfaces/ISYS_ExternalApiRegistration.md +146 -0
  391. package/skill/references/interfaces/ISYS_FileSystemFileList.md +169 -169
  392. package/skill/references/interfaces/ISYS_HeaderMenuSub1MenuItem.md +205 -174
  393. package/skill/references/interfaces/ISYS_HeaderMenuSub2MenuItem.md +178 -147
  394. package/skill/references/interfaces/ISYS_HeaderMenuTopMenuItem.md +115 -115
  395. package/skill/references/interfaces/ISYS_HeaderMenus.md +408 -408
  396. package/skill/references/interfaces/ISYS_HelpAudienceEntry.md +92 -0
  397. package/skill/references/interfaces/ISYS_HelpClassSummary.md +205 -0
  398. package/skill/references/interfaces/ISYS_HelpData.md +92 -0
  399. package/skill/references/interfaces/ISYS_HelpMethodDetail.md +310 -0
  400. package/skill/references/interfaces/ISYS_JobHandle.md +65 -0
  401. package/skill/references/interfaces/ISYS_JobLogEntry.md +142 -0
  402. package/skill/references/interfaces/ISYS_JobStatus.md +176 -0
  403. package/skill/references/interfaces/ISYS_LogLine.md +115 -115
  404. package/skill/references/interfaces/ISYS_MathBBox.md +142 -142
  405. package/skill/references/interfaces/ISYS_MathPoint.md +88 -88
  406. package/skill/references/interfaces/ISYS_MathPolygonWithHoles.md +92 -92
  407. package/skill/references/interfaces/ISYS_MessageBusTask.md +115 -115
  408. package/skill/references/interfaces/ISYS_MultilingualLanguagesData.md +12 -12
  409. package/skill/references/interfaces/ISYS_RightClickMenuItem.md +174 -174
  410. package/skill/references/interfaces/ISYS_ShortcutKeyData.md +169 -169
  411. package/skill/references/interfaces/ISYS_ShortcutKeyDataWithCallFn.md +62 -62
  412. package/skill/references/interfaces/ISYS_ShortcutKeyDataWithUserDefinedShortcutKey.md +62 -62
  413. package/skill/references/interfaces/ISYS_WindowEventListenerRemovableObject.md +109 -109
  414. package/skill/references/interfaces/IconProps.md +88 -88
  415. package/skill/references/interfaces/ImageProps.md +115 -115
  416. package/skill/references/interfaces/InputEditConfig.md +182 -0
  417. package/skill/references/interfaces/InputProps.md +547 -520
  418. package/skill/references/interfaces/KeyboardConfig.md +61 -0
  419. package/skill/references/interfaces/ListChildren.md +223 -223
  420. package/skill/references/interfaces/ListProps.md +250 -223
  421. package/skill/references/interfaces/ModalProps.md +358 -358
  422. package/skill/references/interfaces/NumberEditConfig.md +234 -0
  423. package/skill/references/interfaces/RadioGroupProps.md +196 -196
  424. package/skill/references/interfaces/RadioItem.md +115 -115
  425. package/skill/references/interfaces/RichTableProps.md +1357 -0
  426. package/skill/references/interfaces/RowMetaConfig.md +142 -0
  427. package/skill/references/interfaces/ScrollerProps.md +169 -169
  428. package/skill/references/interfaces/SelectEditConfig.md +211 -0
  429. package/skill/references/interfaces/SelectListItem.md +142 -142
  430. package/skill/references/interfaces/SelectOption.md +142 -0
  431. package/skill/references/interfaces/SelectProps.md +169 -169
  432. package/skill/references/interfaces/SelectionConfig.md +358 -0
  433. package/skill/references/interfaces/SliderProps.md +142 -0
  434. package/skill/references/interfaces/SlotProps.md +88 -88
  435. package/skill/references/interfaces/SortState.md +88 -0
  436. package/skill/references/interfaces/SortingConfig.md +169 -0
  437. package/skill/references/interfaces/StyleProps.md +439 -385
  438. package/skill/references/interfaces/TextAreaProps.md +196 -196
  439. package/skill/references/interfaces/TextProps.md +169 -169
  440. package/skill/references/interfaces/TextareaEditConfig.md +182 -0
  441. package/skill/references/interfaces/ValidationRule.md +223 -0
  442. package/skill/references/interfaces/VirtualScrollConfig.md +115 -0
  443. package/skill/references/types/Align.md +9 -0
  444. package/skill/references/types/CellContentType.md +9 -0
  445. package/skill/references/types/ColumnDefOrGroup.md +12 -0
  446. package/skill/references/types/ColumnEditConfig.md +13 -0
  447. package/skill/references/types/ColumnType.md +9 -0
  448. package/skill/references/types/DataChangeType.md +9 -0
  449. package/skill/references/types/FilterMatchMode.md +9 -0
  450. package/skill/references/types/RichTableRow.md +12 -0
  451. package/skill/references/types/Serializable.md +10 -0
  452. package/skill/references/types/SerializablePrimitive.md +9 -0
  453. package/skill/references/types/SortOrder.md +9 -0
  454. package/skill/references/types/TPCB_LayerTypesOfInnerLayer.md +11 -11
  455. package/skill/references/types/TPCB_LayersInTheSelectable.md +42 -42
  456. package/skill/references/types/TPCB_LayersOfComponent.md +11 -11
  457. package/skill/references/types/TPCB_LayersOfCopper.md +15 -15
  458. package/skill/references/types/TPCB_LayersOfCustom.md +41 -41
  459. package/skill/references/types/TPCB_LayersOfDimension.md +16 -16
  460. package/skill/references/types/TPCB_LayersOfFill.md +28 -28
  461. package/skill/references/types/TPCB_LayersOfImage.md +22 -22
  462. package/skill/references/types/TPCB_LayersOfInner.md +41 -41
  463. package/skill/references/types/TPCB_LayersOfLine.md +25 -25
  464. package/skill/references/types/TPCB_LayersOfObject.md +12 -12
  465. package/skill/references/types/TPCB_LayersOfPad.md +11 -11
  466. package/skill/references/types/TPCB_LayersOfRegion.md +11 -11
  467. package/skill/references/types/TPCB_NumberOfCopperLayers.md +9 -9
  468. package/skill/references/types/TPCB_PolygonSourceArray.md +85 -83
  469. package/skill/references/types/TPCB_PrimitiveDimensionCoordinateSet.md +66 -66
  470. package/skill/references/types/TPCB_PrimitivePadHole.md +30 -30
  471. package/skill/references/types/TPCB_PrimitivePadShape.md +61 -61
  472. package/skill/references/types/TPCB_PrimitiveSpecialPadShape.md +19 -19
  473. package/skill/references/types/TSYS_ComparisonErrorCode.md +15 -0
  474. package/skill/references/types/TSYS_LanguageKeyValuePairs.md +13 -0
  475. package/skill/references/types/TSYS_MathPolygonGroup.md +15 -15
  476. package/skill/references/types/TSYS_MathPolygonInput.md +20 -20
  477. package/skill/references/types/TSYS_ShortcutKeys.md +96 -96
  478. package/skill/user-guide/using-extension.md +47 -47
  479. package/src/json-gen.test.js +430 -0
  480. package/skill/guide/ancillary-projects/pro-api-sdk.md +0 -1
  481. package/skill/references/interfaces/ISYS_PcbComparisonResponse.md +0 -115
  482. package/skill/references/types/ISYS_LanguageKeyValuePairs.md +0 -13
  483. package/skill/references/types/TSYS_PcbComparisonErrorCode.md +0 -10
@@ -1,1171 +1,1366 @@
1
- # SYS\_FileSystem class
2
-
3
- System / file system interaction class
4
-
5
- ## Signature
6
-
7
- ```typescript
8
- class SYS_FileSystem
9
- ```
10
-
11
- ## Remarks
12
-
13
- ## Methods
14
-
15
- <table><thead><tr><th>
16
-
17
- Method
18
-
19
- </th><th>
20
-
21
- Modifiers
22
-
23
- </th><th>
24
-
25
- Description
26
-
27
- </th></tr></thead>
28
- <tbody><tr><td>
29
-
30
- [createDirectoryInFileSystem(folderPath)](./SYS_FileSystem.md)
31
-
32
- </td><td>
33
-
34
- </td><td>
35
-
36
- **_(BETA)_** In file system in create folder
37
-
38
- </td></tr>
39
- <tr><td>
40
-
41
- [createObjectURL(blob)](./SYS_FileSystem.md)
42
-
43
- </td><td>
44
-
45
- </td><td>
46
-
47
- Create ObjectURL
48
-
49
- </td></tr>
50
- <tr><td>
51
-
52
- [deleteFileInFileSystem(uri, force)](./SYS_FileSystem.md)
53
-
54
- </td><td>
55
-
56
- </td><td>
57
-
58
- **_(BETA)_** Delete a file in the file system
59
-
60
- </td></tr>
61
- <tr><td>
62
-
63
- [existsPathInFileSystem(uri)](./SYS_FileSystem.md)
64
-
65
- </td><td>
66
-
67
- </td><td>
68
-
69
- **_(BETA)_** Check whether a file or directory exists in the file system
70
-
71
- </td></tr>
72
- <tr><td>
73
-
74
- [getDocumentsPath()](./SYS_FileSystem.md)
75
-
76
- </td><td>
77
-
78
- </td><td>
79
-
80
- **_(BETA)_** Get the document directory path
81
-
82
- </td></tr>
83
- <tr><td>
84
-
85
- [getEdaPath()](./SYS_FileSystem.md)
86
-
87
- </td><td>
88
-
89
- </td><td>
90
-
91
- **_(BETA)_** Get the EDA document directory path
92
-
93
- </td></tr>
94
- <tr><td>
95
-
96
- [getExtensionFile(uri)](./SYS_FileSystem.md)
97
-
98
- </td><td>
99
-
100
- </td><td>
101
-
102
- Get a file from the extension
103
-
104
- </td></tr>
105
- <tr><td>
106
-
107
- [getLibrariesPaths()](./SYS_FileSystem.md)
108
-
109
- </td><td>
110
-
111
- </td><td>
112
-
113
- **_(BETA)_** Get the library directory paths
114
-
115
- </td></tr>
116
- <tr><td>
117
-
118
- [getProjectsPaths()](./SYS_FileSystem.md)
119
-
120
- </td><td>
121
-
122
- </td><td>
123
-
124
- **_(BETA)_** Get the project directory paths
125
-
126
- </td></tr>
127
- <tr><td>
128
-
129
- [listFilesOfFileSystem(folderPath, recursive)](./SYS_FileSystem.md)
130
-
131
- </td><td>
132
-
133
- </td><td>
134
-
135
- **_(BETA)_** View the file list under a file system path
136
-
137
- </td></tr>
138
- <tr><td>
139
-
140
- [openReadFileDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
141
-
142
- </td><td>
143
-
144
- </td><td>
145
-
146
- **_(BETA)_** Open the read-file dialog
147
-
148
- </td></tr>
149
- <tr><td>
150
-
151
- [openReadFileDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
152
-
153
- </td><td>
154
-
155
- </td><td>
156
-
157
- **_(BETA)_** Open the read-file dialog
158
-
159
- </td></tr>
160
- <tr><td>
161
-
162
- [openReadFolderDialog()](./SYS_FileSystem.md)
163
-
164
- </td><td>
165
-
166
- </td><td>
167
-
168
- **_(BETA)_** Open the read-folder dialog
169
-
170
- </td></tr>
171
- <tr><td>
172
-
173
- [readFileFromFileSystem(uri)](./SYS_FileSystem.md)
174
-
175
- </td><td>
176
-
177
- </td><td>
178
-
179
- **_(BETA)_** Read a file from the file system
180
-
181
- </td></tr>
182
- <tr><td>
183
-
184
- [revokeObjectURL(url)](./SYS_FileSystem.md)
185
-
186
- </td><td>
187
-
188
- </td><td>
189
-
190
- Revoke the ObjectURL
191
-
192
- </td></tr>
193
- <tr><td>
194
-
195
- [saveFile(fileData, fileName)](./SYS_FileSystem.md)
196
-
197
- </td><td>
198
-
199
- </td><td>
200
-
201
- Save File
202
-
203
- </td></tr>
204
- <tr><td>
205
-
206
- [saveFileToFileSystem(uri, fileData, fileName, force)](./SYS_FileSystem.md)
207
-
208
- </td><td>
209
-
210
- </td><td>
211
-
212
- **_(BETA)_** Write a file to the file system
213
-
214
- </td></tr>
215
- </tbody></table>
216
-
217
- ---
218
-
219
- ## 方法详情
220
-
221
- ### createdirectoryinfilesystem
222
-
223
- # SYS\_FileSystem.createDirectoryInFileSystem() method
224
-
225
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
226
-
227
- In file system in create folder
228
-
229
- ## Signature
230
-
231
- ```typescript
232
- function createDirectoryInFileSystem(folderPath: string): Promise<boolean>;
233
- ```
234
-
235
- ## Parameters
236
-
237
- <table><thead><tr><th>
238
-
239
- Parameter
240
-
241
- </th><th>
242
-
243
- Type
244
-
245
- </th><th>
246
-
247
- Description
248
-
249
- </th></tr></thead>
250
- <tbody><tr><td>
251
-
252
- folderPath
253
-
254
- </td><td>
255
-
256
- string
257
-
258
- </td><td>
259
-
260
- Folder path
261
-
262
- </td></tr>
263
- </tbody></table>
264
-
265
- ## Returns
266
-
267
- Promise&lt;boolean&gt;
268
-
269
- Create Whether the operation is successful
270
-
271
- ## Remarks
272
-
273
- Supports recursively creating multi-level directories
274
-
275
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
276
-
277
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error` ADD since EDA v3.2.166
278
-
279
- ### createobjecturl
280
-
281
- # SYS\_FileSystem.createObjectURL() method
282
-
283
- Create ObjectURL
284
-
285
- ## Signature
286
-
287
- ```typescript
288
- function createObjectURL(blob: Blob | File): string;
289
- ```
290
-
291
- ## Parameters
292
-
293
- <table><thead><tr><th>
294
-
295
- Parameter
296
-
297
- </th><th>
298
-
299
- Type
300
-
301
- </th><th>
302
-
303
- Description
304
-
305
- </th></tr></thead>
306
- <tbody><tr><td>
307
-
308
- blob
309
-
310
- </td><td>
311
-
312
- Blob \| File
313
-
314
- </td><td>
315
-
316
- Blob or File object
317
-
318
- </td></tr>
319
- </tbody></table>
320
-
321
- ## Returns
322
-
323
- string
324
-
325
- ObjectURL string
326
-
327
- ## Remarks
328
-
329
- Create an ObjectURL pointing to the passed-in Blob / File object ADD since EDA v3.2.162
330
-
331
- ## Example
332
-
333
- ```javascript
334
- // 1. 构造一段文本数据
335
- const blob = new Blob(['嘉立创示例数据'], { type: 'text/plain' });
336
-
337
- // 2. 创建 ObjectURL(同步方法,直接返回字符串)
338
- const url = eda.sys_FileSystem.createObjectURL(blob);
339
-
340
- console.log('ObjectURL:', url);
341
- ```
342
-
343
- ### deletefileinfilesystem
344
-
345
- # SYS\_FileSystem.deleteFileInFileSystem() method
346
-
347
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
348
-
349
- Delete a file in the file system
350
-
351
- ## Signature
352
-
353
- ```typescript
354
- function deleteFileInFileSystem(uri: string, force?: boolean): Promise<boolean>;
355
- ```
356
-
357
- ## Parameters
358
-
359
- <table><thead><tr><th>
360
-
361
- Parameter
362
-
363
- </th><th>
364
-
365
- Type
366
-
367
- </th><th>
368
-
369
- Description
370
-
371
- </th></tr></thead>
372
- <tbody><tr><td>
373
-
374
- uri
375
-
376
- </td><td>
377
-
378
- string
379
-
380
- </td><td>
381
-
382
- File resource locator. If it ends with a slash `/` (a backslash `\` on Windows), it is recognized as a folder; if it does not end with a slash, it is recognized as a complete file name, in which case the `fileName` parameter is ignored
383
-
384
- </td></tr>
385
- <tr><td>
386
-
387
- force
388
-
389
- </td><td>
390
-
391
- boolean
392
-
393
- </td><td>
394
-
395
- _(Optional)_ Force delete the folder (whether to force delete the folder when the target is a folder containing files)
396
-
397
- </td></tr>
398
- </tbody></table>
399
-
400
- ## Returns
401
-
402
- Promise&lt;boolean&gt;
403
-
404
- Delete Whether the operation is successful
405
-
406
- ## Remarks
407
-
408
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
409
-
410
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
411
-
412
- ### existspathinfilesystem
413
-
414
- # SYS\_FileSystem.existsPathInFileSystem() method
415
-
416
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
417
-
418
- Check whether a file or directory exists in the file system
419
-
420
- ## Signature
421
-
422
- ```typescript
423
- function existsPathInFileSystem(uri: string): Promise<boolean>;
424
- ```
425
-
426
- ## Parameters
427
-
428
- <table><thead><tr><th>
429
-
430
- Parameter
431
-
432
- </th><th>
433
-
434
- Type
435
-
436
- </th><th>
437
-
438
- Description
439
-
440
- </th></tr></thead>
441
- <tbody><tr><td>
442
-
443
- uri
444
-
445
- </td><td>
446
-
447
- string
448
-
449
- </td><td>
450
-
451
- File resource locator. An absolute path containing the complete file name is required
452
-
453
- </td></tr>
454
- </tbody></table>
455
-
456
- ## Returns
457
-
458
- Promise&lt;boolean&gt;
459
-
460
- Whether the file or directory exists
461
-
462
- ## Remarks
463
-
464
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
465
-
466
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error` ADD since EDA v3.2.167
467
-
468
- ### getdocumentspath
469
-
470
- # SYS\_FileSystem.getDocumentsPath() method
471
-
472
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
473
-
474
- Get the document directory path
475
-
476
- ## Signature
477
-
478
- ```typescript
479
- function getDocumentsPath(): Promise<string>;
480
- ```
481
-
482
- ## Returns
483
-
484
- Promise&lt;string&gt;
485
-
486
- Document directory path
487
-
488
- ## Remarks
489
-
490
- In the returned path, the end does not contain a slash `/` (or a backslash `\`<!-- -->)
491
-
492
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
493
-
494
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
495
-
496
- ### getedapath
497
-
498
- # SYS\_FileSystem.getEdaPath() method
499
-
500
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
501
-
502
- Get the EDA document directory path
503
-
504
- ## Signature
505
-
506
- ```typescript
507
- function getEdaPath(): Promise<string>;
508
- ```
509
-
510
- ## Returns
511
-
512
- Promise&lt;string&gt;
513
-
514
- EDA document directory path
515
-
516
- ## Remarks
517
-
518
- In the returned path, the end does not contain a slash `/` (or a backslash `\`<!-- -->)
519
-
520
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
521
-
522
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
523
-
524
- ### getextensionfile
525
-
526
- # SYS\_FileSystem.getExtensionFile() method
527
-
528
- Get a file from the extension
529
-
530
- ## Signature
531
-
532
- ```typescript
533
- function getExtensionFile(uri: string): Promise<File | undefined>;
534
- ```
535
-
536
- ## Parameters
537
-
538
- <table><thead><tr><th>
539
-
540
- Parameter
541
-
542
- </th><th>
543
-
544
- Type
545
-
546
- </th><th>
547
-
548
- Description
549
-
550
- </th></tr></thead>
551
- <tbody><tr><td>
552
-
553
- uri
554
-
555
- </td><td>
556
-
557
- string
558
-
559
- </td><td>
560
-
561
- File path
562
-
563
- </td></tr>
564
- </tbody></table>
565
-
566
- ## Returns
567
-
568
- Promise&lt;File \| undefined&gt;
569
-
570
- File format file
571
-
572
- ## Example
573
-
574
- ```javascript
575
- // 1. 读取扩展安装目录下的 extension.json
576
- const file = await eda.sys_FileSystem.getExtensionFile('extension.json');
577
-
578
- // 2. 输出文件信息(size 单位为字节,内容可用 file.text() 读取)
579
- console.log('文件名:', file.name);
580
- console.log('文件大小:', file.size);
581
- ```
582
-
583
- ### getlibrariespaths
584
-
585
- # SYS\_FileSystem.getLibrariesPaths() method
586
-
587
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
588
-
589
- Get the library directory paths
590
-
591
- ## Signature
592
-
593
- ```typescript
594
- function getLibrariesPaths(): Promise<Array<string>>;
595
- ```
596
-
597
- ## Returns
598
-
599
- Promise&lt;Array&lt;string&gt;&gt;
600
-
601
- Array of library directory paths
602
-
603
- ## Remarks
604
-
605
- Note 1: This API is only valid for fully offline clients. Calling it in a browser environment will always `throw Error`
606
-
607
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
608
-
609
- ### getprojectspaths
610
-
611
- # SYS\_FileSystem.getProjectsPaths() method
612
-
613
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
614
-
615
- Get the project directory paths
616
-
617
- ## Signature
618
-
619
- ```typescript
620
- function getProjectsPaths(): Promise<Array<string>>;
621
- ```
622
-
623
- ## Returns
624
-
625
- Promise&lt;Array&lt;string&gt;&gt;
626
-
627
- Array of project directory paths
628
-
629
- ## Remarks
630
-
631
- Note 1: This API is only valid for semi-offline and fully offline clients. Calling it in a browser environment will always `throw Error`
632
-
633
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
634
-
635
- ### listfilesoffilesystem
636
-
637
- # SYS\_FileSystem.listFilesOfFileSystem() method
638
-
639
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
640
-
641
- View the file list under a file system path
642
-
643
- ## Signature
644
-
645
- ```typescript
646
- function listFilesOfFileSystem(
647
- folderPath: string,
648
- recursive?: boolean,
649
- ): Promise<Array<ISYS_FileSystemFileList>>;
650
- ```
651
-
652
- ## Parameters
653
-
654
- <table><thead><tr><th>
655
-
656
- Parameter
657
-
658
- </th><th>
659
-
660
- Type
661
-
662
- </th><th>
663
-
664
- Description
665
-
666
- </th></tr></thead>
667
- <tbody><tr><td>
668
-
669
- folderPath
670
-
671
- </td><td>
672
-
673
- string
674
-
675
- </td><td>
676
-
677
- Directory path
678
-
679
- </td></tr>
680
- <tr><td>
681
-
682
- recursive
683
-
684
- </td><td>
685
-
686
- boolean
687
-
688
- </td><td>
689
-
690
- _(Optional)_ Whether to recursively get all sub-files
691
-
692
- </td></tr>
693
- </tbody></table>
694
-
695
- ## Returns
696
-
697
- Promise&lt;Array&lt;[ISYS\_FileSystemFileList](../interfaces/ISYS_FileSystemFileList.md)<!-- -->&gt;&gt;
698
-
699
- File list in the current directory
700
-
701
- ## Remarks
702
-
703
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
704
-
705
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
706
-
707
- ### openreadfiledialog
708
-
709
- # SYS\_FileSystem.openReadFileDialog() method
710
-
711
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
712
-
713
- Open the read-file dialog
714
-
715
- ## Signature
716
-
717
- ```typescript
718
- function openReadFileDialog(
719
- filenameExtensions?: string | Array<string>,
720
- multiFiles?: true,
721
- ): Promise<Array<File> | undefined>;
722
- ```
723
-
724
- ## Parameters
725
-
726
- <table><thead><tr><th>
727
-
728
- Parameter
729
-
730
- </th><th>
731
-
732
- Type
733
-
734
- </th><th>
735
-
736
- Description
737
-
738
- </th></tr></thead>
739
- <tbody><tr><td>
740
-
741
- filenameExtensions
742
-
743
- </td><td>
744
-
745
- string \| Array&lt;string&gt;
746
-
747
- </td><td>
748
-
749
- _(Optional)_ File extension
750
-
751
- </td></tr>
752
- <tr><td>
753
-
754
- multiFiles
755
-
756
- </td><td>
757
-
758
- true
759
-
760
- </td><td>
761
-
762
- _(Optional)_ Whether multiple files are allowed to be read
763
-
764
- </td></tr>
765
- </tbody></table>
766
-
767
- ## Returns
768
-
769
- Promise&lt;Array&lt;File&gt; \| undefined&gt;
770
-
771
- File format file array
772
-
773
- ## Example
774
-
775
- ```javascript
776
- // 1. 打开选择窗口(限定 .json 文件,单选;用户选择前 Promise 一直挂起)
777
- eda.sys_FileSystem.openReadFileDialog('.json').then((file) => {
778
- // 用户完成选择后触发;直接关闭窗口时 file 为 undefined
779
- if (file) {
780
- console.log('已选择文件:', file.name);
781
- }
782
- });
783
-
784
- // 2. 窗口已弹出,主流程不等待用户操作
785
- console.log('已打开文件选择窗口');
786
- ```
787
-
788
- ### openreadfiledialog_1
789
-
790
- # SYS\_FileSystem.openReadFileDialog() method
791
-
792
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
793
-
794
- Open the read-file dialog
795
-
796
- ## Signature
797
-
798
- ```typescript
799
- function openReadFileDialog(
800
- filenameExtensions?: string | Array<string>,
801
- multiFiles?: false,
802
- ): Promise<File | undefined>;
803
- ```
804
-
805
- ## Parameters
806
-
807
- <table><thead><tr><th>
808
-
809
- Parameter
810
-
811
- </th><th>
812
-
813
- Type
814
-
815
- </th><th>
816
-
817
- Description
818
-
819
- </th></tr></thead>
820
- <tbody><tr><td>
821
-
822
- filenameExtensions
823
-
824
- </td><td>
825
-
826
- string \| Array&lt;string&gt;
827
-
828
- </td><td>
829
-
830
- _(Optional)_ File extension
831
-
832
- </td></tr>
833
- <tr><td>
834
-
835
- multiFiles
836
-
837
- </td><td>
838
-
839
- false
840
-
841
- </td><td>
842
-
843
- _(Optional)_ Whether multiple files are allowed to be read
844
-
845
- </td></tr>
846
- </tbody></table>
847
-
848
- ## Returns
849
-
850
- Promise&lt;File \| undefined&gt;
851
-
852
- File format file
853
-
854
- ### openreadfolderdialog
855
-
856
- # SYS\_FileSystem.openReadFolderDialog() method
857
-
858
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
859
-
860
- Open the read-folder dialog
861
-
862
- ## Signature
863
-
864
- ```typescript
865
- function openReadFolderDialog(): Promise<Array<{ relativePath: string; file: File }>>;
866
- ```
867
-
868
- ## Returns
869
-
870
- Promise&lt;Array&lt;{ relativePath: string; file: File }&gt;&gt;
871
-
872
- All read files and their path information
873
-
874
- ## Remarks
875
-
876
- developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory \| MDN<!-- -->} ADD since EDA v4.2
877
-
878
- ### readfilefromfilesystem
879
-
880
- # SYS\_FileSystem.readFileFromFileSystem() method
881
-
882
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
883
-
884
- Read a file from the file system
885
-
886
- ## Signature
887
-
888
- ```typescript
889
- function readFileFromFileSystem(uri: string): Promise<File | undefined>;
890
- ```
891
-
892
- ## Parameters
893
-
894
- <table><thead><tr><th>
895
-
896
- Parameter
897
-
898
- </th><th>
899
-
900
- Type
901
-
902
- </th><th>
903
-
904
- Description
905
-
906
- </th></tr></thead>
907
- <tbody><tr><td>
908
-
909
- uri
910
-
911
- </td><td>
912
-
913
- string
914
-
915
- </td><td>
916
-
917
- File resource locator. An absolute path containing the complete file name is required
918
-
919
- </td></tr>
920
- </tbody></table>
921
-
922
- ## Returns
923
-
924
- Promise&lt;File \| undefined&gt;
925
-
926
- File format file
927
-
928
- ## Remarks
929
-
930
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
931
-
932
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
933
-
934
- ### revokeobjecturl
935
-
936
- # SYS\_FileSystem.revokeObjectURL() method
937
-
938
- Revoke the ObjectURL
939
-
940
- ## Signature
941
-
942
- ```typescript
943
- function revokeObjectURL(url: string): void;
944
- ```
945
-
946
- ## Parameters
947
-
948
- <table><thead><tr><th>
949
-
950
- Parameter
951
-
952
- </th><th>
953
-
954
- Type
955
-
956
- </th><th>
957
-
958
- Description
959
-
960
- </th></tr></thead>
961
- <tbody><tr><td>
962
-
963
- url
964
-
965
- </td><td>
966
-
967
- string
968
-
969
- </td><td>
970
-
971
- ObjectURL string
972
-
973
- </td></tr>
974
- </tbody></table>
975
-
976
- ## Returns
977
-
978
- void
979
-
980
- ## Remarks
981
-
982
- Revoke the specified ObjectURL ADD since EDA v3.2.162
983
-
984
- ## Example
985
-
986
- ```javascript
987
- // 1. 先创建一个 ObjectURL
988
- const blob = new Blob(['嘉立创示例数据']);
989
- const url = eda.sys_FileSystem.createObjectURL(blob);
990
- console.log('创建的 ObjectURL:', url);
991
-
992
- // 2. 用完后吊销(同步方法,无返回值)
993
- eda.sys_FileSystem.revokeObjectURL(url);
994
- console.log('已吊销');
995
- ```
996
-
997
- ### savefile
998
-
999
- # SYS\_FileSystem.saveFile() method
1000
-
1001
- Save File
1002
-
1003
- ## Signature
1004
-
1005
- ```typescript
1006
- function saveFile(fileData: File | Blob, fileName?: string): Promise<void>;
1007
- ```
1008
-
1009
- ## Parameters
1010
-
1011
- <table><thead><tr><th>
1012
-
1013
- Parameter
1014
-
1015
- </th><th>
1016
-
1017
- Type
1018
-
1019
- </th><th>
1020
-
1021
- Description
1022
-
1023
- </th></tr></thead>
1024
- <tbody><tr><td>
1025
-
1026
- fileData
1027
-
1028
- </td><td>
1029
-
1030
- File \| Blob
1031
-
1032
- </td><td>
1033
-
1034
- File data
1035
-
1036
- </td></tr>
1037
- <tr><td>
1038
-
1039
- fileName
1040
-
1041
- </td><td>
1042
-
1043
- string
1044
-
1045
- </td><td>
1046
-
1047
- _(Optional)_ File name
1048
-
1049
- </td></tr>
1050
- </tbody></table>
1051
-
1052
- ## Returns
1053
-
1054
- Promise&lt;void&gt;
1055
-
1056
- ## Remarks
1057
-
1058
- Calls the browser download API or the Electron save-file API to save the passed-in file stream locally
1059
-
1060
- ## Example
1061
-
1062
- ```javascript
1063
- // 1. 构造要保存的 CSV 内容
1064
- const content = '编号,器件,数量\n1,C0402,10\n2,C0603,20';
1065
- const blob = new Blob([content], { type: 'text/csv' });
1066
-
1067
- // 2. 保存到本地(完成后 Promise 才结束)
1068
- await eda.sys_FileSystem.saveFile(blob, '嘉立创示例_BOM导出.csv');
1069
-
1070
- console.log('已保存文件:', '嘉立创示例_BOM导出.csv', blob.size, '字节');
1071
- ```
1072
-
1073
- ### savefiletofilesystem
1074
-
1075
- # SYS\_FileSystem.saveFileToFileSystem() method
1076
-
1077
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1078
-
1079
- Write a file to the file system
1080
-
1081
- ## Signature
1082
-
1083
- ```typescript
1084
- function saveFileToFileSystem(
1085
- uri: string,
1086
- fileData: File | Blob,
1087
- fileName?: string,
1088
- force?: boolean,
1089
- ): Promise<boolean>;
1090
- ```
1091
-
1092
- ## Parameters
1093
-
1094
- <table><thead><tr><th>
1095
-
1096
- Parameter
1097
-
1098
- </th><th>
1099
-
1100
- Type
1101
-
1102
- </th><th>
1103
-
1104
- Description
1105
-
1106
- </th></tr></thead>
1107
- <tbody><tr><td>
1108
-
1109
- uri
1110
-
1111
- </td><td>
1112
-
1113
- string
1114
-
1115
- </td><td>
1116
-
1117
- File resource locator. If it ends with a slash `/` (a backslash `\` on Windows), it is recognized as a folder; if it does not end with a slash, it is recognized as a complete file name, in which case the `fileName` parameter is ignored
1118
-
1119
- </td></tr>
1120
- <tr><td>
1121
-
1122
- fileData
1123
-
1124
- </td><td>
1125
-
1126
- File \| Blob
1127
-
1128
- </td><td>
1129
-
1130
- File data
1131
-
1132
- </td></tr>
1133
- <tr><td>
1134
-
1135
- fileName
1136
-
1137
- </td><td>
1138
-
1139
- string
1140
-
1141
- </td><td>
1142
-
1143
- _(Optional)_ File name
1144
-
1145
- </td></tr>
1146
- <tr><td>
1147
-
1148
- force
1149
-
1150
- </td><td>
1151
-
1152
- boolean
1153
-
1154
- </td><td>
1155
-
1156
- _(Optional)_ Force write (overwrite the file if it exists)
1157
-
1158
- </td></tr>
1159
- </tbody></table>
1160
-
1161
- ## Returns
1162
-
1163
- Promise&lt;boolean&gt;
1164
-
1165
- Whether the write operation was successful. If overwriting is not allowed but the file already exists, `false` is returned
1166
-
1167
- ## Remarks
1168
-
1169
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
1170
-
1171
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
1
+ # SYS\_FileSystem class
2
+
3
+ System / file system interaction class
4
+
5
+ ## Signature
6
+
7
+ ```typescript
8
+ class SYS_FileSystem
9
+ ```
10
+
11
+ ## Remarks
12
+
13
+ ## Methods
14
+
15
+ <table><thead><tr><th>
16
+
17
+ Method
18
+
19
+ </th><th>
20
+
21
+ Modifiers
22
+
23
+ </th><th>
24
+
25
+ Description
26
+
27
+ </th></tr></thead>
28
+ <tbody><tr><td>
29
+
30
+ [createDirectoryInFileSystem(folderPath)](./SYS_FileSystem.md)
31
+
32
+ </td><td>
33
+
34
+ </td><td>
35
+
36
+ **_(BETA)_** In file system in create folder
37
+
38
+ </td></tr>
39
+ <tr><td>
40
+
41
+ [createObjectURL(blob)](./SYS_FileSystem.md)
42
+
43
+ </td><td>
44
+
45
+ </td><td>
46
+
47
+ Create ObjectURL
48
+
49
+ </td></tr>
50
+ <tr><td>
51
+
52
+ [deleteFileInFileSystem(uri, force)](./SYS_FileSystem.md)
53
+
54
+ </td><td>
55
+
56
+ </td><td>
57
+
58
+ **_(BETA)_** Delete a file in the file system
59
+
60
+ </td></tr>
61
+ <tr><td>
62
+
63
+ [existsPathInFileSystem(uri)](./SYS_FileSystem.md)
64
+
65
+ </td><td>
66
+
67
+ </td><td>
68
+
69
+ **_(BETA)_** Check whether a file or directory exists in the file system
70
+
71
+ </td></tr>
72
+ <tr><td>
73
+
74
+ [getDocumentsPath()](./SYS_FileSystem.md)
75
+
76
+ </td><td>
77
+
78
+ </td><td>
79
+
80
+ **_(BETA)_** Get the document directory path
81
+
82
+ </td></tr>
83
+ <tr><td>
84
+
85
+ [getEdaPath()](./SYS_FileSystem.md)
86
+
87
+ </td><td>
88
+
89
+ </td><td>
90
+
91
+ **_(BETA)_** Get the EDA document directory path
92
+
93
+ </td></tr>
94
+ <tr><td>
95
+
96
+ [getExtensionFile(uri)](./SYS_FileSystem.md)
97
+
98
+ </td><td>
99
+
100
+ </td><td>
101
+
102
+ Get a file from the extension
103
+
104
+ </td></tr>
105
+ <tr><td>
106
+
107
+ [getLibrariesPaths()](./SYS_FileSystem.md)
108
+
109
+ </td><td>
110
+
111
+ </td><td>
112
+
113
+ **_(BETA)_** Get the library directory paths
114
+
115
+ </td></tr>
116
+ <tr><td>
117
+
118
+ [getProjectsPaths()](./SYS_FileSystem.md)
119
+
120
+ </td><td>
121
+
122
+ </td><td>
123
+
124
+ **_(BETA)_** Get the project directory paths
125
+
126
+ </td></tr>
127
+ <tr><td>
128
+
129
+ [listFilesOfFileSystem(folderPath, recursive)](./SYS_FileSystem.md)
130
+
131
+ </td><td>
132
+
133
+ </td><td>
134
+
135
+ **_(BETA)_** View the file list under a file system path
136
+
137
+ </td></tr>
138
+ <tr><td>
139
+
140
+ [openReadFileDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
141
+
142
+ </td><td>
143
+
144
+ </td><td>
145
+
146
+ **_(BETA)_** Open the read-file dialog
147
+
148
+ </td></tr>
149
+ <tr><td>
150
+
151
+ [openReadFileDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
152
+
153
+ </td><td>
154
+
155
+ </td><td>
156
+
157
+ **_(BETA)_** Open the read-file dialog
158
+
159
+ </td></tr>
160
+ <tr><td>
161
+
162
+ [openReadFilePathDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
163
+
164
+ </td><td>
165
+
166
+ </td><td>
167
+
168
+ **_(BETA)_** 打开读取文件路径窗口
169
+
170
+ </td></tr>
171
+ <tr><td>
172
+
173
+ [openReadFilePathDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
174
+
175
+ </td><td>
176
+
177
+ </td><td>
178
+
179
+ **_(BETA)_** 打开读取文件路径窗口
180
+
181
+ </td></tr>
182
+ <tr><td>
183
+
184
+ [openReadFolderDialog()](./SYS_FileSystem.md)
185
+
186
+ </td><td>
187
+
188
+ </td><td>
189
+
190
+ **_(BETA)_** Open the read-folder dialog
191
+
192
+ </td></tr>
193
+ <tr><td>
194
+
195
+ [openReadFolderPathDialog()](./SYS_FileSystem.md)
196
+
197
+ </td><td>
198
+
199
+ </td><td>
200
+
201
+ **_(BETA)_** 打开读取目录路径窗口
202
+
203
+ </td></tr>
204
+ <tr><td>
205
+
206
+ [readFileFromFileSystem(uri)](./SYS_FileSystem.md)
207
+
208
+ </td><td>
209
+
210
+ </td><td>
211
+
212
+ **_(BETA)_** Read a file from the file system
213
+
214
+ </td></tr>
215
+ <tr><td>
216
+
217
+ [revokeObjectURL(url)](./SYS_FileSystem.md)
218
+
219
+ </td><td>
220
+
221
+ </td><td>
222
+
223
+ Revoke the ObjectURL
224
+
225
+ </td></tr>
226
+ <tr><td>
227
+
228
+ [saveFile(fileData, fileName)](./SYS_FileSystem.md)
229
+
230
+ </td><td>
231
+
232
+ </td><td>
233
+
234
+ Save File
235
+
236
+ </td></tr>
237
+ <tr><td>
238
+
239
+ [saveFileToFileSystem(uri, fileData, fileName)](./SYS_FileSystem.md)
240
+
241
+ </td><td>
242
+
243
+ </td><td>
244
+
245
+ **_(BETA)_** Write a file to the file system
246
+
247
+ </td></tr>
248
+ </tbody></table>
249
+
250
+ ---
251
+
252
+ ## 方法详情
253
+
254
+ ### createdirectoryinfilesystem
255
+
256
+ # SYS\_FileSystem.createDirectoryInFileSystem() method
257
+
258
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
259
+
260
+ In file system in create folder
261
+
262
+ ## Signature
263
+
264
+ ```typescript
265
+ function createDirectoryInFileSystem(folderPath: string): Promise<boolean>;
266
+ ```
267
+
268
+ ## Parameters
269
+
270
+ <table><thead><tr><th>
271
+
272
+ Parameter
273
+
274
+ </th><th>
275
+
276
+ Type
277
+
278
+ </th><th>
279
+
280
+ Description
281
+
282
+ </th></tr></thead>
283
+ <tbody><tr><td>
284
+
285
+ folderPath
286
+
287
+ </td><td>
288
+
289
+ string
290
+
291
+ </td><td>
292
+
293
+ Folder path
294
+
295
+ </td></tr>
296
+ </tbody></table>
297
+
298
+ ## Returns
299
+
300
+ Promise&lt;boolean&gt;
301
+
302
+ Create Whether the operation is successful
303
+
304
+ ## Remarks
305
+
306
+ Supports recursively creating multi-level directories
307
+
308
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
309
+
310
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error` ADD since EDA v3.2.166
311
+
312
+ ### createobjecturl
313
+
314
+ # SYS\_FileSystem.createObjectURL() method
315
+
316
+ Create ObjectURL
317
+
318
+ ## Signature
319
+
320
+ ```typescript
321
+ function createObjectURL(blob: Blob | File): string;
322
+ ```
323
+
324
+ ## Parameters
325
+
326
+ <table><thead><tr><th>
327
+
328
+ Parameter
329
+
330
+ </th><th>
331
+
332
+ Type
333
+
334
+ </th><th>
335
+
336
+ Description
337
+
338
+ </th></tr></thead>
339
+ <tbody><tr><td>
340
+
341
+ blob
342
+
343
+ </td><td>
344
+
345
+ Blob \| File
346
+
347
+ </td><td>
348
+
349
+ Blob or File object
350
+
351
+ </td></tr>
352
+ </tbody></table>
353
+
354
+ ## Returns
355
+
356
+ string
357
+
358
+ ObjectURL string
359
+
360
+ ## Remarks
361
+
362
+ Create an ObjectURL pointing to the passed-in Blob / File object ADD since EDA v3.2.162
363
+
364
+ ## Example
365
+
366
+ ```javascript
367
+ // 1. 构造一段文本数据
368
+ const blob = new Blob(['嘉立创示例数据'], { type: 'text/plain' });
369
+
370
+ // 2. 创建 ObjectURL(同步方法,直接返回字符串)
371
+ const url = eda.sys_FileSystem.createObjectURL(blob);
372
+
373
+ console.log('ObjectURL:', url);
374
+ ```
375
+
376
+ ### deletefileinfilesystem
377
+
378
+ # SYS\_FileSystem.deleteFileInFileSystem() method
379
+
380
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
381
+
382
+ Delete a file in the file system
383
+
384
+ ## Signature
385
+
386
+ ```typescript
387
+ function deleteFileInFileSystem(uri: string, force?: boolean): Promise<boolean>;
388
+ ```
389
+
390
+ ## Parameters
391
+
392
+ <table><thead><tr><th>
393
+
394
+ Parameter
395
+
396
+ </th><th>
397
+
398
+ Type
399
+
400
+ </th><th>
401
+
402
+ Description
403
+
404
+ </th></tr></thead>
405
+ <tbody><tr><td>
406
+
407
+ uri
408
+
409
+ </td><td>
410
+
411
+ string
412
+
413
+ </td><td>
414
+
415
+ File resource locator. If it ends with a slash `/` (a backslash `\` on Windows), it is recognized as a folder; if it does not end with a slash, it is recognized as a complete file name, in which case the `fileName` parameter is ignored
416
+
417
+ </td></tr>
418
+ <tr><td>
419
+
420
+ force
421
+
422
+ </td><td>
423
+
424
+ boolean
425
+
426
+ </td><td>
427
+
428
+ _(Optional)_ Force delete the folder (whether to force delete the folder when the target is a folder containing files)
429
+
430
+ </td></tr>
431
+ </tbody></table>
432
+
433
+ ## Returns
434
+
435
+ Promise&lt;boolean&gt;
436
+
437
+ Delete Whether the operation is successful
438
+
439
+ ## Remarks
440
+
441
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
442
+
443
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
444
+
445
+ ### existspathinfilesystem
446
+
447
+ # SYS\_FileSystem.existsPathInFileSystem() method
448
+
449
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
450
+
451
+ Check whether a file or directory exists in the file system
452
+
453
+ ## Signature
454
+
455
+ ```typescript
456
+ function existsPathInFileSystem(uri: string): Promise<boolean>;
457
+ ```
458
+
459
+ ## Parameters
460
+
461
+ <table><thead><tr><th>
462
+
463
+ Parameter
464
+
465
+ </th><th>
466
+
467
+ Type
468
+
469
+ </th><th>
470
+
471
+ Description
472
+
473
+ </th></tr></thead>
474
+ <tbody><tr><td>
475
+
476
+ uri
477
+
478
+ </td><td>
479
+
480
+ string
481
+
482
+ </td><td>
483
+
484
+ File resource locator. An absolute path containing the complete file name is required
485
+
486
+ </td></tr>
487
+ </tbody></table>
488
+
489
+ ## Returns
490
+
491
+ Promise&lt;boolean&gt;
492
+
493
+ Whether the file or directory exists
494
+
495
+ ## Remarks
496
+
497
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
498
+
499
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error` ADD since EDA v3.2.167
500
+
501
+ ### getdocumentspath
502
+
503
+ # SYS\_FileSystem.getDocumentsPath() method
504
+
505
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
506
+
507
+ Get the document directory path
508
+
509
+ ## Signature
510
+
511
+ ```typescript
512
+ function getDocumentsPath(): Promise<string>;
513
+ ```
514
+
515
+ ## Returns
516
+
517
+ Promise&lt;string&gt;
518
+
519
+ Document directory path
520
+
521
+ ## Remarks
522
+
523
+ In the returned path, the end does not contain a slash `/` (or a backslash `\`<!-- -->)
524
+
525
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
526
+
527
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
528
+
529
+ ### getedapath
530
+
531
+ # SYS\_FileSystem.getEdaPath() method
532
+
533
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
534
+
535
+ Get the EDA document directory path
536
+
537
+ ## Signature
538
+
539
+ ```typescript
540
+ function getEdaPath(): Promise<string>;
541
+ ```
542
+
543
+ ## Returns
544
+
545
+ Promise&lt;string&gt;
546
+
547
+ EDA document directory path
548
+
549
+ ## Remarks
550
+
551
+ In the returned path, the end does not contain a slash `/` (or a backslash `\`<!-- -->)
552
+
553
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
554
+
555
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
556
+
557
+ ### getextensionfile
558
+
559
+ # SYS\_FileSystem.getExtensionFile() method
560
+
561
+ Get a file from the extension
562
+
563
+ ## Signature
564
+
565
+ ```typescript
566
+ function getExtensionFile(uri: string): Promise<File | undefined>;
567
+ ```
568
+
569
+ ## Parameters
570
+
571
+ <table><thead><tr><th>
572
+
573
+ Parameter
574
+
575
+ </th><th>
576
+
577
+ Type
578
+
579
+ </th><th>
580
+
581
+ Description
582
+
583
+ </th></tr></thead>
584
+ <tbody><tr><td>
585
+
586
+ uri
587
+
588
+ </td><td>
589
+
590
+ string
591
+
592
+ </td><td>
593
+
594
+ File path
595
+
596
+ </td></tr>
597
+ </tbody></table>
598
+
599
+ ## Returns
600
+
601
+ Promise&lt;File \| undefined&gt;
602
+
603
+ File format file
604
+
605
+ ## Example
606
+
607
+ ```javascript
608
+ // 1. 读取扩展安装目录下的 extension.json
609
+ const file = await eda.sys_FileSystem.getExtensionFile('extension.json');
610
+
611
+ // 2. 输出文件信息(size 单位为字节,内容可用 file.text() 读取)
612
+ console.log('文件名:', file.name);
613
+ console.log('文件大小:', file.size);
614
+ ```
615
+
616
+ ### getlibrariespaths
617
+
618
+ # SYS\_FileSystem.getLibrariesPaths() method
619
+
620
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
621
+
622
+ Get the library directory paths
623
+
624
+ ## Signature
625
+
626
+ ```typescript
627
+ function getLibrariesPaths(): Promise<Array<string>>;
628
+ ```
629
+
630
+ ## Returns
631
+
632
+ Promise&lt;Array&lt;string&gt;&gt;
633
+
634
+ Array of library directory paths
635
+
636
+ ## Remarks
637
+
638
+ Note 1: This API is only valid for fully offline clients. Calling it in a browser environment will always `throw Error`
639
+
640
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
641
+
642
+ ### getprojectspaths
643
+
644
+ # SYS\_FileSystem.getProjectsPaths() method
645
+
646
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
647
+
648
+ Get the project directory paths
649
+
650
+ ## Signature
651
+
652
+ ```typescript
653
+ function getProjectsPaths(): Promise<Array<string>>;
654
+ ```
655
+
656
+ ## Returns
657
+
658
+ Promise&lt;Array&lt;string&gt;&gt;
659
+
660
+ Array of project directory paths
661
+
662
+ ## Remarks
663
+
664
+ Note 1: This API is only valid for semi-offline and fully offline clients. Calling it in a browser environment will always `throw Error`
665
+
666
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
667
+
668
+ ### listfilesoffilesystem
669
+
670
+ # SYS\_FileSystem.listFilesOfFileSystem() method
671
+
672
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
673
+
674
+ View the file list under a file system path
675
+
676
+ ## Signature
677
+
678
+ ```typescript
679
+ function listFilesOfFileSystem(
680
+ folderPath: string,
681
+ recursive?: boolean,
682
+ ): Promise<Array<ISYS_FileSystemFileList>>;
683
+ ```
684
+
685
+ ## Parameters
686
+
687
+ <table><thead><tr><th>
688
+
689
+ Parameter
690
+
691
+ </th><th>
692
+
693
+ Type
694
+
695
+ </th><th>
696
+
697
+ Description
698
+
699
+ </th></tr></thead>
700
+ <tbody><tr><td>
701
+
702
+ folderPath
703
+
704
+ </td><td>
705
+
706
+ string
707
+
708
+ </td><td>
709
+
710
+ Directory path
711
+
712
+ </td></tr>
713
+ <tr><td>
714
+
715
+ recursive
716
+
717
+ </td><td>
718
+
719
+ boolean
720
+
721
+ </td><td>
722
+
723
+ _(Optional)_ Whether to recursively get all sub-files
724
+
725
+ </td></tr>
726
+ </tbody></table>
727
+
728
+ ## Returns
729
+
730
+ Promise&lt;Array&lt;[ISYS\_FileSystemFileList](../interfaces/ISYS_FileSystemFileList.md)<!-- -->&gt;&gt;
731
+
732
+ File list in the current directory
733
+
734
+ ## Remarks
735
+
736
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
737
+
738
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
739
+
740
+ ### openreadfiledialog
741
+
742
+ # SYS\_FileSystem.openReadFileDialog() method
743
+
744
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
745
+
746
+ Open the read-file dialog
747
+
748
+ ## Signature
749
+
750
+ ```typescript
751
+ function openReadFileDialog(
752
+ filenameExtensions?: string | Array<string>,
753
+ multiFiles?: true,
754
+ ): Promise<Array<File> | undefined>;
755
+ ```
756
+
757
+ ## Parameters
758
+
759
+ <table><thead><tr><th>
760
+
761
+ Parameter
762
+
763
+ </th><th>
764
+
765
+ Type
766
+
767
+ </th><th>
768
+
769
+ Description
770
+
771
+ </th></tr></thead>
772
+ <tbody><tr><td>
773
+
774
+ filenameExtensions
775
+
776
+ </td><td>
777
+
778
+ string \| Array&lt;string&gt;
779
+
780
+ </td><td>
781
+
782
+ _(Optional)_ File extension
783
+
784
+ </td></tr>
785
+ <tr><td>
786
+
787
+ multiFiles
788
+
789
+ </td><td>
790
+
791
+ true
792
+
793
+ </td><td>
794
+
795
+ _(Optional)_ Whether multiple files are allowed to be read
796
+
797
+ </td></tr>
798
+ </tbody></table>
799
+
800
+ ## Returns
801
+
802
+ Promise&lt;Array&lt;File&gt; \| undefined&gt;
803
+
804
+ File format file array
805
+
806
+ ## Remarks
807
+
808
+ 本接口需要打开浏览器模态窗口,在用户于页面上进行最后一次操作的时间节点开始计算, 达到 5000ms(部分浏览器时效)后将无法使用 JavaScript 脚本唤起窗口,这是浏览器的限制
809
+
810
+ ## Example
811
+
812
+ ```javascript
813
+ // 1. 打开选择窗口(限定 .json 文件,单选;用户选择前 Promise 一直挂起)
814
+ eda.sys_FileSystem.openReadFileDialog('.json').then((file) => {
815
+ // 用户完成选择后触发;直接关闭窗口时 file 为 undefined
816
+ if (file) {
817
+ console.log('已选择文件:', file.name);
818
+ }
819
+ });
820
+
821
+ // 2. 窗口已弹出,主流程不等待用户操作
822
+ console.log('已打开文件选择窗口');
823
+ ```
824
+
825
+ ### openreadfiledialog_1
826
+
827
+ # SYS\_FileSystem.openReadFileDialog() method
828
+
829
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
830
+
831
+ Open the read-file dialog
832
+
833
+ ## Signature
834
+
835
+ ```typescript
836
+ function openReadFileDialog(
837
+ filenameExtensions?: string | Array<string>,
838
+ multiFiles?: false,
839
+ ): Promise<File | undefined>;
840
+ ```
841
+
842
+ ## Parameters
843
+
844
+ <table><thead><tr><th>
845
+
846
+ Parameter
847
+
848
+ </th><th>
849
+
850
+ Type
851
+
852
+ </th><th>
853
+
854
+ Description
855
+
856
+ </th></tr></thead>
857
+ <tbody><tr><td>
858
+
859
+ filenameExtensions
860
+
861
+ </td><td>
862
+
863
+ string \| Array&lt;string&gt;
864
+
865
+ </td><td>
866
+
867
+ _(Optional)_ File extension
868
+
869
+ </td></tr>
870
+ <tr><td>
871
+
872
+ multiFiles
873
+
874
+ </td><td>
875
+
876
+ false
877
+
878
+ </td><td>
879
+
880
+ _(Optional)_ Whether multiple files are allowed to be read
881
+
882
+ </td></tr>
883
+ </tbody></table>
884
+
885
+ ## Returns
886
+
887
+ Promise&lt;File \| undefined&gt;
888
+
889
+ File format file
890
+
891
+ ### openreadfilepathdialog
892
+
893
+ # SYS\_FileSystem.openReadFilePathDialog() method
894
+
895
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
896
+
897
+ 打开读取文件路径窗口
898
+
899
+ ## Signature
900
+
901
+ ```typescript
902
+ function openReadFilePathDialog(
903
+ filenameExtensions?: string | Array<string>,
904
+ multiFiles?: true,
905
+ ): Promise<Array<string>>;
906
+ ```
907
+
908
+ ## Parameters
909
+
910
+ <table><thead><tr><th>
911
+
912
+ Parameter
913
+
914
+ </th><th>
915
+
916
+ Type
917
+
918
+ </th><th>
919
+
920
+ Description
921
+
922
+ </th></tr></thead>
923
+ <tbody><tr><td>
924
+
925
+ filenameExtensions
926
+
927
+ </td><td>
928
+
929
+ string \| Array&lt;string&gt;
930
+
931
+ </td><td>
932
+
933
+ _(Optional)_ 文件扩展名
934
+
935
+ </td></tr>
936
+ <tr><td>
937
+
938
+ multiFiles
939
+
940
+ </td><td>
941
+
942
+ true
943
+
944
+ </td><td>
945
+
946
+ _(Optional)_ 是否允许读取多文件;受客户端协议限制,当前仅支持单选,`multiFiles=true` 时将返回单元素数组
947
+
948
+ </td></tr>
949
+ </tbody></table>
950
+
951
+ ## Returns
952
+
953
+ Promise&lt;Array&lt;string&gt;&gt;
954
+
955
+ 文件路径数组
956
+
957
+ ## Remarks
958
+
959
+ ADD since EDA v3.2.201 注意:本接口仅客户端有效,在浏览器环境内调用将始终 `throw Error`
960
+
961
+ / EDA v4.1.54
962
+
963
+ ### openreadfilepathdialog_1
964
+
965
+ # SYS\_FileSystem.openReadFilePathDialog() method
966
+
967
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
968
+
969
+ 打开读取文件路径窗口
970
+
971
+ ## Signature
972
+
973
+ ```typescript
974
+ function openReadFilePathDialog(
975
+ filenameExtensions?: string | Array<string>,
976
+ multiFiles?: false,
977
+ ): Promise<string | undefined>;
978
+ ```
979
+
980
+ ## Parameters
981
+
982
+ <table><thead><tr><th>
983
+
984
+ Parameter
985
+
986
+ </th><th>
987
+
988
+ Type
989
+
990
+ </th><th>
991
+
992
+ Description
993
+
994
+ </th></tr></thead>
995
+ <tbody><tr><td>
996
+
997
+ filenameExtensions
998
+
999
+ </td><td>
1000
+
1001
+ string \| Array&lt;string&gt;
1002
+
1003
+ </td><td>
1004
+
1005
+ _(Optional)_ 文件扩展名
1006
+
1007
+ </td></tr>
1008
+ <tr><td>
1009
+
1010
+ multiFiles
1011
+
1012
+ </td><td>
1013
+
1014
+ false
1015
+
1016
+ </td><td>
1017
+
1018
+ _(Optional)_ 是否允许读取多文件;受客户端协议限制,当前仅支持单选,`multiFiles=true` 时将返回单元素数组
1019
+
1020
+ </td></tr>
1021
+ </tbody></table>
1022
+
1023
+ ## Returns
1024
+
1025
+ Promise&lt;string \| undefined&gt;
1026
+
1027
+ 文件路径
1028
+
1029
+ ## Remarks
1030
+
1031
+ ADD since EDA v3.2.201 注意:本接口仅客户端有效,在浏览器环境内调用将始终 `throw Error`
1032
+
1033
+ / EDA v4.1.54
1034
+
1035
+ ### openreadfolderdialog
1036
+
1037
+ # SYS\_FileSystem.openReadFolderDialog() method
1038
+
1039
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1040
+
1041
+ Open the read-folder dialog
1042
+
1043
+ ## Signature
1044
+
1045
+ ```typescript
1046
+ function openReadFolderDialog(): Promise<Array<{ relativePath: string; file: File }>>;
1047
+ ```
1048
+
1049
+ ## Returns
1050
+
1051
+ Promise&lt;Array&lt;{ relativePath: string; file: File }&gt;&gt;
1052
+
1053
+ All read files and their path information
1054
+
1055
+ ## Remarks
1056
+
1057
+ developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory \| MDN<!-- -->} ADD since EDA v4.2
1058
+
1059
+ ### openreadfolderpathdialog
1060
+
1061
+ # SYS\_FileSystem.openReadFolderPathDialog() method
1062
+
1063
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1064
+
1065
+ 打开读取目录路径窗口
1066
+
1067
+ ## Signature
1068
+
1069
+ ```typescript
1070
+ function openReadFolderPathDialog(): Promise<string | undefined>;
1071
+ ```
1072
+
1073
+ ## Returns
1074
+
1075
+ Promise&lt;string \| undefined&gt;
1076
+
1077
+ 目录路径
1078
+
1079
+ ## Remarks
1080
+
1081
+ ADD since EDA v3.2.201 注意:本接口仅客户端有效,在浏览器环境内调用将始终 `throw Error`
1082
+
1083
+ / EDA v4.1.54
1084
+
1085
+ ### readfilefromfilesystem
1086
+
1087
+ # SYS\_FileSystem.readFileFromFileSystem() method
1088
+
1089
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1090
+
1091
+ Read a file from the file system
1092
+
1093
+ ## Signature
1094
+
1095
+ ```typescript
1096
+ function readFileFromFileSystem(uri: string): Promise<File | undefined>;
1097
+ ```
1098
+
1099
+ ## Parameters
1100
+
1101
+ <table><thead><tr><th>
1102
+
1103
+ Parameter
1104
+
1105
+ </th><th>
1106
+
1107
+ Type
1108
+
1109
+ </th><th>
1110
+
1111
+ Description
1112
+
1113
+ </th></tr></thead>
1114
+ <tbody><tr><td>
1115
+
1116
+ uri
1117
+
1118
+ </td><td>
1119
+
1120
+ string
1121
+
1122
+ </td><td>
1123
+
1124
+ File resource locator. An absolute path containing the complete file name is required
1125
+
1126
+ </td></tr>
1127
+ </tbody></table>
1128
+
1129
+ ## Returns
1130
+
1131
+ Promise&lt;File \| undefined&gt;
1132
+
1133
+ File format file
1134
+
1135
+ ## Remarks
1136
+
1137
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
1138
+
1139
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
1140
+
1141
+ ### revokeobjecturl
1142
+
1143
+ # SYS\_FileSystem.revokeObjectURL() method
1144
+
1145
+ Revoke the ObjectURL
1146
+
1147
+ ## Signature
1148
+
1149
+ ```typescript
1150
+ function revokeObjectURL(url: string): void;
1151
+ ```
1152
+
1153
+ ## Parameters
1154
+
1155
+ <table><thead><tr><th>
1156
+
1157
+ Parameter
1158
+
1159
+ </th><th>
1160
+
1161
+ Type
1162
+
1163
+ </th><th>
1164
+
1165
+ Description
1166
+
1167
+ </th></tr></thead>
1168
+ <tbody><tr><td>
1169
+
1170
+ url
1171
+
1172
+ </td><td>
1173
+
1174
+ string
1175
+
1176
+ </td><td>
1177
+
1178
+ ObjectURL string
1179
+
1180
+ </td></tr>
1181
+ </tbody></table>
1182
+
1183
+ ## Returns
1184
+
1185
+ void
1186
+
1187
+ ## Remarks
1188
+
1189
+ Revoke the specified ObjectURL ADD since EDA v3.2.162
1190
+
1191
+ ## Example
1192
+
1193
+ ```javascript
1194
+ // 1. 先创建一个 ObjectURL
1195
+ const blob = new Blob(['嘉立创示例数据']);
1196
+ const url = eda.sys_FileSystem.createObjectURL(blob);
1197
+ console.log('创建的 ObjectURL:', url);
1198
+
1199
+ // 2. 用完后吊销(同步方法,无返回值)
1200
+ eda.sys_FileSystem.revokeObjectURL(url);
1201
+ console.log('已吊销');
1202
+ ```
1203
+
1204
+ ### savefile
1205
+
1206
+ # SYS\_FileSystem.saveFile() method
1207
+
1208
+ Save File
1209
+
1210
+ ## Signature
1211
+
1212
+ ```typescript
1213
+ function saveFile(fileData: File | Blob, fileName?: string): Promise<void>;
1214
+ ```
1215
+
1216
+ ## Parameters
1217
+
1218
+ <table><thead><tr><th>
1219
+
1220
+ Parameter
1221
+
1222
+ </th><th>
1223
+
1224
+ Type
1225
+
1226
+ </th><th>
1227
+
1228
+ Description
1229
+
1230
+ </th></tr></thead>
1231
+ <tbody><tr><td>
1232
+
1233
+ fileData
1234
+
1235
+ </td><td>
1236
+
1237
+ File \| Blob
1238
+
1239
+ </td><td>
1240
+
1241
+ File data
1242
+
1243
+ </td></tr>
1244
+ <tr><td>
1245
+
1246
+ fileName
1247
+
1248
+ </td><td>
1249
+
1250
+ string
1251
+
1252
+ </td><td>
1253
+
1254
+ _(Optional)_ File name
1255
+
1256
+ </td></tr>
1257
+ </tbody></table>
1258
+
1259
+ ## Returns
1260
+
1261
+ Promise&lt;void&gt;
1262
+
1263
+ ## Remarks
1264
+
1265
+ Calls the browser download API or the Electron save-file API to save the passed-in file stream locally
1266
+
1267
+ ## Example
1268
+
1269
+ ```javascript
1270
+ // 1. 构造要保存的 CSV 内容
1271
+ const content = '编号,器件,数量\n1,C0402,10\n2,C0603,20';
1272
+ const blob = new Blob([content], { type: 'text/csv' });
1273
+
1274
+ // 2. 保存到本地(完成后 Promise 才结束)
1275
+ await eda.sys_FileSystem.saveFile(blob, '嘉立创示例_BOM导出.csv');
1276
+
1277
+ console.log('已保存文件:', '嘉立创示例_BOM导出.csv', blob.size, '字节');
1278
+ ```
1279
+
1280
+ ### savefiletofilesystem
1281
+
1282
+ # SYS\_FileSystem.saveFileToFileSystem() method
1283
+
1284
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1285
+
1286
+ Write a file to the file system
1287
+
1288
+ ## Signature
1289
+
1290
+ ```typescript
1291
+ function saveFileToFileSystem(
1292
+ uri: string,
1293
+ fileData: File | Blob,
1294
+ fileName?: string,
1295
+ ): Promise<boolean>;
1296
+ ```
1297
+
1298
+ ## Parameters
1299
+
1300
+ <table><thead><tr><th>
1301
+
1302
+ Parameter
1303
+
1304
+ </th><th>
1305
+
1306
+ Type
1307
+
1308
+ </th><th>
1309
+
1310
+ Description
1311
+
1312
+ </th></tr></thead>
1313
+ <tbody><tr><td>
1314
+
1315
+ uri
1316
+
1317
+ </td><td>
1318
+
1319
+ string
1320
+
1321
+ </td><td>
1322
+
1323
+ File resource locator. If it ends with a slash `/` (a backslash `\` on Windows), it is recognized as a folder; if it does not end with a slash, it is recognized as a complete file name, in which case the `fileName` parameter is ignored
1324
+
1325
+ </td></tr>
1326
+ <tr><td>
1327
+
1328
+ fileData
1329
+
1330
+ </td><td>
1331
+
1332
+ File \| Blob
1333
+
1334
+ </td><td>
1335
+
1336
+ File data
1337
+
1338
+ </td></tr>
1339
+ <tr><td>
1340
+
1341
+ fileName
1342
+
1343
+ </td><td>
1344
+
1345
+ string
1346
+
1347
+ </td><td>
1348
+
1349
+ _(Optional)_ File name
1350
+
1351
+ </td></tr>
1352
+ </tbody></table>
1353
+
1354
+ ## Returns
1355
+
1356
+ Promise&lt;boolean&gt;
1357
+
1358
+ Whether the write operation was successful. If overwriting is not allowed but the file already exists, `false` is returned
1359
+
1360
+ ## Remarks
1361
+
1362
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
1363
+
1364
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
1365
+
1366
+ 注意 3:CLI 本地文件写入\*\*不做路径白名单校验\*\*、不受 `APP_PROJECT_DIR` 限制;`uri` 结尾带斜杠 `/`<!-- -->(Windows 为反斜杠 `\`<!-- -->)识别为目录,`force` 控制是否覆盖已存在文件