@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.
- package/README.md +58 -0
- package/dist/cjs/core/comlib/_AesEncode.js +115 -0
- package/dist/cjs/core/comlib/_BackTo.js +80 -0
- package/dist/cjs/core/comlib/{Index.js → _CallPhone.js} +29 -16
- package/dist/cjs/core/comlib/_ChooseFile.js +103 -0
- package/dist/cjs/core/comlib/_ChooseMedia.js +70 -0
- package/dist/cjs/core/comlib/_Connector.js +92 -0
- package/dist/cjs/core/comlib/_ConnectorGlobalHeaders.js +79 -0
- package/dist/cjs/core/comlib/_Format.js +123 -0
- package/dist/cjs/core/comlib/_GetLocation.js +60 -0
- package/dist/cjs/core/comlib/_GetStorage.js +68 -0
- package/dist/cjs/core/comlib/_GetSystemInfo.js +62 -0
- package/dist/cjs/core/comlib/_OpenCamera.js +73 -0
- package/dist/cjs/core/comlib/_OpenPetalMap.js +49 -0
- package/dist/cjs/core/comlib/_OpenUrl.js +62 -0
- package/dist/cjs/core/comlib/_RemoveStorage.js +68 -0
- package/dist/cjs/core/comlib/_Router.js +100 -0
- package/dist/cjs/core/comlib/_ScanQrcode.js +9 -10
- package/dist/cjs/core/comlib/_SetStorage.js +10 -19
- package/dist/cjs/core/comlib/_Share.js +58 -0
- package/dist/cjs/core/comlib/_ShowToast.js +23 -50
- package/dist/cjs/core/comlib/_TextToSpeech.js +120 -0
- package/dist/cjs/core/comlib/_TimerDebounce.js +72 -0
- package/dist/cjs/core/comlib/_TimerDelay.js +63 -0
- package/dist/cjs/core/comlib/_TimerThrottle.js +75 -0
- package/dist/cjs/core/comlib/_Vibrate.js +60 -0
- package/dist/cjs/core/comlib/index.js +111 -0
- package/dist/cjs/core/mybricks/index.js +47 -47
- package/dist/cjs/core/utils/ComContext.js +3 -0
- package/dist/cjs/core/utils/PopupRenderer.js +63 -0
- package/dist/cjs/core/utils/hooks.js +131 -0
- package/dist/cjs/core/utils/index.js +33 -57
- package/dist/cjs/core/utils/pageRouter.js +81 -0
- package/dist/cjs/core/utils/popupRouter.js +98 -0
- package/dist/cjs/core/utils/useContext.js +11 -2
- package/dist/cjs/core/utils/with.js +37 -13
- package/dist/cjs/generate/generateTaroProjectJson.d.ts +3 -14
- package/dist/cjs/generate/generateTaroProjectJson.js +39 -6
- package/dist/cjs/generate/utils/tabBarImages.d.ts +1 -1
- package/dist/cjs/handleCom.d.ts +1 -1
- package/dist/cjs/handleCom.js +91 -177
- package/dist/cjs/handleDom.js +7 -44
- package/dist/cjs/handleExtension.d.ts +2 -2
- package/dist/cjs/handleExtension.js +5 -5
- package/dist/cjs/handleGlobal.d.ts +2 -12
- package/dist/cjs/handleGlobal.js +23 -7
- package/dist/cjs/handleModule.js +3 -3
- package/dist/cjs/handleSlot.d.ts +4 -9
- package/dist/cjs/handleSlot.js +61 -150
- package/dist/cjs/processors/processComEvents.d.ts +9 -0
- package/dist/cjs/processors/processComEvents.js +164 -0
- package/dist/cjs/processors/processModule.d.ts +31 -0
- package/dist/cjs/processors/processModule.js +125 -0
- package/dist/cjs/processors/processScene.d.ts +32 -0
- package/dist/cjs/processors/processScene.js +128 -0
- package/dist/cjs/processors/processSceneLogic.d.ts +4 -0
- package/dist/cjs/processors/processSceneLogic.js +170 -0
- package/dist/cjs/shims-taro.d.ts +20 -0
- package/dist/cjs/taro-template.json +501 -351
- package/dist/cjs/toCodeTaro.d.ts +27 -6
- package/dist/cjs/toCodeTaro.js +68 -340
- package/dist/cjs/utils/builder/buildResult.d.ts +22 -0
- package/dist/cjs/utils/builder/buildResult.js +117 -0
- package/dist/cjs/utils/common/ImportManager.d.ts +19 -0
- package/dist/cjs/utils/common/ImportManager.js +105 -0
- package/dist/cjs/utils/common/helper.d.ts +2 -0
- package/dist/cjs/utils/common/helper.js +31 -0
- package/dist/cjs/utils/common/object.d.ts +5 -0
- package/dist/cjs/utils/common/object.js +58 -0
- package/dist/cjs/utils/common/string.d.ts +8 -0
- package/dist/cjs/utils/common/string.js +46 -0
- package/dist/cjs/utils/{pageConfig → config/content}/converter.js +1 -1
- package/dist/cjs/utils/{pageConfig → config/content}/index.js +9 -9
- package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.js +12 -22
- package/dist/{esm/utils/pageConfig → cjs/utils/config/content}/saveBase64Image.d.ts +1 -1
- package/dist/cjs/utils/{pageConfig → config/content}/saveBase64Image.js +8 -17
- package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.js +9 -32
- package/dist/cjs/utils/config/content/types.js +17 -0
- package/dist/cjs/utils/{pageConfig → config/content}/validator.js +1 -1
- package/dist/{esm/utils → cjs/utils/config}/handlePageConfig.d.ts +3 -2
- package/dist/cjs/utils/{handlePageConfig.js → config/handlePageConfig.js} +7 -6
- package/dist/cjs/utils/context/buildContext.d.ts +24 -0
- package/dist/cjs/utils/context/buildContext.js +65 -0
- package/dist/cjs/utils/context/buildFrameMap.d.ts +16 -0
- package/dist/cjs/utils/context/buildFrameMap.js +106 -0
- package/dist/cjs/utils/context/buildGlobalData.d.ts +13 -0
- package/dist/cjs/utils/context/buildGlobalData.js +58 -0
- package/dist/cjs/utils/context/collectJSModules.d.ts +37 -0
- package/dist/cjs/utils/context/collectJSModules.js +91 -0
- package/dist/cjs/utils/context/createEventQueries.d.ts +45 -0
- package/dist/cjs/utils/context/createEventQueries.js +99 -0
- package/dist/cjs/utils/context/createProvider.d.ts +21 -0
- package/dist/cjs/utils/context/createProvider.js +49 -0
- package/dist/cjs/utils/index.d.ts +10 -62
- package/dist/cjs/utils/index.js +21 -282
- package/dist/cjs/utils/{convertNamespace.js → logic/convertNamespace.js} +1 -1
- package/dist/cjs/utils/{genJSModules.js → logic/genJSModules.js} +1 -1
- package/dist/{esm/utils → cjs/utils/logic}/handleProcess.d.ts +2 -2
- package/dist/cjs/utils/{handleProcess.js → logic/handleProcess.js} +40 -16
- package/dist/cjs/utils/logic/processChildren.d.ts +12 -0
- package/dist/cjs/utils/logic/processChildren.js +82 -0
- package/dist/cjs/utils/style/color.d.ts +4 -0
- package/dist/cjs/utils/style/color.js +45 -0
- package/dist/cjs/utils/style/converter.d.ts +7 -0
- package/dist/cjs/utils/style/converter.js +181 -0
- package/dist/cjs/utils/{getComponentClassName.js → style/getComponentClassName.js} +1 -1
- package/dist/cjs/utils/{pxtransform.js → style/pxtransform.js} +1 -1
- package/dist/cjs/utils/style/types.d.ts +23 -0
- package/dist/cjs/utils/{pageConfig → style}/types.js +1 -1
- package/dist/cjs/utils/{code → templates}/component.js +1 -1
- package/dist/cjs/utils/{code → templates}/index.js +4 -4
- package/dist/cjs/utils/{code → templates}/renderManager.js +1 -1
- package/dist/cjs/utils/{code → templates}/scene.d.ts +3 -1
- package/dist/cjs/utils/{code → templates}/scene.js +17 -5
- package/dist/esm/core/comlib/_AesEncode.js +85 -0
- package/dist/esm/core/comlib/_BackTo.js +66 -0
- package/dist/esm/core/comlib/_CallPhone.js +30 -0
- package/dist/esm/core/comlib/_ChooseFile.js +81 -0
- package/dist/esm/core/comlib/_ChooseMedia.js +38 -0
- package/dist/esm/core/comlib/_Connector.js +60 -0
- package/dist/esm/core/comlib/_ConnectorGlobalHeaders.js +56 -0
- package/dist/esm/core/comlib/_Format.js +102 -0
- package/dist/esm/core/comlib/_GetLocation.js +26 -0
- package/dist/esm/core/comlib/_GetStorage.js +44 -0
- package/dist/esm/core/comlib/_GetSystemInfo.js +32 -0
- package/dist/esm/core/comlib/_OpenCamera.js +44 -0
- package/dist/esm/core/comlib/_OpenPetalMap.js +28 -0
- package/dist/esm/core/comlib/_OpenUrl.js +36 -0
- package/dist/esm/core/comlib/_RemoveStorage.js +42 -0
- package/dist/esm/core/comlib/_Router.js +113 -0
- package/dist/esm/core/comlib/_ScanQrcode.js +10 -11
- package/dist/esm/core/comlib/_SetStorage.js +13 -25
- package/dist/esm/core/comlib/_Share.js +28 -0
- package/dist/esm/core/comlib/_ShowToast.js +32 -55
- package/dist/esm/core/comlib/_TextToSpeech.js +117 -0
- package/dist/esm/core/comlib/_TimerDebounce.js +66 -0
- package/dist/esm/core/comlib/_TimerDelay.js +47 -0
- package/dist/esm/core/comlib/_TimerThrottle.js +69 -0
- package/dist/esm/core/comlib/_Vibrate.js +34 -0
- package/dist/esm/core/comlib/index.js +37 -0
- package/dist/esm/core/mybricks/index.js +1 -1
- package/dist/esm/core/utils/ComContext.js +1 -0
- package/dist/esm/core/utils/PopupRenderer.js +27 -0
- package/dist/esm/core/utils/hooks.js +130 -0
- package/dist/esm/core/utils/index.js +8 -57
- package/dist/esm/core/utils/pageRouter.js +69 -0
- package/dist/esm/core/utils/popupRouter.js +116 -0
- package/dist/esm/core/utils/useContext.js +16 -3
- package/dist/esm/core/utils/with.js +62 -19
- package/dist/esm/generate/generateTaroProjectJson.d.ts +3 -14
- package/dist/esm/generate/generateTaroProjectJson.js +62 -24
- package/dist/esm/generate/utils/tabBarImages.d.ts +1 -1
- package/dist/esm/handleCom.d.ts +1 -1
- package/dist/esm/handleCom.js +159 -244
- package/dist/esm/handleDom.js +9 -48
- package/dist/esm/handleExtension.d.ts +2 -2
- package/dist/esm/handleExtension.js +5 -5
- package/dist/esm/handleGlobal.d.ts +2 -12
- package/dist/esm/handleGlobal.js +17 -3
- package/dist/esm/handleModule.js +3 -3
- package/dist/esm/handleSlot.d.ts +4 -9
- package/dist/esm/handleSlot.js +112 -173
- package/dist/esm/processors/processComEvents.d.ts +9 -0
- package/dist/esm/processors/processComEvents.js +167 -0
- package/dist/esm/processors/processModule.d.ts +31 -0
- package/dist/esm/processors/processModule.js +126 -0
- package/dist/esm/processors/processScene.d.ts +32 -0
- package/dist/esm/processors/processScene.js +134 -0
- package/dist/esm/processors/processSceneLogic.d.ts +4 -0
- package/dist/esm/processors/processSceneLogic.js +170 -0
- package/dist/esm/shims-taro.d.ts +20 -0
- package/dist/esm/taro-template.json +501 -351
- package/dist/esm/toCodeTaro.d.ts +27 -6
- package/dist/esm/toCodeTaro.js +110 -395
- package/dist/esm/utils/builder/buildResult.d.ts +22 -0
- package/dist/esm/utils/builder/buildResult.js +82 -0
- package/dist/esm/utils/common/ImportManager.d.ts +19 -0
- package/dist/esm/utils/common/ImportManager.js +103 -0
- package/dist/esm/utils/common/helper.d.ts +2 -0
- package/dist/esm/utils/common/helper.js +4 -0
- package/dist/esm/utils/common/object.d.ts +5 -0
- package/dist/esm/utils/common/object.js +32 -0
- package/dist/esm/utils/common/string.d.ts +8 -0
- package/dist/esm/utils/common/string.js +21 -0
- package/dist/esm/utils/config/content/pageConfig.js +40 -0
- package/dist/{cjs/utils/pageConfig → esm/utils/config/content}/saveBase64Image.d.ts +1 -1
- package/dist/esm/utils/{pageConfig → config/content}/saveBase64Image.js +11 -30
- package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.js +12 -34
- package/dist/{cjs/utils → esm/utils/config}/handlePageConfig.d.ts +3 -2
- package/dist/esm/utils/{handlePageConfig.js → config/handlePageConfig.js} +6 -2
- package/dist/esm/utils/context/buildContext.d.ts +24 -0
- package/dist/esm/utils/context/buildContext.js +53 -0
- package/dist/esm/utils/context/buildFrameMap.d.ts +16 -0
- package/dist/esm/utils/context/buildFrameMap.js +131 -0
- package/dist/esm/utils/context/buildGlobalData.d.ts +13 -0
- package/dist/esm/utils/context/buildGlobalData.js +44 -0
- package/dist/esm/utils/context/collectJSModules.d.ts +37 -0
- package/dist/esm/utils/context/collectJSModules.js +87 -0
- package/dist/esm/utils/context/createEventQueries.d.ts +45 -0
- package/dist/esm/utils/context/createEventQueries.js +99 -0
- package/dist/esm/utils/context/createProvider.d.ts +21 -0
- package/dist/esm/utils/context/createProvider.js +33 -0
- package/dist/esm/utils/index.d.ts +10 -62
- package/dist/esm/utils/index.js +12 -345
- package/dist/{cjs/utils → esm/utils/logic}/handleProcess.d.ts +2 -2
- package/dist/esm/utils/{handleProcess.js → logic/handleProcess.js} +42 -9
- package/dist/esm/utils/logic/processChildren.d.ts +12 -0
- package/dist/esm/utils/logic/processChildren.js +48 -0
- package/dist/esm/utils/style/color.d.ts +4 -0
- package/dist/esm/utils/style/color.js +17 -0
- package/dist/esm/utils/style/converter.d.ts +7 -0
- package/dist/esm/utils/style/converter.js +176 -0
- package/dist/esm/utils/style/types.d.ts +23 -0
- package/dist/esm/utils/style/types.js +1 -0
- package/dist/esm/utils/{code → templates}/scene.d.ts +3 -1
- package/dist/esm/utils/{code → templates}/scene.js +13 -5
- package/package.json +4 -2
- package/dist/esm/core/comlib/Index.js +0 -3
- package/dist/esm/utils/pageConfig/pageConfig.js +0 -60
- /package/dist/cjs/utils/{pageConfig → config/content}/converter.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/index.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/types.d.ts +0 -0
- /package/dist/cjs/utils/{pageConfig → config/content}/validator.d.ts +0 -0
- /package/dist/cjs/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
- /package/dist/cjs/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
- /package/dist/cjs/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
- /package/dist/cjs/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
- /package/dist/cjs/utils/{code → templates}/component.d.ts +0 -0
- /package/dist/cjs/utils/{code → templates}/index.d.ts +0 -0
- /package/dist/cjs/utils/{code → templates}/renderManager.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/converter.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/converter.js +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/index.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/index.js +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/pageConfig.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/tabBarConfig.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/types.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/types.js +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/validator.d.ts +0 -0
- /package/dist/esm/utils/{pageConfig → config/content}/validator.js +0 -0
- /package/dist/esm/utils/{convertNamespace.d.ts → logic/convertNamespace.d.ts} +0 -0
- /package/dist/esm/utils/{convertNamespace.js → logic/convertNamespace.js} +0 -0
- /package/dist/esm/utils/{genJSModules.d.ts → logic/genJSModules.d.ts} +0 -0
- /package/dist/esm/utils/{genJSModules.js → logic/genJSModules.js} +0 -0
- /package/dist/esm/utils/{getComponentClassName.d.ts → style/getComponentClassName.d.ts} +0 -0
- /package/dist/esm/utils/{getComponentClassName.js → style/getComponentClassName.js} +0 -0
- /package/dist/esm/utils/{pxtransform.d.ts → style/pxtransform.d.ts} +0 -0
- /package/dist/esm/utils/{pxtransform.js → style/pxtransform.js} +0 -0
- /package/dist/esm/utils/{code → templates}/component.d.ts +0 -0
- /package/dist/esm/utils/{code → templates}/component.js +0 -0
- /package/dist/esm/utils/{code → templates}/index.d.ts +0 -0
- /package/dist/esm/utils/{code → templates}/index.js +0 -0
- /package/dist/esm/utils/{code → templates}/renderManager.d.ts +0 -0
- /package/dist/esm/utils/{code → templates}/renderManager.js +0 -0
package/dist/esm/handleDom.js
CHANGED
|
@@ -1,62 +1,23 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
2
|
import { indentation, convertStyleAryToCss, convertRootStyle } from "./utils";
|
|
4
|
-
import
|
|
3
|
+
import { processChildren } from "./utils/logic/processChildren";
|
|
5
4
|
var handleDom = function handleDom(dom, config) {
|
|
6
5
|
var _domProps$style;
|
|
7
6
|
var props = dom.props,
|
|
8
7
|
children = dom.children;
|
|
9
|
-
var domProps = props;
|
|
10
|
-
var
|
|
11
|
-
var jsCode = "";
|
|
12
|
-
var cssContent = convertStyleAryToCss((_domProps$style = domProps.style) === null || _domProps$style === void 0 ? void 0 : _domProps$style.styleAry, domProps.id);
|
|
13
|
-
var level0Slots = [];
|
|
14
|
-
var level1Slots = [];
|
|
15
|
-
var nextConfig = _objectSpread(_objectSpread({}, config), {}, {
|
|
8
|
+
var domProps = props;
|
|
9
|
+
var childResults = processChildren(children, _objectSpread(_objectSpread({}, config), {}, {
|
|
16
10
|
depth: config.depth + 1
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (child.type === "com") {
|
|
20
|
-
var _handleCom = handleCom(child, nextConfig),
|
|
21
|
-
_ui = _handleCom.ui,
|
|
22
|
-
js = _handleCom.js,
|
|
23
|
-
slots = _handleCom.slots,
|
|
24
|
-
scopeSlots = _handleCom.scopeSlots,
|
|
25
|
-
childCssContent = _handleCom.cssContent;
|
|
26
|
-
uiCode += uiCode ? "\n" + _ui : _ui;
|
|
27
|
-
jsCode += js;
|
|
28
|
-
if (childCssContent) {
|
|
29
|
-
cssContent += (cssContent ? "\n" : "") + childCssContent;
|
|
30
|
-
}
|
|
31
|
-
level0Slots.push.apply(level0Slots, _toConsumableArray(slots));
|
|
32
|
-
level1Slots.push.apply(level1Slots, _toConsumableArray(scopeSlots));
|
|
33
|
-
} else if (child.type === "module") {
|
|
34
|
-
// 模块处理
|
|
35
|
-
uiCode += uiCode ? "\n" + "模块" : "模块";
|
|
36
|
-
} else {
|
|
37
|
-
var _handleDom = handleDom(child, nextConfig),
|
|
38
|
-
_ui2 = _handleDom.ui,
|
|
39
|
-
_js = _handleDom.js,
|
|
40
|
-
_slots = _handleDom.slots,
|
|
41
|
-
_scopeSlots = _handleDom.scopeSlots,
|
|
42
|
-
_childCssContent = _handleDom.cssContent;
|
|
43
|
-
uiCode += uiCode ? "\n" + _ui2 : _ui2;
|
|
44
|
-
jsCode += _js;
|
|
45
|
-
if (_childCssContent) {
|
|
46
|
-
cssContent += (cssContent ? "\n" : "") + _childCssContent;
|
|
47
|
-
}
|
|
48
|
-
level0Slots.push.apply(level0Slots, _toConsumableArray(_slots));
|
|
49
|
-
level1Slots.push.apply(level1Slots, _toConsumableArray(_scopeSlots));
|
|
50
|
-
}
|
|
51
|
-
});
|
|
11
|
+
}));
|
|
12
|
+
var cssContent = (convertStyleAryToCss((_domProps$style = domProps.style) === null || _domProps$style === void 0 ? void 0 : _domProps$style.styleAry, domProps.id) || "") + (childResults.cssContent ? "\n" + childResults.cssContent : "");
|
|
52
13
|
var indent = indentation(config.codeStyle.indent * config.depth);
|
|
53
14
|
var styleCode = JSON.stringify(convertRootStyle(domProps.style));
|
|
54
|
-
var ui = "".concat(indent, "<View").concat(domProps.id ? " id=\"".concat(domProps.id, "\" className=\"").concat(domProps.id, "\"") : "", " style={").concat(styleCode, "}>\n").concat(
|
|
15
|
+
var ui = "".concat(indent, "<View").concat(domProps.id ? " id=\"".concat(domProps.id, "\" className=\"").concat(domProps.id, "\"") : "", " style={").concat(styleCode, "}>\n").concat(childResults.ui, "\n").concat(indent, "</View>");
|
|
55
16
|
return {
|
|
56
17
|
ui: ui,
|
|
57
|
-
js:
|
|
58
|
-
slots:
|
|
59
|
-
scopeSlots:
|
|
18
|
+
js: childResults.js,
|
|
19
|
+
slots: childResults.slots,
|
|
20
|
+
scopeSlots: childResults.scopeSlots,
|
|
60
21
|
cssContent: cssContent
|
|
61
22
|
};
|
|
62
23
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 处理Extension事件卡片
|
|
3
3
|
*/
|
|
4
|
-
import type { ToTaroCodeConfig,
|
|
4
|
+
import type { ToTaroCodeConfig, GeneratedFile } from "./toCodeTaro";
|
|
5
5
|
interface HandleExtensionParams {
|
|
6
6
|
tojson: any;
|
|
7
7
|
extensionEvents: any[];
|
|
8
8
|
}
|
|
9
|
-
declare const handleExtension: (params: HandleExtensionParams, config: ToTaroCodeConfig) =>
|
|
9
|
+
declare const handleExtension: (params: HandleExtensionParams, config: ToTaroCodeConfig) => GeneratedFile[];
|
|
10
10
|
export default handleExtension;
|
|
@@ -5,11 +5,11 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { ImportManager, indentation } from "./utils";
|
|
8
|
-
import { handleProcess } from "./utils/handleProcess";
|
|
8
|
+
import { handleProcess } from "./utils/logic/handleProcess";
|
|
9
9
|
var handleExtension = function handleExtension(params, config) {
|
|
10
10
|
var tojson = params.tojson,
|
|
11
11
|
extensionEvents = params.extensionEvents;
|
|
12
|
-
var
|
|
12
|
+
var files = [];
|
|
13
13
|
var importManager = new ImportManager(config);
|
|
14
14
|
var addDependencyImport = importManager.addImport.bind(importManager);
|
|
15
15
|
var eventCode = genEvent({
|
|
@@ -36,7 +36,7 @@ var handleExtension = function handleExtension(params, config) {
|
|
|
36
36
|
}, _objectSpread(_objectSpread({}, config), {}, {
|
|
37
37
|
addParentDependencyImport: addDependencyImport
|
|
38
38
|
}));
|
|
39
|
-
|
|
39
|
+
files.push({
|
|
40
40
|
type: "api",
|
|
41
41
|
content: (apiCode ? "".concat(apiCode, "\n\n") : "") + (configCode ? "".concat(configCode, "\n\n") : "") + eventCode,
|
|
42
42
|
importManager: importManager,
|
|
@@ -53,14 +53,14 @@ var handleExtension = function handleExtension(params, config) {
|
|
|
53
53
|
addParentDependencyImport: addDependencyExtensionBusImport
|
|
54
54
|
}));
|
|
55
55
|
if (busCode) {
|
|
56
|
-
|
|
56
|
+
files.push({
|
|
57
57
|
content: busCode,
|
|
58
58
|
importManager: extensionBusImportManager,
|
|
59
59
|
type: "extension-bus",
|
|
60
60
|
name: "系统总线"
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
-
return
|
|
63
|
+
return files;
|
|
64
64
|
};
|
|
65
65
|
export default handleExtension;
|
|
66
66
|
var genConfig = function genConfig(params, config) {
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 处理全局变量和全局Fx
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import type { ToTaroCodeConfig } from "./toCodeTaro";
|
|
4
|
+
import type { ToTaroCodeConfig, GeneratedFile } from "./toCodeTaro";
|
|
6
5
|
interface HandleGlobalParams {
|
|
7
6
|
tojson: any;
|
|
8
7
|
globalFxs: any[];
|
|
9
8
|
globalVars: any[];
|
|
10
9
|
}
|
|
11
|
-
declare const handleGlobal: (params: HandleGlobalParams, config: ToTaroCodeConfig) =>
|
|
12
|
-
content: string;
|
|
13
|
-
cssContent?: string;
|
|
14
|
-
pageConfigContent?: string;
|
|
15
|
-
importManager: ImportManager;
|
|
16
|
-
type: "module" | "fx" | "global" | "extension-event" | "extension-api" | "extension-config" | "api" | "normal" | "popup" | "extension-bus" | "abstractEventTypeDef" | "jsModules" | "commonIndex" | "tabBarConfig";
|
|
17
|
-
meta?: import("@mybricks/to-code-react/dist/cjs/toCode/types").Scene;
|
|
18
|
-
name: string;
|
|
19
|
-
tabBarConfig?: string;
|
|
20
|
-
};
|
|
10
|
+
declare const handleGlobal: (params: HandleGlobalParams, config: ToTaroCodeConfig) => GeneratedFile[];
|
|
21
11
|
export default handleGlobal;
|
package/dist/esm/handleGlobal.js
CHANGED
|
@@ -7,7 +7,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
7
7
|
|
|
8
8
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
9
9
|
import { ImportManager, indentation } from "./utils";
|
|
10
|
-
import { handleProcess } from "./utils/handleProcess";
|
|
10
|
+
import { handleProcess } from "./utils/logic/handleProcess";
|
|
11
11
|
var handleGlobal = function handleGlobal(params, config) {
|
|
12
12
|
var tojson = params.tojson,
|
|
13
13
|
globalFxs = params.globalFxs,
|
|
@@ -100,6 +100,20 @@ var handleGlobal = function handleGlobal(params, config) {
|
|
|
100
100
|
});
|
|
101
101
|
var varCode = "/** 全局变量 */" + "\nclass GlobalVars {" + "\n".concat(globalVarsInitCode) + "\n".concat(indent, "init() {") + "".concat(globalVarsRegisterChangeCode) + "\n".concat(indent, "}") + "\n}" + "\n\nexport const globalVars = new GlobalVars()";
|
|
102
102
|
var fxCode = "/** 全局Fx */" + "\nclass GlobalFxs {" + "\n".concat(globalFxsInitCode) + "}" + "\n\nexport const globalFxs = new GlobalFxs()";
|
|
103
|
+
if (varCode.includes("createVariable(")) {
|
|
104
|
+
globalAddDependencyImport({
|
|
105
|
+
packageName: config.getUtilsPackageName(),
|
|
106
|
+
dependencyNames: ["createVariable"],
|
|
107
|
+
importType: "named"
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (fxCode.includes("createFx(")) {
|
|
111
|
+
globalAddDependencyImport({
|
|
112
|
+
packageName: config.getUtilsPackageName(),
|
|
113
|
+
dependencyNames: ["createFx"],
|
|
114
|
+
importType: "named"
|
|
115
|
+
});
|
|
116
|
+
}
|
|
103
117
|
if (fxCode.includes("merge(")) {
|
|
104
118
|
globalAddDependencyImport({
|
|
105
119
|
packageName: config.getUtilsPackageName(),
|
|
@@ -107,11 +121,11 @@ var handleGlobal = function handleGlobal(params, config) {
|
|
|
107
121
|
importType: "named"
|
|
108
122
|
});
|
|
109
123
|
}
|
|
110
|
-
return {
|
|
124
|
+
return [{
|
|
111
125
|
type: "global",
|
|
112
126
|
content: varCode + "\n\n" + fxCode,
|
|
113
127
|
importManager: globalImportManager,
|
|
114
128
|
name: "global"
|
|
115
|
-
};
|
|
129
|
+
}];
|
|
116
130
|
};
|
|
117
131
|
export default handleGlobal;
|
package/dist/esm/handleModule.js
CHANGED
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
4
|
import { indentation, genObjectCode, convertComponentStyle, convertStyleAryToCss, firstCharToUpperCase } from "./utils";
|
|
5
|
-
import { handleProcess } from "./utils/handleProcess";
|
|
5
|
+
import { handleProcess } from "./utils/logic/handleProcess";
|
|
6
6
|
var handleModule = function handleModule(module, config) {
|
|
7
7
|
var _config$getFileName, _props$style, _config$getComponentC;
|
|
8
8
|
var events = module.events,
|
|
@@ -35,10 +35,10 @@ var handleModule = function handleModule(module, config) {
|
|
|
35
35
|
if (process.includes("pageParams")) {
|
|
36
36
|
config.addParentDependencyImport({
|
|
37
37
|
packageName: config.getComponentPackageName(),
|
|
38
|
-
dependencyNames: ["page"],
|
|
38
|
+
dependencyNames: ["page", "SUBJECT_VALUE"],
|
|
39
39
|
importType: "named"
|
|
40
40
|
});
|
|
41
|
-
process = indentation(config.codeStyle.indent * (config.depth + 2)) + "const pageParams: any = page.getParams(\"".concat(config.getCurrentScene().id, "\");\n") + process;
|
|
41
|
+
process = indentation(config.codeStyle.indent * (config.depth + 2)) + "const pageParams: any = page.getParams(\"".concat(config.getCurrentScene().id, "\")[SUBJECT_VALUE];\n") + process;
|
|
42
42
|
}
|
|
43
43
|
comEventCode += "".concat(indent).concat(eventId, ": (").concat(defaultValue, ": any) => {\n") + process + "\n".concat(indent, "},\n");
|
|
44
44
|
});
|
package/dist/esm/handleSlot.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ImportManager } from "./utils";
|
|
2
|
-
import { RenderManager } from "./utils/
|
|
2
|
+
import { RenderManager } from "./utils/templates/renderManager";
|
|
3
3
|
import type { UI, BaseConfig } from "./toCodeTaro";
|
|
4
4
|
interface HandleSlotConfig extends BaseConfig {
|
|
5
5
|
addParentDependencyImport?: (typeof ImportManager)["prototype"]["addImport"];
|
|
@@ -7,14 +7,9 @@ interface HandleSlotConfig extends BaseConfig {
|
|
|
7
7
|
addConsumer?: (provider: ReturnType<BaseConfig["getCurrentProvider"]>) => void;
|
|
8
8
|
checkIsRoot: () => boolean;
|
|
9
9
|
renderManager?: RenderManager;
|
|
10
|
-
addJSModule?: (module:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
transformCode: string;
|
|
14
|
-
inputs: string[];
|
|
15
|
-
outputs: string[];
|
|
16
|
-
data: any;
|
|
17
|
-
}) => void;
|
|
10
|
+
addJSModule?: (module: any) => void;
|
|
11
|
+
isPopup?: boolean;
|
|
12
|
+
hasPopups?: boolean;
|
|
18
13
|
}
|
|
19
14
|
declare const handleSlot: (ui: UI, config: HandleSlotConfig) => {
|
|
20
15
|
js: string;
|
package/dist/esm/handleSlot.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
2
|
import { ImportManager, indentation, convertStyleAryToCss, convertRootStyle, getRootComponentClassName } from "./utils";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import handleDom from "./handleDom";
|
|
8
|
-
import handleModule from "./handleModule";
|
|
3
|
+
import { genRootDefineCode, genSlotDefineCode, genComponentTemplate, wrapInEffect } from "./utils/templates/scene";
|
|
4
|
+
import { RenderManager } from "./utils/templates/renderManager";
|
|
5
|
+
import { processChildren } from "./utils/logic/processChildren";
|
|
6
|
+
import { processSceneLogic } from "./processors/processSceneLogic";
|
|
9
7
|
var handleSlot = function handleSlot(ui, config) {
|
|
10
8
|
var _meta, _props$style;
|
|
11
9
|
var importManager = new ImportManager(config);
|
|
@@ -13,193 +11,134 @@ var handleSlot = function handleSlot(ui, config) {
|
|
|
13
11
|
props = _ui$props === void 0 ? {} : _ui$props,
|
|
14
12
|
_ui$children = ui.children,
|
|
15
13
|
children = _ui$children === void 0 ? [] : _ui$children;
|
|
16
|
-
var
|
|
17
|
-
var jsCode = "";
|
|
18
|
-
var effectCode = ""; // 专门存放需要在 useEffect 中执行的代码
|
|
14
|
+
var isRoot = config.checkIsRoot();
|
|
19
15
|
var slotId = ((_meta = ui.meta) === null || _meta === void 0 ? void 0 : _meta.id) || ui.id;
|
|
20
16
|
|
|
21
|
-
//
|
|
22
|
-
// 如果是根组件,创建新的 renderManager;否则使用传入的(共享同一个实例)
|
|
23
|
-
var renderManager = config.checkIsRoot() ? new RenderManager() : config.renderManager || new RenderManager();
|
|
24
|
-
var currentProvider = config.getCurrentProvider();
|
|
17
|
+
// 1. 初始化依赖与基础定义
|
|
25
18
|
var addDependencyImport = config.addParentDependencyImport || importManager.addImport.bind(importManager);
|
|
19
|
+
setupImports(addDependencyImport, config, isRoot);
|
|
26
20
|
var indent2 = indentation(config.codeStyle.indent);
|
|
27
|
-
var envDefineCode =
|
|
28
|
-
if (config.checkIsRoot()) {
|
|
29
|
-
// 只有根节点需要注入 useRef 和基础定义
|
|
30
|
-
addDependencyImport({
|
|
31
|
-
packageName: "react",
|
|
32
|
-
dependencyNames: ["useRef", "useEffect", "useState"],
|
|
33
|
-
importType: "named"
|
|
34
|
-
});
|
|
35
|
-
// 添加 Taro View 组件的导入
|
|
36
|
-
addDependencyImport({
|
|
37
|
-
packageName: "@tarojs/components",
|
|
38
|
-
dependencyNames: ["View"],
|
|
39
|
-
importType: "named"
|
|
40
|
-
});
|
|
41
|
-
// 添加工具包的 import
|
|
42
|
-
var utilsPackageName = config.getUtilsPackageName();
|
|
43
|
-
addDependencyImport({
|
|
44
|
-
packageName: utilsPackageName,
|
|
45
|
-
dependencyNames: ["WithCom", "WithWrapper"],
|
|
46
|
-
importType: "named"
|
|
47
|
-
});
|
|
48
|
-
addDependencyImport({
|
|
49
|
-
packageName: "./index.less",
|
|
50
|
-
dependencyNames: [],
|
|
51
|
-
importType: "module"
|
|
52
|
-
});
|
|
53
|
-
envDefineCode = genRootDefineCode(indent2, utilsPackageName);
|
|
54
|
-
// 添加 useAppContext 的导入(根节点)
|
|
55
|
-
addDependencyImport({
|
|
56
|
-
packageName: config.getComponentPackageName(),
|
|
57
|
-
dependencyNames: ["useAppContext"],
|
|
58
|
-
importType: "named"
|
|
59
|
-
});
|
|
60
|
-
} else {
|
|
61
|
-
// 插槽内部也需要声明自己的 inputs/outputs 变量
|
|
62
|
-
envDefineCode = genSlotDefineCode(indent2);
|
|
63
|
-
// 非根节点也需要 useAppContext,需要添加导入
|
|
64
|
-
addDependencyImport({
|
|
65
|
-
packageName: config.getComponentPackageName(),
|
|
66
|
-
dependencyNames: ["useAppContext"],
|
|
67
|
-
importType: "named"
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// 不再需要初始化控制器对象,WithCom 内部会处理
|
|
21
|
+
var envDefineCode = isRoot ? genRootDefineCode(indent2, config.getUtilsPackageName()) : genSlotDefineCode(indent2);
|
|
72
22
|
|
|
73
|
-
|
|
74
|
-
var
|
|
23
|
+
// 2. 处理子节点
|
|
24
|
+
var renderManager = isRoot ? new RenderManager() : config.renderManager || new RenderManager();
|
|
25
|
+
var childResults = processChildren(children, _objectSpread(_objectSpread({}, config), {}, {
|
|
75
26
|
depth: config.depth + 1,
|
|
76
27
|
addParentDependencyImport: addDependencyImport,
|
|
77
|
-
renderManager: renderManager
|
|
78
|
-
});
|
|
79
|
-
children.forEach(function (child) {
|
|
80
|
-
if (child.type === "com") {
|
|
81
|
-
var _handleCom = handleCom(child, nextConfig),
|
|
82
|
-
_ui = _handleCom.ui,
|
|
83
|
-
js = _handleCom.js,
|
|
84
|
-
childCssContent = _handleCom.cssContent;
|
|
85
|
-
uiCode += uiCode ? "\n" + _ui : _ui;
|
|
86
|
-
jsCode += js;
|
|
87
|
-
if (childCssContent) {
|
|
88
|
-
cssContent += (cssContent ? "\n" : "") + childCssContent;
|
|
89
|
-
}
|
|
90
|
-
} else if (child.type === "module") {
|
|
91
|
-
var _handleModule = handleModule(child, nextConfig),
|
|
92
|
-
_ui2 = _handleModule.ui,
|
|
93
|
-
_childCssContent = _handleModule.cssContent;
|
|
94
|
-
uiCode += uiCode ? "\n" + _ui2 : _ui2;
|
|
95
|
-
if (_childCssContent) {
|
|
96
|
-
cssContent += (cssContent ? "\n" : "") + _childCssContent;
|
|
97
|
-
}
|
|
98
|
-
} else {
|
|
99
|
-
var _handleDom = handleDom(child, nextConfig),
|
|
100
|
-
_ui3 = _handleDom.ui,
|
|
101
|
-
_js = _handleDom.js,
|
|
102
|
-
_childCssContent2 = _handleDom.cssContent;
|
|
103
|
-
uiCode += uiCode ? "\n" + _ui3 : _ui3;
|
|
104
|
-
jsCode += _js;
|
|
105
|
-
if (_childCssContent2) {
|
|
106
|
-
cssContent += (cssContent ? "\n" : "") + _childCssContent2;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
});
|
|
28
|
+
renderManager: renderManager
|
|
29
|
+
}));
|
|
110
30
|
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
var _ui$meta;
|
|
114
|
-
var _scene = ((_ui$meta = ui.meta) === null || _ui$meta === void 0 ? void 0 : _ui$meta.scene) || ui.meta;
|
|
115
|
-
// 深度识别:尝试从 scene.events 或 ui.events 中获取
|
|
116
|
-
var sceneEvents = (_scene === null || _scene === void 0 ? void 0 : _scene.events) || ui.events || [];
|
|
117
|
-
if (Array.isArray(sceneEvents)) {
|
|
118
|
-
sceneEvents.forEach(function (eventInfo) {
|
|
119
|
-
var type = eventInfo.type,
|
|
120
|
-
diagramId = eventInfo.diagramId,
|
|
121
|
-
active = eventInfo.active;
|
|
122
|
-
// 识别"启动"或"自动执行"类事件
|
|
123
|
-
if (active !== false && type === "defined" && diagramId) {
|
|
124
|
-
var event = config.getEventByDiagramId(diagramId);
|
|
125
|
-
if (event) {
|
|
126
|
-
var process = handleProcess(event, _objectSpread(_objectSpread({}, config), {}, {
|
|
127
|
-
target: 'comRefs.current',
|
|
128
|
-
depth: 2,
|
|
129
|
-
addParentDependencyImport: addDependencyImport,
|
|
130
|
-
getParams: function getParams() {
|
|
131
|
-
return {};
|
|
132
|
-
}
|
|
133
|
-
})).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.'); // 移除 slot_Index 作用域
|
|
31
|
+
// 3. 处理场景逻辑 (Start, Inputs 等)
|
|
32
|
+
var effectCode = processSceneLogic(ui, config, addDependencyImport);
|
|
134
33
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
34
|
+
// 4. 合并样式与代码
|
|
35
|
+
var cssContent = (convertStyleAryToCss((_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.styleAry, slotId) || "") + (childResults.cssContent ? "\n" + childResults.cssContent : "");
|
|
36
|
+
var renderCodeBlock = isRoot && renderManager ? renderManager.toCode(indentation(config.codeStyle.indent)) : "";
|
|
37
|
+
var combinedJsCode = "".concat(envDefineCode).concat(childResults.js).concat(renderCodeBlock ? "\n".concat(renderCodeBlock) : "").concat(wrapInEffect(indent2, effectCode));
|
|
38
|
+
|
|
39
|
+
// 5. 生成 UI 结构
|
|
40
|
+
var uiResult = generateSlotUi(ui, props, childResults.ui, config);
|
|
41
|
+
|
|
42
|
+
// 6. 如果是根场景,生成完整文件
|
|
43
|
+
if (isRoot) {
|
|
44
|
+
finalizeRootComponent(ui, config, importManager, combinedJsCode, uiResult, cssContent);
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
js: childResults.js,
|
|
48
|
+
combinedJsCode: combinedJsCode,
|
|
49
|
+
ui: uiResult,
|
|
50
|
+
cssContent: cssContent,
|
|
51
|
+
slots: [],
|
|
52
|
+
scopeSlots: []
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 设置基础导入
|
|
58
|
+
*/
|
|
59
|
+
var setupImports = function setupImports(addImport, config, isRoot) {
|
|
60
|
+
var importParams = {
|
|
61
|
+
isPopup: config.isPopup
|
|
62
|
+
};
|
|
63
|
+
var utilsPkg = config.getUtilsPackageName(importParams);
|
|
64
|
+
var comPkg = config.getComponentPackageName(importParams);
|
|
65
|
+
addImport({
|
|
66
|
+
packageName: "react",
|
|
67
|
+
dependencyNames: ["useRef", "useEffect", "useState"],
|
|
68
|
+
importType: "named"
|
|
69
|
+
});
|
|
70
|
+
addImport({
|
|
71
|
+
packageName: "@tarojs/components",
|
|
72
|
+
dependencyNames: ["View"],
|
|
73
|
+
importType: "named"
|
|
74
|
+
});
|
|
75
|
+
var dependencyNames = ["WithCom", "WithWrapper"];
|
|
76
|
+
if (isRoot && config.hasPopups) {
|
|
77
|
+
dependencyNames.push("PopupRenderer");
|
|
78
|
+
}
|
|
79
|
+
addImport({
|
|
80
|
+
packageName: utilsPkg,
|
|
81
|
+
dependencyNames: dependencyNames,
|
|
82
|
+
importType: "named"
|
|
83
|
+
});
|
|
84
|
+
addImport({
|
|
85
|
+
packageName: comPkg,
|
|
86
|
+
dependencyNames: ["useAppContext"],
|
|
87
|
+
importType: "named"
|
|
88
|
+
});
|
|
89
|
+
if (isRoot) {
|
|
90
|
+
if (config.hasPopups) {
|
|
91
|
+
addImport({
|
|
92
|
+
packageName: "../../common/popup",
|
|
93
|
+
dependencyNames: ["POPUP_MAP", "POPUP_IDS"],
|
|
94
|
+
importType: "named"
|
|
140
95
|
});
|
|
141
96
|
}
|
|
97
|
+
addImport({
|
|
98
|
+
packageName: "./index.less",
|
|
99
|
+
dependencyNames: [],
|
|
100
|
+
importType: "module"
|
|
101
|
+
});
|
|
142
102
|
}
|
|
103
|
+
};
|
|
143
104
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
renderCodeBlock = renderManager.toCode(renderIndent);
|
|
149
|
-
}
|
|
150
|
-
// 识别并提取 jsCode 中可能存在的自执行代码(如果有的话)
|
|
151
|
-
// render 函数定义放在 jsCode(inputs/outputs 映射)之后
|
|
152
|
-
var combinedJsCode = "".concat(envDefineCode).concat(jsCode).concat(renderCodeBlock ? "\n".concat(renderCodeBlock) : "").concat(wrapInEffect(indent2, effectCode));
|
|
105
|
+
/**
|
|
106
|
+
* 生成 Slot 的 UI 代码
|
|
107
|
+
*/
|
|
108
|
+
var generateSlotUi = function generateSlotUi(ui, props, childrenUi, config) {
|
|
153
109
|
var indent = indentation(config.codeStyle.indent * config.depth);
|
|
154
|
-
|
|
155
|
-
// 识别初始化逻辑(如果 handleCom 或逻辑处理层能标记哪些是初始化逻辑更好,
|
|
156
|
-
// 目前我们可以在这里做一层包装,或者在 handleCom 生成时就包装好)
|
|
157
|
-
// 暂时在根场景中,如果有特定的初始化执行逻辑,统一放入 useEffect
|
|
158
|
-
|
|
159
|
-
// 生成 Taro View 组件
|
|
160
110
|
var mergedStyle = _objectSpread(_objectSpread({
|
|
161
|
-
width:
|
|
162
|
-
height:
|
|
163
|
-
}, ui.style), props.style || {});
|
|
111
|
+
width: "100%",
|
|
112
|
+
height: "100%"
|
|
113
|
+
}, ui.style || {}), props.style || {});
|
|
164
114
|
var styleCode = JSON.stringify(convertRootStyle(_objectSpread(_objectSpread({}, mergedStyle), {}, {
|
|
165
115
|
layout: ui.layout || mergedStyle.layout
|
|
166
116
|
})));
|
|
117
|
+
var rootClassName = getRootComponentClassName(config.getCurrentScene(), config.checkIsRoot());
|
|
118
|
+
var classNameAttr = rootClassName ? " className='".concat(rootClassName, "'") : "";
|
|
119
|
+
return "".concat(indent, "<View").concat(classNameAttr, " style={").concat(styleCode, "}>\n").concat(childrenUi, "\n").concat(indent, "</View>");
|
|
120
|
+
};
|
|
167
121
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
var
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
var fileName = ((_config$getFileName = config.getFileName) === null || _config$getFileName === void 0 ? void 0 : _config$getFileName.call(config, ui.meta.slotId)) || ui.meta.title || "index";
|
|
179
|
-
var componentId = ((_meta2 = ui.meta) === null || _meta2 === void 0 ? void 0 : _meta2.id) || ui.id || ((_meta3 = ui.meta) === null || _meta3 === void 0 ? void 0 : _meta3.slotId) || "Index";
|
|
180
|
-
// 兼容首字符为数字的情况,添加 I 前缀
|
|
181
|
-
var componentName = "I".concat(String(componentId).replace(/[^a-zA-Z0-9]/g, '_'));
|
|
182
|
-
|
|
183
|
-
// 生成完整的组件代码,使用函数组件模板
|
|
184
|
-
var componentCode = genComponentTemplate({
|
|
185
|
-
componentName: componentName,
|
|
186
|
-
combinedJsCode: combinedJsCode,
|
|
187
|
-
uiResult: uiResult
|
|
188
|
-
});
|
|
189
|
-
config.add({
|
|
190
|
-
importManager: importManager,
|
|
191
|
-
content: componentCode,
|
|
192
|
-
cssContent: cssContent,
|
|
193
|
-
name: fileName
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
return {
|
|
197
|
-
js: jsCode,
|
|
122
|
+
/**
|
|
123
|
+
* 完成根组件的注册
|
|
124
|
+
*/
|
|
125
|
+
var finalizeRootComponent = function finalizeRootComponent(ui, config, importManager, combinedJsCode, uiResult, cssContent) {
|
|
126
|
+
var _config$getFileName, _ui$meta, _ui$meta2;
|
|
127
|
+
var fileName = ((_config$getFileName = config.getFileName) === null || _config$getFileName === void 0 ? void 0 : _config$getFileName.call(config, ui.meta.slotId)) || ui.meta.title || "index";
|
|
128
|
+
var componentId = ((_ui$meta = ui.meta) === null || _ui$meta === void 0 ? void 0 : _ui$meta.id) || ui.id || ((_ui$meta2 = ui.meta) === null || _ui$meta2 === void 0 ? void 0 : _ui$meta2.slotId) || "Index";
|
|
129
|
+
var componentName = "I".concat(String(componentId).replace(/[^a-zA-Z0-9]/g, "_"));
|
|
130
|
+
var componentCode = genComponentTemplate({
|
|
131
|
+
componentName: componentName,
|
|
198
132
|
combinedJsCode: combinedJsCode,
|
|
199
|
-
|
|
133
|
+
uiResult: uiResult,
|
|
134
|
+
isPopup: config.isPopup,
|
|
135
|
+
hasPopups: config.hasPopups
|
|
136
|
+
});
|
|
137
|
+
config.add({
|
|
138
|
+
importManager: importManager,
|
|
139
|
+
content: componentCode,
|
|
200
140
|
cssContent: cssContent,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
};
|
|
141
|
+
name: fileName
|
|
142
|
+
});
|
|
204
143
|
};
|
|
205
144
|
export default handleSlot;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HandleComConfig, Com } from "../handleCom";
|
|
2
|
+
/**
|
|
3
|
+
* 处理组件事件
|
|
4
|
+
*/
|
|
5
|
+
export declare const processComEvents: (com: Com, config: HandleComConfig) => {
|
|
6
|
+
comEventCode: string;
|
|
7
|
+
outputsConfig: Record<string, any>;
|
|
8
|
+
eventConfig: Record<string, any>;
|
|
9
|
+
};
|