@mybricks/to-code-taro 1.0.2 → 1.0.4

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 (256) hide show
  1. package/README.md +58 -0
  2. package/dist/cjs/core/comlib/_AesEncode.js +115 -0
  3. package/dist/cjs/core/comlib/_BackTo.js +80 -0
  4. package/dist/cjs/core/comlib/{Index.js → _CallPhone.js} +29 -16
  5. package/dist/cjs/core/comlib/_ChooseFile.js +103 -0
  6. package/dist/cjs/core/comlib/_ChooseMedia.js +70 -0
  7. package/dist/cjs/core/comlib/_Connector.js +92 -0
  8. package/dist/cjs/core/comlib/_ConnectorGlobalHeaders.js +79 -0
  9. package/dist/cjs/core/comlib/_Format.js +123 -0
  10. package/dist/cjs/core/comlib/_GetLocation.js +60 -0
  11. package/dist/cjs/core/comlib/_GetStorage.js +68 -0
  12. package/dist/cjs/core/comlib/_GetSystemInfo.js +62 -0
  13. package/dist/cjs/core/comlib/_OpenCamera.js +73 -0
  14. package/dist/cjs/core/comlib/_OpenPetalMap.js +49 -0
  15. package/dist/cjs/core/comlib/_OpenUrl.js +62 -0
  16. package/dist/cjs/core/comlib/_RemoveStorage.js +68 -0
  17. package/dist/cjs/core/comlib/_Router.js +100 -0
  18. package/dist/cjs/core/comlib/_ScanQrcode.js +9 -10
  19. package/dist/cjs/core/comlib/_SetStorage.js +10 -19
  20. package/dist/cjs/core/comlib/_Share.js +58 -0
  21. package/dist/cjs/core/comlib/_ShowToast.js +23 -50
  22. package/dist/cjs/core/comlib/_TextToSpeech.js +120 -0
  23. package/dist/cjs/core/comlib/_TimerDebounce.js +72 -0
  24. package/dist/cjs/core/comlib/_TimerDelay.js +63 -0
  25. package/dist/cjs/core/comlib/_TimerThrottle.js +75 -0
  26. package/dist/cjs/core/comlib/_Vibrate.js +60 -0
  27. package/dist/cjs/core/comlib/index.js +111 -0
  28. package/dist/cjs/core/mybricks/index.js +47 -47
  29. package/dist/cjs/core/utils/ComContext.js +3 -0
  30. package/dist/cjs/core/utils/PopupRenderer.js +63 -0
  31. package/dist/cjs/core/utils/hooks.js +131 -0
  32. package/dist/cjs/core/utils/index.js +33 -57
  33. package/dist/cjs/core/utils/pageRouter.js +81 -0
  34. package/dist/cjs/core/utils/popupRouter.js +98 -0
  35. package/dist/cjs/core/utils/useContext.js +11 -2
  36. package/dist/cjs/core/utils/with.js +37 -13
  37. package/dist/cjs/generate/generateTaroProjectJson.d.ts +3 -14
  38. package/dist/cjs/generate/generateTaroProjectJson.js +39 -6
  39. package/dist/cjs/generate/utils/tabBarImages.d.ts +1 -1
  40. package/dist/cjs/handleCom.d.ts +1 -1
  41. package/dist/cjs/handleCom.js +91 -177
  42. package/dist/cjs/handleDom.js +7 -44
  43. package/dist/cjs/handleExtension.d.ts +2 -2
  44. package/dist/cjs/handleExtension.js +5 -5
  45. package/dist/cjs/handleGlobal.d.ts +2 -12
  46. package/dist/cjs/handleGlobal.js +23 -7
  47. package/dist/cjs/handleModule.js +3 -3
  48. package/dist/cjs/handleSlot.d.ts +4 -9
  49. package/dist/cjs/handleSlot.js +61 -150
  50. package/dist/cjs/processors/processComEvents.d.ts +9 -0
  51. package/dist/cjs/processors/processComEvents.js +164 -0
  52. package/dist/cjs/processors/processModule.d.ts +31 -0
  53. package/dist/cjs/processors/processModule.js +125 -0
  54. package/dist/cjs/processors/processScene.d.ts +32 -0
  55. package/dist/cjs/processors/processScene.js +128 -0
  56. package/dist/cjs/processors/processSceneLogic.d.ts +4 -0
  57. package/dist/cjs/processors/processSceneLogic.js +170 -0
  58. package/dist/cjs/shims-taro.d.ts +20 -0
  59. package/dist/cjs/taro-template.json +501 -351
  60. package/dist/cjs/toCodeTaro.d.ts +27 -6
  61. package/dist/cjs/toCodeTaro.js +68 -340
  62. package/dist/cjs/utils/builder/buildResult.d.ts +22 -0
  63. package/dist/cjs/utils/builder/buildResult.js +117 -0
  64. package/dist/cjs/utils/common/ImportManager.d.ts +19 -0
  65. package/dist/cjs/utils/common/ImportManager.js +105 -0
  66. package/dist/cjs/utils/common/helper.d.ts +2 -0
  67. package/dist/cjs/utils/common/helper.js +31 -0
  68. package/dist/cjs/utils/common/object.d.ts +5 -0
  69. package/dist/cjs/utils/common/object.js +58 -0
  70. package/dist/cjs/utils/common/string.d.ts +8 -0
  71. package/dist/cjs/utils/common/string.js +46 -0
  72. package/dist/cjs/utils/{pageConfig → config/content}/converter.js +1 -1
  73. package/dist/cjs/utils/{pageConfig → config/content}/index.js +9 -9
  74. package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.js +12 -22
  75. package/dist/{esm/utils/pageConfig → cjs/utils/config/content}/saveBase64Image.d.ts +1 -1
  76. package/dist/cjs/utils/{pageConfig → config/content}/saveBase64Image.js +8 -17
  77. package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.js +9 -32
  78. package/dist/cjs/utils/config/content/types.js +17 -0
  79. package/dist/cjs/utils/{pageConfig → config/content}/validator.js +1 -1
  80. package/dist/{esm/utils → cjs/utils/config}/handlePageConfig.d.ts +3 -2
  81. package/dist/cjs/utils/{handlePageConfig.js → config/handlePageConfig.js} +7 -6
  82. package/dist/cjs/utils/context/buildContext.d.ts +24 -0
  83. package/dist/cjs/utils/context/buildContext.js +65 -0
  84. package/dist/cjs/utils/context/buildFrameMap.d.ts +16 -0
  85. package/dist/cjs/utils/context/buildFrameMap.js +106 -0
  86. package/dist/cjs/utils/context/buildGlobalData.d.ts +13 -0
  87. package/dist/cjs/utils/context/buildGlobalData.js +58 -0
  88. package/dist/cjs/utils/context/collectJSModules.d.ts +37 -0
  89. package/dist/cjs/utils/context/collectJSModules.js +91 -0
  90. package/dist/cjs/utils/context/createEventQueries.d.ts +45 -0
  91. package/dist/cjs/utils/context/createEventQueries.js +99 -0
  92. package/dist/cjs/utils/context/createProvider.d.ts +21 -0
  93. package/dist/cjs/utils/context/createProvider.js +49 -0
  94. package/dist/cjs/utils/index.d.ts +10 -62
  95. package/dist/cjs/utils/index.js +21 -282
  96. package/dist/cjs/utils/{convertNamespace.js → logic/convertNamespace.js} +1 -1
  97. package/dist/cjs/utils/{genJSModules.js → logic/genJSModules.js} +1 -1
  98. package/dist/{esm/utils → cjs/utils/logic}/handleProcess.d.ts +2 -2
  99. package/dist/cjs/utils/{handleProcess.js → logic/handleProcess.js} +40 -16
  100. package/dist/cjs/utils/logic/processChildren.d.ts +12 -0
  101. package/dist/cjs/utils/logic/processChildren.js +82 -0
  102. package/dist/cjs/utils/style/color.d.ts +4 -0
  103. package/dist/cjs/utils/style/color.js +45 -0
  104. package/dist/cjs/utils/style/converter.d.ts +7 -0
  105. package/dist/cjs/utils/style/converter.js +181 -0
  106. package/dist/cjs/utils/{getComponentClassName.js → style/getComponentClassName.js} +1 -1
  107. package/dist/cjs/utils/{pxtransform.js → style/pxtransform.js} +1 -1
  108. package/dist/cjs/utils/style/types.d.ts +23 -0
  109. package/dist/cjs/utils/{pageConfig → style}/types.js +1 -1
  110. package/dist/cjs/utils/{code → templates}/component.js +1 -1
  111. package/dist/cjs/utils/{code → templates}/index.js +4 -4
  112. package/dist/cjs/utils/{code → templates}/renderManager.js +1 -1
  113. package/dist/cjs/utils/{code → templates}/scene.d.ts +3 -1
  114. package/dist/cjs/utils/{code → templates}/scene.js +17 -5
  115. package/dist/esm/core/comlib/_AesEncode.js +85 -0
  116. package/dist/esm/core/comlib/_BackTo.js +66 -0
  117. package/dist/esm/core/comlib/_CallPhone.js +30 -0
  118. package/dist/esm/core/comlib/_ChooseFile.js +81 -0
  119. package/dist/esm/core/comlib/_ChooseMedia.js +38 -0
  120. package/dist/esm/core/comlib/_Connector.js +60 -0
  121. package/dist/esm/core/comlib/_ConnectorGlobalHeaders.js +56 -0
  122. package/dist/esm/core/comlib/_Format.js +102 -0
  123. package/dist/esm/core/comlib/_GetLocation.js +26 -0
  124. package/dist/esm/core/comlib/_GetStorage.js +44 -0
  125. package/dist/esm/core/comlib/_GetSystemInfo.js +32 -0
  126. package/dist/esm/core/comlib/_OpenCamera.js +44 -0
  127. package/dist/esm/core/comlib/_OpenPetalMap.js +28 -0
  128. package/dist/esm/core/comlib/_OpenUrl.js +36 -0
  129. package/dist/esm/core/comlib/_RemoveStorage.js +42 -0
  130. package/dist/esm/core/comlib/_Router.js +113 -0
  131. package/dist/esm/core/comlib/_ScanQrcode.js +10 -11
  132. package/dist/esm/core/comlib/_SetStorage.js +13 -25
  133. package/dist/esm/core/comlib/_Share.js +28 -0
  134. package/dist/esm/core/comlib/_ShowToast.js +32 -55
  135. package/dist/esm/core/comlib/_TextToSpeech.js +117 -0
  136. package/dist/esm/core/comlib/_TimerDebounce.js +66 -0
  137. package/dist/esm/core/comlib/_TimerDelay.js +47 -0
  138. package/dist/esm/core/comlib/_TimerThrottle.js +69 -0
  139. package/dist/esm/core/comlib/_Vibrate.js +34 -0
  140. package/dist/esm/core/comlib/index.js +37 -0
  141. package/dist/esm/core/mybricks/index.js +1 -1
  142. package/dist/esm/core/utils/ComContext.js +1 -0
  143. package/dist/esm/core/utils/PopupRenderer.js +27 -0
  144. package/dist/esm/core/utils/hooks.js +130 -0
  145. package/dist/esm/core/utils/index.js +8 -57
  146. package/dist/esm/core/utils/pageRouter.js +69 -0
  147. package/dist/esm/core/utils/popupRouter.js +116 -0
  148. package/dist/esm/core/utils/useContext.js +16 -3
  149. package/dist/esm/core/utils/with.js +62 -19
  150. package/dist/esm/generate/generateTaroProjectJson.d.ts +3 -14
  151. package/dist/esm/generate/generateTaroProjectJson.js +62 -24
  152. package/dist/esm/generate/utils/tabBarImages.d.ts +1 -1
  153. package/dist/esm/handleCom.d.ts +1 -1
  154. package/dist/esm/handleCom.js +159 -244
  155. package/dist/esm/handleDom.js +9 -48
  156. package/dist/esm/handleExtension.d.ts +2 -2
  157. package/dist/esm/handleExtension.js +5 -5
  158. package/dist/esm/handleGlobal.d.ts +2 -12
  159. package/dist/esm/handleGlobal.js +17 -3
  160. package/dist/esm/handleModule.js +3 -3
  161. package/dist/esm/handleSlot.d.ts +4 -9
  162. package/dist/esm/handleSlot.js +112 -173
  163. package/dist/esm/processors/processComEvents.d.ts +9 -0
  164. package/dist/esm/processors/processComEvents.js +167 -0
  165. package/dist/esm/processors/processModule.d.ts +31 -0
  166. package/dist/esm/processors/processModule.js +126 -0
  167. package/dist/esm/processors/processScene.d.ts +32 -0
  168. package/dist/esm/processors/processScene.js +134 -0
  169. package/dist/esm/processors/processSceneLogic.d.ts +4 -0
  170. package/dist/esm/processors/processSceneLogic.js +170 -0
  171. package/dist/esm/shims-taro.d.ts +20 -0
  172. package/dist/esm/taro-template.json +501 -351
  173. package/dist/esm/toCodeTaro.d.ts +27 -6
  174. package/dist/esm/toCodeTaro.js +110 -395
  175. package/dist/esm/utils/builder/buildResult.d.ts +22 -0
  176. package/dist/esm/utils/builder/buildResult.js +82 -0
  177. package/dist/esm/utils/common/ImportManager.d.ts +19 -0
  178. package/dist/esm/utils/common/ImportManager.js +103 -0
  179. package/dist/esm/utils/common/helper.d.ts +2 -0
  180. package/dist/esm/utils/common/helper.js +4 -0
  181. package/dist/esm/utils/common/object.d.ts +5 -0
  182. package/dist/esm/utils/common/object.js +32 -0
  183. package/dist/esm/utils/common/string.d.ts +8 -0
  184. package/dist/esm/utils/common/string.js +21 -0
  185. package/dist/esm/utils/config/content/pageConfig.js +40 -0
  186. package/dist/{cjs/utils/pageConfig → esm/utils/config/content}/saveBase64Image.d.ts +1 -1
  187. package/dist/esm/utils/{pageConfig → config/content}/saveBase64Image.js +11 -30
  188. package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.js +12 -34
  189. package/dist/{cjs/utils → esm/utils/config}/handlePageConfig.d.ts +3 -2
  190. package/dist/esm/utils/{handlePageConfig.js → config/handlePageConfig.js} +6 -2
  191. package/dist/esm/utils/context/buildContext.d.ts +24 -0
  192. package/dist/esm/utils/context/buildContext.js +53 -0
  193. package/dist/esm/utils/context/buildFrameMap.d.ts +16 -0
  194. package/dist/esm/utils/context/buildFrameMap.js +131 -0
  195. package/dist/esm/utils/context/buildGlobalData.d.ts +13 -0
  196. package/dist/esm/utils/context/buildGlobalData.js +44 -0
  197. package/dist/esm/utils/context/collectJSModules.d.ts +37 -0
  198. package/dist/esm/utils/context/collectJSModules.js +87 -0
  199. package/dist/esm/utils/context/createEventQueries.d.ts +45 -0
  200. package/dist/esm/utils/context/createEventQueries.js +99 -0
  201. package/dist/esm/utils/context/createProvider.d.ts +21 -0
  202. package/dist/esm/utils/context/createProvider.js +33 -0
  203. package/dist/esm/utils/index.d.ts +10 -62
  204. package/dist/esm/utils/index.js +12 -345
  205. package/dist/{cjs/utils → esm/utils/logic}/handleProcess.d.ts +2 -2
  206. package/dist/esm/utils/{handleProcess.js → logic/handleProcess.js} +42 -9
  207. package/dist/esm/utils/logic/processChildren.d.ts +12 -0
  208. package/dist/esm/utils/logic/processChildren.js +48 -0
  209. package/dist/esm/utils/style/color.d.ts +4 -0
  210. package/dist/esm/utils/style/color.js +17 -0
  211. package/dist/esm/utils/style/converter.d.ts +7 -0
  212. package/dist/esm/utils/style/converter.js +176 -0
  213. package/dist/esm/utils/style/types.d.ts +23 -0
  214. package/dist/esm/utils/style/types.js +1 -0
  215. package/dist/esm/utils/{code → templates}/scene.d.ts +3 -1
  216. package/dist/esm/utils/{code → templates}/scene.js +13 -5
  217. package/package.json +4 -2
  218. package/dist/esm/core/comlib/Index.js +0 -3
  219. package/dist/esm/utils/pageConfig/pageConfig.js +0 -60
  220. /package/dist/cjs/utils/{pageConfig → config/content}/converter.d.ts +0 -0
  221. /package/dist/cjs/utils/{pageConfig → config/content}/index.d.ts +0 -0
  222. /package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
  223. /package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
  224. /package/dist/cjs/utils/{pageConfig → config/content}/types.d.ts +0 -0
  225. /package/dist/cjs/utils/{pageConfig → config/content}/validator.d.ts +0 -0
  226. /package/dist/cjs/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
  227. /package/dist/cjs/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
  228. /package/dist/cjs/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
  229. /package/dist/cjs/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
  230. /package/dist/cjs/utils/{code → templates}/component.d.ts +0 -0
  231. /package/dist/cjs/utils/{code → templates}/index.d.ts +0 -0
  232. /package/dist/cjs/utils/{code → templates}/renderManager.d.ts +0 -0
  233. /package/dist/esm/utils/{pageConfig → config/content}/converter.d.ts +0 -0
  234. /package/dist/esm/utils/{pageConfig → config/content}/converter.js +0 -0
  235. /package/dist/esm/utils/{pageConfig → config/content}/index.d.ts +0 -0
  236. /package/dist/esm/utils/{pageConfig → config/content}/index.js +0 -0
  237. /package/dist/esm/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
  238. /package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
  239. /package/dist/esm/utils/{pageConfig → config/content}/types.d.ts +0 -0
  240. /package/dist/esm/utils/{pageConfig → config/content}/types.js +0 -0
  241. /package/dist/esm/utils/{pageConfig → config/content}/validator.d.ts +0 -0
  242. /package/dist/esm/utils/{pageConfig → config/content}/validator.js +0 -0
  243. /package/dist/esm/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
  244. /package/dist/esm/utils/{convertNamespace.js → logic/convertNamespace.js} +0 -0
  245. /package/dist/esm/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
  246. /package/dist/esm/utils/{genJSModules.js → logic/genJSModules.js} +0 -0
  247. /package/dist/esm/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
  248. /package/dist/esm/utils/{getComponentClassName.js → style/getComponentClassName.js} +0 -0
  249. /package/dist/esm/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
  250. /package/dist/esm/utils/{pxtransform.js → style/pxtransform.js} +0 -0
  251. /package/dist/esm/utils/{code → templates}/component.d.ts +0 -0
  252. /package/dist/esm/utils/{code → templates}/component.js +0 -0
  253. /package/dist/esm/utils/{code → templates}/index.d.ts +0 -0
  254. /package/dist/esm/utils/{code → templates}/index.js +0 -0
  255. /package/dist/esm/utils/{code → templates}/renderManager.d.ts +0 -0
  256. /package/dist/esm/utils/{code → templates}/renderManager.js +0 -0
@@ -0,0 +1,167 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import { indentation } from "../utils";
5
+ import { handleProcess } from "../utils/logic/handleProcess";
6
+ /**
7
+ * 处理组件事件
8
+ */
9
+ export var processComEvents = function processComEvents(com, config) {
10
+ var _meta$def;
11
+ var meta = com.meta,
12
+ events = com.events;
13
+ var comEventCode = "";
14
+ var outputsConfig = {};
15
+ var eventConfig = {};
16
+ var outputEvents = events || {};
17
+ Object.entries(outputEvents).forEach(function (_ref) {
18
+ var _eventInfo$options, _eventInfo$options2;
19
+ var _ref2 = _slicedToArray(_ref, 2),
20
+ eventId = _ref2[0],
21
+ eventInfo = _ref2[1];
22
+ var type = eventInfo.type,
23
+ isAbstract = eventInfo.isAbstract,
24
+ diagramId = eventInfo.diagramId,
25
+ schema = eventInfo.schema,
26
+ active = eventInfo.active;
27
+ if (active === false) return;
28
+ if (isAbstract) {
29
+ config.setAbstractEventTypeDefMap({
30
+ comId: com.meta.id,
31
+ eventId: eventId,
32
+ typeDef: config.getTypeDef(),
33
+ schema: schema
34
+ });
35
+ return;
36
+ }
37
+ if (type === "fx") {
38
+ processFxEvent(eventId, com, config, function (code) {
39
+ comEventCode += code;
40
+ });
41
+ eventConfig[eventId] = {
42
+ connected: true
43
+ };
44
+ return;
45
+ }
46
+ if (type !== "defined") return;
47
+
48
+ // 兼容:部分数据把 diagramId 放在 options.id(例如 test-data.json 的 outputEvents)
49
+ var resolvedDiagramId = diagramId || (eventInfo === null || eventInfo === void 0 || (_eventInfo$options = eventInfo.options) === null || _eventInfo$options === void 0 ? void 0 : _eventInfo$options.diagramId) || (eventInfo === null || eventInfo === void 0 || (_eventInfo$options2 = eventInfo.options) === null || _eventInfo$options2 === void 0 ? void 0 : _eventInfo$options2.id);
50
+ if (!resolvedDiagramId) return;
51
+ var event = config.getEventByDiagramId(resolvedDiagramId);
52
+ if (!event) return;
53
+ var paramName = "value";
54
+ var process = handleProcess(event, _objectSpread(_objectSpread({}, config), {}, {
55
+ target: "comRefs.current",
56
+ depth: config.depth + 3,
57
+ addParentDependencyImport: config.addParentDependencyImport,
58
+ getParams: function getParams() {
59
+ return _defineProperty({}, eventId, paramName);
60
+ }
61
+ })).replace(/this\./g, "comRefs.current.").replace(/comRefs\.current\.([a-zA-Z0-9_]+)\.controller_/g, "comRefs.current.$1.").replace(/comRefs\.current\.slot_Index\./g, "comRefs.current.");
62
+ if (process.includes("pageParams")) {
63
+ var importParams = {
64
+ isPopup: config.isPopup
65
+ };
66
+ var controllerName = config.isPopup ? "popupRouter" : "pageRouter";
67
+ config.addParentDependencyImport({
68
+ packageName: config.getComponentPackageName(importParams),
69
+ dependencyNames: [controllerName, "SUBJECT_VALUE"],
70
+ importType: "named"
71
+ });
72
+ var indent = indentation(config.codeStyle.indent * (config.depth + 3));
73
+ // 使用 SUBJECT_VALUE 获取当前参数值,保持与 MyBricks 逻辑一致
74
+ process = "".concat(indent, "const pageParams: any = ").concat(controllerName, ".getParams(\"").concat(config.getCurrentScene().id, "\")[SUBJECT_VALUE];\n").concat(process);
75
+ }
76
+ var handlerIndent = indentation(config.codeStyle.indent * (config.depth + 2));
77
+ var handlerCode = "(".concat(paramName, ": any) => {\n").concat(process, "\n").concat(handlerIndent, "}");
78
+ if (!outputsConfig[meta.id]) {
79
+ outputsConfig[meta.id] = {};
80
+ }
81
+ var onEventName = eventId.startsWith("on") ? eventId : "on".concat(eventId.charAt(0).toUpperCase()).concat(eventId.slice(1));
82
+ outputsConfig[meta.id][onEventName] = handlerCode;
83
+ eventConfig[eventId] = {
84
+ connected: true
85
+ };
86
+ });
87
+
88
+ // 针对 mybricks.taro.popup 的特殊处理
89
+ if (((_meta$def = meta.def) === null || _meta$def === void 0 ? void 0 : _meta$def.namespace) === 'mybricks.taro.popup') {
90
+ var _config$getCurrentSce, _sceneCom$model;
91
+ if (!outputsConfig[meta.id]) {
92
+ outputsConfig[meta.id] = {};
93
+ }
94
+ var importParams = {
95
+ isPopup: config.isPopup
96
+ };
97
+ var sceneCom = (_config$getCurrentSce = config.getCurrentScene().coms) === null || _config$getCurrentSce === void 0 ? void 0 : _config$getCurrentSce[meta.id];
98
+ var popupData = (sceneCom === null || sceneCom === void 0 || (_sceneCom$model = sceneCom.model) === null || _sceneCom$model === void 0 ? void 0 : _sceneCom$model.data) || {};
99
+ var isTrue = function isTrue(v) {
100
+ return v === true || v === "true";
101
+ };
102
+
103
+ // 如果 onClose 没被连接,且 visibleClose=true(会渲染关闭按钮),才添加默认 close
104
+ // visibleClose=false 时,运行时不会触发 onClose(模板里只在 close 按钮点击时触发)
105
+ if (!eventConfig['onClose'] && isTrue(popupData.visibleClose)) {
106
+ config.addParentDependencyImport({
107
+ packageName: config.getComponentPackageName(importParams),
108
+ dependencyNames: ["popupRouter"],
109
+ importType: "named"
110
+ });
111
+ var handlerIndent = indentation(config.codeStyle.indent * (config.depth + 2));
112
+ var processIndent = indentation(config.codeStyle.indent * (config.depth + 3));
113
+ outputsConfig[meta.id]['onClose'] = "() => {\n".concat(processIndent, "popupRouter.close(\"").concat(config.getCurrentScene().id, "\");\n").concat(handlerIndent, "}");
114
+ eventConfig['onClose'] = {
115
+ connected: true
116
+ };
117
+ }
118
+
119
+ // 如果 onClickOverlay 没被连接,且组件配置了点击遮罩关闭
120
+ if (!eventConfig['onClickOverlay'] && isTrue(popupData.maskClose)) {
121
+ config.addParentDependencyImport({
122
+ packageName: config.getComponentPackageName(importParams),
123
+ dependencyNames: ["popupRouter"],
124
+ importType: "named"
125
+ });
126
+ var _handlerIndent = indentation(config.codeStyle.indent * (config.depth + 2));
127
+ var _processIndent = indentation(config.codeStyle.indent * (config.depth + 3));
128
+ outputsConfig[meta.id]['onClickOverlay'] = "() => {\n".concat(_processIndent, "popupRouter.close(\"").concat(config.getCurrentScene().id, "\");\n").concat(_handlerIndent, "}");
129
+ eventConfig['onClickOverlay'] = {
130
+ connected: true
131
+ };
132
+ }
133
+ }
134
+ return {
135
+ comEventCode: comEventCode,
136
+ outputsConfig: outputsConfig,
137
+ eventConfig: eventConfig
138
+ };
139
+ };
140
+
141
+ /**
142
+ * 处理 FX 事件
143
+ */
144
+ var processFxEvent = function processFxEvent(eventId, com, config, addCode) {
145
+ var fxsMap = config.getFxsMap();
146
+ var currentProvider = config.getCurrentProvider();
147
+ var scene = config.getCurrentScene();
148
+ var pinProxy = scene.pinProxies["".concat(com.props.id, "-").concat(eventId)];
149
+ if (!pinProxy) return;
150
+ var fxProvider = fxsMap[pinProxy.frameId];
151
+ if (!fxProvider) return;
152
+ var isGlobal = fxProvider.name === "global";
153
+ if (fxProvider.name !== currentProvider.name) {
154
+ if (isGlobal) {
155
+ config.addParentDependencyImport({
156
+ packageName: config.getComponentPackageName(),
157
+ dependencyNames: ["globalFxs"],
158
+ importType: "named"
159
+ });
160
+ } else {
161
+ config.addConsumer(fxProvider);
162
+ }
163
+ }
164
+ var indent = indentation(config.codeStyle.indent * (config.depth + 2));
165
+ var code = "".concat(indent).concat(eventId, ": ").concat(isGlobal ? "globalFxs" : "comRefs.current.".concat(fxProvider.name, "_Fxs"), ".").concat(pinProxy.frameId, ",\n");
166
+ addCode(code);
167
+ };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * 处理模块(Module)
3
+ * 参考鸿蒙实现,将模块处理逻辑独立出来
4
+ */
5
+ import type { ToTaroCodeConfig, GeneratedFile } from "../toCodeTaro";
6
+ import toCode from "@mybricks/to-code-react/dist/cjs/toCode";
7
+ import { type Provider } from "../utils/context/createProvider";
8
+ import type { JSModulesMap } from "../utils/context/collectJSModules";
9
+ type ToCodeResult = ReturnType<typeof toCode>;
10
+ type Module = ToCodeResult["modules"][0];
11
+ interface ProcessModuleParams {
12
+ module: Module;
13
+ config: ToTaroCodeConfig;
14
+ globalVarTypeDef: Record<string, any>;
15
+ defaultFxsMap: Record<string, Provider>;
16
+ abstractEventTypeDefMap: Record<string, any>;
17
+ jsModulesMap: JSModulesMap;
18
+ getExtensionEventById: (id: string) => any;
19
+ getSceneById: (id: string) => any;
20
+ getFrameById?: (id: string) => any;
21
+ addResult: (result: GeneratedFile) => void;
22
+ }
23
+ /**
24
+ * 处理单个模块
25
+ */
26
+ export declare const processModule: (params: ProcessModuleParams) => void;
27
+ /**
28
+ * 处理所有模块
29
+ */
30
+ export declare const processModules: (modules: Module[], params: Omit<ProcessModuleParams, "module">) => void;
31
+ export {};
@@ -0,0 +1,126 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ /**
3
+ * 处理模块(Module)
4
+ * 参考鸿蒙实现,将模块处理逻辑独立出来
5
+ */
6
+
7
+ import handleSlot from "../handleSlot";
8
+ import { createProvider, createProviderMap } from "../utils/context/createProvider";
9
+ import { createEventQueries } from "../utils/context/createEventQueries";
10
+ import { collectJSModulesFromScene } from "../utils/context/collectJSModules";
11
+ /**
12
+ * 处理单个模块
13
+ */
14
+ export var processModule = function processModule(params) {
15
+ var _config$getFileName;
16
+ var _params$module = params.module,
17
+ scene = _params$module.scene,
18
+ ui = _params$module.ui,
19
+ event = _params$module.event,
20
+ config = params.config,
21
+ globalVarTypeDef = params.globalVarTypeDef,
22
+ defaultFxsMap = params.defaultFxsMap,
23
+ abstractEventTypeDefMap = params.abstractEventTypeDefMap,
24
+ jsModulesMap = params.jsModulesMap,
25
+ getExtensionEventById = params.getExtensionEventById,
26
+ getSceneById = params.getSceneById,
27
+ getFrameById = params.getFrameById,
28
+ addResult = params.addResult;
29
+
30
+ // 收集 JS 计算组件
31
+ collectJSModulesFromScene(scene, jsModulesMap);
32
+
33
+ // 创建 Provider
34
+ var fileName = (_config$getFileName = config.getFileName) === null || _config$getFileName === void 0 ? void 0 : _config$getFileName.call(config, ui.meta.slotId);
35
+ var currentProvider = createProvider(fileName, true);
36
+ var providerMap = createProviderMap(currentProvider);
37
+
38
+ // 创建类型定义
39
+ var typeDef = {
40
+ vars: Object.assign({}, globalVarTypeDef),
41
+ inputs: {},
42
+ outputs: {}
43
+ };
44
+
45
+ // 创建 FX Map
46
+ var fxsMap = Object.assign({}, defaultFxsMap);
47
+
48
+ // 创建事件查询函数
49
+ var eventQueries = createEventQueries(event);
50
+
51
+ // 处理 Slot
52
+ handleSlot(ui, _objectSpread(_objectSpread({}, config), {}, {
53
+ getCurrentScene: function getCurrentScene() {
54
+ var originalScene = getSceneById(scene.id);
55
+ return _objectSpread(_objectSpread(_objectSpread({}, scene), originalScene), {}, {
56
+ event: event
57
+ });
58
+ },
59
+ add: function add(value) {
60
+ addResult(_objectSpread(_objectSpread({}, value), {}, {
61
+ type: scene.type,
62
+ meta: scene
63
+ }));
64
+ },
65
+ addJSModule: function addJSModule(module) {
66
+ if (!jsModulesMap.has(module.id)) {
67
+ jsModulesMap.set(module.id, module);
68
+ }
69
+ },
70
+ getEventByDiagramId: eventQueries.getEventByDiagramId,
71
+ getFrameInputEvent: eventQueries.getFrameInputEvent,
72
+ getVarEvents: eventQueries.getVarEvents,
73
+ getFxEvents: eventQueries.getFxEvents,
74
+ checkIsRoot: function checkIsRoot() {
75
+ return true;
76
+ },
77
+ getEffectEvent: eventQueries.getEffectEvent,
78
+ getCurrentProvider: function getCurrentProvider() {
79
+ return currentProvider;
80
+ },
81
+ getRootProvider: function getRootProvider() {
82
+ return currentProvider;
83
+ },
84
+ getProviderMap: function getProviderMap() {
85
+ return providerMap;
86
+ },
87
+ getExtensionEventById: getExtensionEventById,
88
+ getSceneById: getSceneById,
89
+ getFrameById: getFrameById,
90
+ depth: 0,
91
+ getTypeDef: function getTypeDef() {
92
+ return typeDef;
93
+ },
94
+ getFxsMap: function getFxsMap() {
95
+ return fxsMap;
96
+ },
97
+ setAbstractEventTypeDefMap: function setAbstractEventTypeDefMap(params) {
98
+ var comId = params.comId,
99
+ eventId = params.eventId,
100
+ typeDef = params.typeDef,
101
+ schema = params.schema;
102
+ if (!abstractEventTypeDefMap[comId]) {
103
+ abstractEventTypeDefMap[comId] = {
104
+ typeDef: typeDef,
105
+ eventIdMap: {}
106
+ };
107
+ }
108
+ abstractEventTypeDefMap[comId].eventIdMap[eventId] = schema;
109
+ },
110
+ getComponentController: function getComponentController(_ref) {
111
+ var com = _ref.com;
112
+ return com.id;
113
+ }
114
+ }));
115
+ };
116
+
117
+ /**
118
+ * 处理所有模块
119
+ */
120
+ export var processModules = function processModules(modules, params) {
121
+ modules.forEach(function (module) {
122
+ processModule(_objectSpread(_objectSpread({}, params), {}, {
123
+ module: module
124
+ }));
125
+ });
126
+ };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * 处理场景(Scene)
3
+ * 参考鸿蒙实现,将场景处理逻辑独立出来
4
+ */
5
+ import type { ToTaroCodeConfig, GeneratedFile } from "../toCodeTaro";
6
+ import toCode from "@mybricks/to-code-react/dist/cjs/toCode";
7
+ import { type Provider } from "../utils/context/createProvider";
8
+ import type { JSModulesMap } from "../utils/context/collectJSModules";
9
+ type ToCodeResult = ReturnType<typeof toCode>;
10
+ type Scene = ToCodeResult["scenes"][0];
11
+ interface ProcessSceneParams {
12
+ scene: Scene;
13
+ config: ToTaroCodeConfig;
14
+ globalVarTypeDef: Record<string, any>;
15
+ defaultFxsMap: Record<string, Provider>;
16
+ abstractEventTypeDefMap: Record<string, any>;
17
+ jsModulesMap: JSModulesMap;
18
+ getExtensionEventById: (id: string) => any;
19
+ getSceneById: (id: string) => any;
20
+ getFrameById?: (id: string) => any;
21
+ pageConfigHandler: any;
22
+ addResult: (result: GeneratedFile) => void;
23
+ }
24
+ /**
25
+ * 处理单个场景
26
+ */
27
+ export declare const processScene: (params: ProcessSceneParams) => void;
28
+ /**
29
+ * 处理所有场景
30
+ */
31
+ export declare const processScenes: (scenes: Scene[], params: Omit<ProcessSceneParams, "scene">) => void;
32
+ export {};
@@ -0,0 +1,134 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ /**
3
+ * 处理场景(Scene)
4
+ * 参考鸿蒙实现,将场景处理逻辑独立出来
5
+ */
6
+
7
+ import handleSlot from "../handleSlot";
8
+ import { createProvider, createProviderMap } from "../utils/context/createProvider";
9
+ import { createEventQueries } from "../utils/context/createEventQueries";
10
+ import { collectJSModulesFromScene } from "../utils/context/collectJSModules";
11
+ /**
12
+ * 处理单个场景
13
+ */
14
+ export var processScene = function processScene(params) {
15
+ var _config$getFileName, _originalScene$deps;
16
+ var _params$scene = params.scene,
17
+ scene = _params$scene.scene,
18
+ ui = _params$scene.ui,
19
+ event = _params$scene.event,
20
+ config = params.config,
21
+ globalVarTypeDef = params.globalVarTypeDef,
22
+ defaultFxsMap = params.defaultFxsMap,
23
+ abstractEventTypeDefMap = params.abstractEventTypeDefMap,
24
+ jsModulesMap = params.jsModulesMap,
25
+ getExtensionEventById = params.getExtensionEventById,
26
+ getSceneById = params.getSceneById,
27
+ getFrameById = params.getFrameById,
28
+ pageConfigHandler = params.pageConfigHandler;
29
+
30
+ // 收集 JS 计算组件
31
+ collectJSModulesFromScene(scene, jsModulesMap);
32
+
33
+ // 创建 Provider
34
+ var fileName = (_config$getFileName = config.getFileName) === null || _config$getFileName === void 0 ? void 0 : _config$getFileName.call(config, ui.meta.slotId);
35
+ var currentProvider = createProvider(fileName, true);
36
+ var providerMap = createProviderMap(currentProvider);
37
+
38
+ // 创建类型定义
39
+ var typeDef = {
40
+ vars: Object.assign({}, globalVarTypeDef),
41
+ inputs: {},
42
+ outputs: {}
43
+ };
44
+
45
+ // 创建 FX Map
46
+ var fxsMap = Object.assign({}, defaultFxsMap);
47
+
48
+ // 参考鸿蒙逻辑:如果场景中包含 popup 组件,则标记场景类型为 popup
49
+ var originalScene = getSceneById(scene.id);
50
+ var isPopup = (originalScene === null || originalScene === void 0 ? void 0 : originalScene.type) === 'popup' || (originalScene === null || originalScene === void 0 || (_originalScene$deps = originalScene.deps) === null || _originalScene$deps === void 0 ? void 0 : _originalScene$deps.some(function (dep) {
51
+ return dep.namespace === 'mybricks.taro.popup';
52
+ }));
53
+
54
+ // 处理页面配置
55
+ var pageConfigContent = pageConfigHandler.handle(scene, isPopup);
56
+
57
+ // 创建事件查询函数
58
+ var eventQueries = createEventQueries(event);
59
+
60
+ // 处理 Slot
61
+ handleSlot(ui, _objectSpread(_objectSpread({}, config), {}, {
62
+ isPopup: isPopup,
63
+ // 标记当前场景是否为弹窗
64
+ getCurrentScene: function getCurrentScene() {
65
+ var originalScene = getSceneById(scene.id);
66
+ return _objectSpread(_objectSpread(_objectSpread({}, scene), originalScene), {}, {
67
+ event: event
68
+ });
69
+ },
70
+ add: function add(value) {
71
+ params.addResult(_objectSpread(_objectSpread({}, value), {}, {
72
+ type: isPopup ? "popup" : originalScene !== null && originalScene !== void 0 && originalScene.type ? originalScene.type : "normal",
73
+ meta: scene,
74
+ pageConfigContent: pageConfigContent
75
+ }));
76
+ },
77
+ addJSModule: function addJSModule(module) {
78
+ if (!jsModulesMap.has(module.id)) {
79
+ jsModulesMap.set(module.id, module);
80
+ }
81
+ },
82
+ getEventByDiagramId: eventQueries.getEventByDiagramId,
83
+ getFrameInputEvent: eventQueries.getFrameInputEvent,
84
+ getVarEvents: eventQueries.getVarEvents,
85
+ getFxEvents: eventQueries.getFxEvents,
86
+ checkIsRoot: function checkIsRoot() {
87
+ return true;
88
+ },
89
+ getEffectEvent: eventQueries.getEffectEvent,
90
+ getCurrentProvider: function getCurrentProvider() {
91
+ return currentProvider;
92
+ },
93
+ getRootProvider: function getRootProvider() {
94
+ return currentProvider;
95
+ },
96
+ getProviderMap: function getProviderMap() {
97
+ return providerMap;
98
+ },
99
+ getExtensionEventById: getExtensionEventById,
100
+ getSceneById: getSceneById,
101
+ getFrameById: getFrameById,
102
+ depth: 0,
103
+ getTypeDef: function getTypeDef() {
104
+ return typeDef;
105
+ },
106
+ getFxsMap: function getFxsMap() {
107
+ return fxsMap;
108
+ },
109
+ setAbstractEventTypeDefMap: function setAbstractEventTypeDefMap(params) {
110
+ var comId = params.comId,
111
+ eventId = params.eventId,
112
+ typeDef = params.typeDef,
113
+ schema = params.schema;
114
+ if (!abstractEventTypeDefMap[comId]) {
115
+ abstractEventTypeDefMap[comId] = {
116
+ typeDef: typeDef,
117
+ eventIdMap: {}
118
+ };
119
+ }
120
+ abstractEventTypeDefMap[comId].eventIdMap[eventId] = schema;
121
+ }
122
+ }));
123
+ };
124
+
125
+ /**
126
+ * 处理所有场景
127
+ */
128
+ export var processScenes = function processScenes(scenes, params) {
129
+ scenes.forEach(function (scene) {
130
+ processScene(_objectSpread(_objectSpread({}, params), {}, {
131
+ scene: scene
132
+ }));
133
+ });
134
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 处理场景/插槽的逻辑(事件流、输入项等)
3
+ */
4
+ export declare const processSceneLogic: (ui: any, config: any, addDependencyImport: any) => string;
@@ -0,0 +1,170 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import { indentation } from "../utils";
5
+ import { handleProcess } from "../utils/logic/handleProcess";
6
+ /**
7
+ * 处理场景/插槽的逻辑(事件流、输入项等)
8
+ */
9
+ export var processSceneLogic = function processSceneLogic(ui, config, addDependencyImport) {
10
+ var effectCode = "";
11
+ var indent2 = indentation(config.codeStyle.indent);
12
+ var currentScene = config.getCurrentScene();
13
+ var providerName = config.getCurrentProvider().name;
14
+
15
+ // 1. 初始化变量和 FX (非 root 也要初始化,因为子场景也有自己的变量)
16
+ effectCode += processLogicalInit(currentScene, config, addDependencyImport, indent2, providerName);
17
+
18
+ // 如果不是 root,目前只处理初始化逻辑
19
+ if (!config.checkIsRoot()) return effectCode;
20
+
21
+ // 2. 处理场景级事件(如 Start 节点)
22
+ effectCode += processSceneEvents(ui, currentScene, config, addDependencyImport, indent2);
23
+
24
+ // 3. 处理场景级输入(如 open)
25
+ effectCode += processSceneInputs(currentScene, config, addDependencyImport, indent2);
26
+ return effectCode;
27
+ };
28
+
29
+ /**
30
+ * 初始化变量和 FX
31
+ */
32
+ var processLogicalInit = function processLogicalInit(scene, config, addDependencyImport, indent, providerName) {
33
+ var code = "";
34
+
35
+ // 1. 初始化 Vars
36
+ var vars = Object.entries(scene.coms || {}).filter(function (_ref) {
37
+ var _ref2 = _slicedToArray(_ref, 2),
38
+ com = _ref2[1];
39
+ return com.def.namespace === "mybricks.core-comlib.var";
40
+ });
41
+ if (vars.length > 0) {
42
+ var importParams = {
43
+ isPopup: config.isPopup
44
+ };
45
+ addDependencyImport({
46
+ packageName: config.getUtilsPackageName(importParams),
47
+ dependencyNames: ["createVariable"],
48
+ importType: "named"
49
+ });
50
+ code += "\n".concat(indent, "const vars = comRefs.current.").concat(providerName, "_Vars;");
51
+ vars.forEach(function (_ref3) {
52
+ var _com$model;
53
+ var _ref4 = _slicedToArray(_ref3, 2),
54
+ comId = _ref4[0],
55
+ com = _ref4[1];
56
+ var initValue = JSON.stringify(((_com$model = com.model) === null || _com$model === void 0 || (_com$model = _com$model.data) === null || _com$model === void 0 ? void 0 : _com$model.initValue) || {});
57
+ code += "\n".concat(indent, "if (!vars.").concat(com.title, ".get) vars.").concat(com.title, " = createVariable(").concat(initValue, ");");
58
+ });
59
+ }
60
+
61
+ // 2. 初始化 Fxs (使用 getFxEvents 获取 FX 列表)
62
+ var fxEvents = config.getFxEvents();
63
+ if (fxEvents.length > 0) {
64
+ var _importParams = {
65
+ isPopup: config.isPopup
66
+ };
67
+ addDependencyImport({
68
+ packageName: config.getUtilsPackageName(_importParams),
69
+ dependencyNames: ["createFx"],
70
+ importType: "named"
71
+ });
72
+ code += "\n".concat(indent, "const fxs = comRefs.current.").concat(providerName, "_Fxs;");
73
+ fxEvents.forEach(function (fxEvent) {
74
+ var res = handleProcess(fxEvent, _objectSpread(_objectSpread({}, config), {}, {
75
+ depth: 3,
76
+ getCurrentScene: function getCurrentScene() {
77
+ return _objectSpread({
78
+ id: fxEvent.frameId
79
+ }, fxEvent);
80
+ },
81
+ addParentDependencyImport: addDependencyImport,
82
+ getParams: function getParams() {
83
+ return (fxEvent.paramPins || []).reduce(function (pre, cur, index) {
84
+ pre[cur.id] = "value".concat(index);
85
+ return pre;
86
+ }, {});
87
+ }
88
+ })).replace(/this\./g, "comRefs.current.").replace(/comRefs\.current\.([a-zA-Z0-9_]+)\.controller_/g, "comRefs.current.$1.").replace(/comRefs\.current\.slot_Index\./g, "comRefs.current.");
89
+ var values = (fxEvent.paramPins || []).map(function (paramPin, index) {
90
+ if (paramPin.type === "config") {
91
+ var _fxEvent$initValues;
92
+ return "value".concat(index, ": any = ").concat(JSON.stringify(((_fxEvent$initValues = fxEvent.initValues) === null || _fxEvent$initValues === void 0 ? void 0 : _fxEvent$initValues[paramPin.id]) || {}));
93
+ }
94
+ return "value".concat(index, ": any");
95
+ }).join(", ");
96
+ code += "\n".concat(indent, "if (!fxs.").concat(fxEvent.frameId, ".call) fxs.").concat(fxEvent.frameId, " = createFx((").concat(values, ") => {\n").concat(res, "\n").concat(indent, "});");
97
+ });
98
+ }
99
+ return code;
100
+ };
101
+
102
+ /**
103
+ * 处理场景级事件
104
+ */
105
+ var processSceneEvents = function processSceneEvents(ui, currentScene, config, addDependencyImport, indent) {
106
+ var code = "";
107
+ var sceneEvents = (currentScene === null || currentScene === void 0 ? void 0 : currentScene.events) || (ui === null || ui === void 0 ? void 0 : ui.events) || [];
108
+ if (!Array.isArray(sceneEvents)) return code;
109
+ sceneEvents.forEach(function (eventInfo) {
110
+ var type = eventInfo.type,
111
+ diagramId = eventInfo.diagramId,
112
+ active = eventInfo.active;
113
+ if (active !== false && type === "defined" && diagramId) {
114
+ var event = config.getEventByDiagramId(diagramId);
115
+ if (event) {
116
+ var process = handleProcess(event, _objectSpread(_objectSpread({}, config), {}, {
117
+ target: "comRefs.current",
118
+ depth: 2,
119
+ addParentDependencyImport: addDependencyImport,
120
+ getParams: function getParams() {
121
+ return {};
122
+ }
123
+ })).replace(/this\./g, "comRefs.current.").replace(/comRefs\.current\.([a-zA-Z0-9_]+)\.controller_/g, "comRefs.current.$1.").replace(/comRefs\.current\.slot_Index\./g, "comRefs.current.");
124
+ if (process.trim()) {
125
+ code += "\n".concat(indent, " ").concat(process.trim());
126
+ }
127
+ }
128
+ }
129
+ });
130
+ return code;
131
+ };
132
+
133
+ /**
134
+ * 处理场景级输入
135
+ */
136
+ var processSceneInputs = function processSceneInputs(currentScene, config, addDependencyImport, indent) {
137
+ var code = "";
138
+ var sceneInputs = (currentScene === null || currentScene === void 0 ? void 0 : currentScene.inputs) || [];
139
+ if (!Array.isArray(sceneInputs) || sceneInputs.length === 0) return code;
140
+ code += "\n".concat(indent, " const inputs = comRefs.current.inputs;");
141
+ sceneInputs.forEach(function (input) {
142
+ var event = config.getFrameInputEvent(input.id, currentScene.id);
143
+ if (!event) return;
144
+ var process = handleProcess(event, _objectSpread(_objectSpread({}, config), {}, {
145
+ target: "comRefs.current",
146
+ depth: 3,
147
+ addParentDependencyImport: addDependencyImport,
148
+ getParams: function getParams() {
149
+ return _defineProperty({}, input.id, "data");
150
+ }
151
+ })).replace(/this\./g, "comRefs.current.").replace(/comRefs\.current\.([a-zA-Z0-9_]+)\.controller_/g, "comRefs.current.$1.").replace(/comRefs\.current\.slot_Index\./g, "comRefs.current.");
152
+ if (process.trim()) {
153
+ code += "\n".concat(indent, " inputs.").concat(input.id, " = (data: any) => {\n").concat(process, "\n").concat(indent, " };");
154
+ if (input.id === "open") {
155
+ var importParams = {
156
+ isPopup: config.isPopup
157
+ };
158
+ var controllerName = config.isPopup ? "popupRouter" : "pageRouter";
159
+ addDependencyImport({
160
+ packageName: config.getComponentPackageName(importParams),
161
+ dependencyNames: [controllerName, "SUBJECT_SUBSCRIBE"],
162
+ importType: "named"
163
+ });
164
+ // 使用 SUBJECT_SUBSCRIBE 订阅,不修改 Subject.js
165
+ code += "\n".concat(indent, " ").concat(controllerName, ".getParams(\"").concat(currentScene.id, "\")[SUBJECT_SUBSCRIBE]((val: any) => {\n").concat(indent, " if (val) inputs.open(val);\n").concat(indent, " });");
166
+ }
167
+ }
168
+ });
169
+ return code;
170
+ };