@mybricks/to-code-taro 1.1.5 → 1.1.6

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 (122) hide show
  1. package/dist/cjs/core/mybricks/Subject.js +9 -5
  2. package/dist/cjs/core/mybricks/createJSHandle.js +43 -3
  3. package/dist/cjs/core/utils/comRefResolver.js +112 -0
  4. package/dist/cjs/core/utils/event.js +53 -0
  5. package/dist/cjs/core/utils/hooks.js +71 -29
  6. package/dist/cjs/core/utils/index.js +3 -0
  7. package/dist/cjs/core/utils/pageRouter.js +34 -11
  8. package/dist/cjs/core/utils/slots.js +55 -9
  9. package/dist/cjs/core/utils/tabbar.js +56 -0
  10. package/dist/cjs/core/utils/useContext.js +42 -2
  11. package/dist/cjs/core/utils/with.js +9 -34
  12. package/dist/cjs/generate/generateTaroProjectJson.js +3 -18
  13. package/dist/cjs/generate/utils/appConfig.d.ts +1 -1
  14. package/dist/cjs/generate/utils/appConfig.js +23 -12
  15. package/dist/cjs/generate/utils/commonDir.js +9 -0
  16. package/dist/cjs/generate/utils/customTabBar.d.ts +11 -0
  17. package/dist/cjs/generate/utils/customTabBar.js +73 -0
  18. package/dist/cjs/generate/utils/fileNode.d.ts +4 -0
  19. package/dist/cjs/generate/utils/fileNode.js +12 -2
  20. package/dist/cjs/handleCom.js +15 -16
  21. package/dist/cjs/handleGlobal.d.ts +1 -1
  22. package/dist/cjs/handleGlobal.js +6 -0
  23. package/dist/cjs/handleSlot.js +4 -9
  24. package/dist/cjs/processors/processScene.js +13 -1
  25. package/dist/cjs/processors/processSceneLogic.js +2 -6
  26. package/dist/cjs/taro-template.json +1312 -1018
  27. package/dist/cjs/toCodeTaro.d.ts +1 -2
  28. package/dist/cjs/utils/builder/buildResult.js +1 -2
  29. package/dist/cjs/utils/common/ImportManager.d.ts +7 -0
  30. package/dist/cjs/utils/common/ImportManager.js +19 -1
  31. package/dist/cjs/utils/logic/genJSModules.js +2 -2
  32. package/dist/cjs/utils/logic/handleProcess.js +54 -12
  33. package/dist/cjs/utils/templates/renderManager.js +5 -1
  34. package/dist/esm/core/mybricks/Subject.js +11 -5
  35. package/dist/esm/core/mybricks/createJSHandle.js +55 -5
  36. package/dist/esm/core/utils/comRefResolver.js +134 -0
  37. package/dist/esm/core/utils/event.js +32 -0
  38. package/dist/esm/core/utils/hooks.js +109 -39
  39. package/dist/esm/core/utils/index.js +1 -0
  40. package/dist/esm/core/utils/pageRouter.js +56 -13
  41. package/dist/esm/core/utils/slots.js +78 -12
  42. package/dist/esm/core/utils/tabbar.js +47 -0
  43. package/dist/esm/core/utils/useContext.js +42 -2
  44. package/dist/esm/core/utils/with.js +19 -53
  45. package/dist/esm/generate/generateTaroProjectJson.js +2 -20
  46. package/dist/esm/generate/utils/appConfig.d.ts +1 -1
  47. package/dist/esm/generate/utils/appConfig.js +29 -9
  48. package/dist/esm/generate/utils/commonDir.js +13 -0
  49. package/dist/esm/generate/utils/customTabBar.d.ts +11 -0
  50. package/dist/esm/generate/utils/customTabBar.js +52 -0
  51. package/dist/esm/generate/utils/fileNode.d.ts +4 -0
  52. package/dist/esm/generate/utils/fileNode.js +13 -0
  53. package/dist/esm/handleCom.js +24 -21
  54. package/dist/esm/handleGlobal.d.ts +1 -1
  55. package/dist/esm/handleGlobal.js +6 -1
  56. package/dist/esm/handleSlot.js +6 -11
  57. package/dist/esm/processors/processScene.js +23 -3
  58. package/dist/esm/processors/processSceneLogic.js +3 -5
  59. package/dist/esm/taro-template.json +1312 -1018
  60. package/dist/esm/toCodeTaro.d.ts +1 -2
  61. package/dist/esm/toCodeTaro.js +1 -1
  62. package/dist/esm/utils/builder/buildResult.js +1 -2
  63. package/dist/esm/utils/common/ImportManager.d.ts +7 -0
  64. package/dist/esm/utils/common/ImportManager.js +42 -14
  65. package/dist/esm/utils/logic/genJSModules.js +2 -2
  66. package/dist/esm/utils/logic/handleProcess.js +66 -12
  67. package/dist/esm/utils/templates/renderManager.js +4 -5
  68. package/package.json +1 -1
  69. package/dist/cjs/core/comlib/Index.js +0 -114
  70. package/dist/cjs/core/comlib/_AesEncode.js +0 -115
  71. package/dist/cjs/core/comlib/_BackTo.js +0 -80
  72. package/dist/cjs/core/comlib/_CallPhone.js +0 -58
  73. package/dist/cjs/core/comlib/_ChooseFile.js +0 -103
  74. package/dist/cjs/core/comlib/_ChooseMedia.js +0 -70
  75. package/dist/cjs/core/comlib/_Connector.js +0 -79
  76. package/dist/cjs/core/comlib/_ConnectorGlobalHeaders.js +0 -79
  77. package/dist/cjs/core/comlib/_Format.js +0 -123
  78. package/dist/cjs/core/comlib/_GetLocation.js +0 -60
  79. package/dist/cjs/core/comlib/_GetStorage.js +0 -68
  80. package/dist/cjs/core/comlib/_GetSystemInfo.js +0 -62
  81. package/dist/cjs/core/comlib/_Modal.js +0 -68
  82. package/dist/cjs/core/comlib/_OpenCamera.js +0 -73
  83. package/dist/cjs/core/comlib/_OpenPetalMap.js +0 -49
  84. package/dist/cjs/core/comlib/_OpenUrl.js +0 -62
  85. package/dist/cjs/core/comlib/_RemoveStorage.js +0 -68
  86. package/dist/cjs/core/comlib/_Router.js +0 -100
  87. package/dist/cjs/core/comlib/_ScanQrcode.js +0 -59
  88. package/dist/cjs/core/comlib/_SetStorage.js +0 -67
  89. package/dist/cjs/core/comlib/_Share.js +0 -58
  90. package/dist/cjs/core/comlib/_ShowToast.js +0 -69
  91. package/dist/cjs/core/comlib/_TextToSpeech.js +0 -120
  92. package/dist/cjs/core/comlib/_TimerDebounce.js +0 -72
  93. package/dist/cjs/core/comlib/_TimerDelay.js +0 -88
  94. package/dist/cjs/core/comlib/_TimerThrottle.js +0 -75
  95. package/dist/cjs/core/comlib/_Vibrate.js +0 -60
  96. package/dist/esm/core/comlib/Index.js +0 -39
  97. package/dist/esm/core/comlib/_AesEncode.js +0 -85
  98. package/dist/esm/core/comlib/_BackTo.js +0 -66
  99. package/dist/esm/core/comlib/_CallPhone.js +0 -30
  100. package/dist/esm/core/comlib/_ChooseFile.js +0 -81
  101. package/dist/esm/core/comlib/_ChooseMedia.js +0 -38
  102. package/dist/esm/core/comlib/_Connector.js +0 -77
  103. package/dist/esm/core/comlib/_ConnectorGlobalHeaders.js +0 -56
  104. package/dist/esm/core/comlib/_Format.js +0 -102
  105. package/dist/esm/core/comlib/_GetLocation.js +0 -26
  106. package/dist/esm/core/comlib/_GetStorage.js +0 -44
  107. package/dist/esm/core/comlib/_GetSystemInfo.js +0 -32
  108. package/dist/esm/core/comlib/_Modal.js +0 -51
  109. package/dist/esm/core/comlib/_OpenCamera.js +0 -44
  110. package/dist/esm/core/comlib/_OpenPetalMap.js +0 -28
  111. package/dist/esm/core/comlib/_OpenUrl.js +0 -36
  112. package/dist/esm/core/comlib/_RemoveStorage.js +0 -42
  113. package/dist/esm/core/comlib/_Router.js +0 -113
  114. package/dist/esm/core/comlib/_ScanQrcode.js +0 -26
  115. package/dist/esm/core/comlib/_SetStorage.js +0 -40
  116. package/dist/esm/core/comlib/_Share.js +0 -28
  117. package/dist/esm/core/comlib/_ShowToast.js +0 -45
  118. package/dist/esm/core/comlib/_TextToSpeech.js +0 -117
  119. package/dist/esm/core/comlib/_TimerDebounce.js +0 -66
  120. package/dist/esm/core/comlib/_TimerDelay.js +0 -79
  121. package/dist/esm/core/comlib/_TimerThrottle.js +0 -69
  122. package/dist/esm/core/comlib/_Vibrate.js +0 -34
@@ -1,42 +0,0 @@
1
- import Taro from '@tarojs/taro';
2
- export default (function (context) {
3
- var _inputs$removeStorage;
4
- var data = context.data;
5
- var inputs = context.inputs;
6
- var outputs = context.outputs;
7
- (_inputs$removeStorage = inputs.removeStorage) === null || _inputs$removeStorage === void 0 || _inputs$removeStorage.call(inputs, function (val) {
8
- try {
9
- var key = (val === null || val === void 0 ? void 0 : val.key) || data.key;
10
- var useSync = (val === null || val === void 0 ? void 0 : val.sync) !== undefined ? val.sync : data.sync || false;
11
- if (!key) {
12
- outputs.onFail('存储 key 不能为空');
13
- return;
14
- }
15
- if (useSync) {
16
- try {
17
- Taro.removeStorageSync(key);
18
- outputs.onSuccess({
19
- key: key
20
- });
21
- } catch (error) {
22
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '移除本地缓存失败');
23
- }
24
- } else {
25
- Taro.removeStorage({
26
- key: key,
27
- success: function success() {
28
- return outputs.onSuccess({
29
- key: key
30
- });
31
- },
32
- fail: function fail(err) {
33
- return outputs.onFail(err.errMsg || '移除本地缓存失败');
34
- }
35
- });
36
- }
37
- } catch (error) {
38
- console.error('移除本地缓存失败:', error);
39
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '移除本地缓存失败');
40
- }
41
- });
42
- });
@@ -1,113 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import Taro from '@tarojs/taro';
3
- export default (function (context) {
4
- var _inputs$navigate;
5
- var data = context.data;
6
- var inputs = context.inputs;
7
- var outputs = context.outputs;
8
- (_inputs$navigate = inputs.navigate) === null || _inputs$navigate === void 0 || _inputs$navigate.call(inputs, function (val) {
9
- try {
10
- var type = (val === null || val === void 0 ? void 0 : val.type) || data.type || 'navigateTo';
11
- var path = (val === null || val === void 0 ? void 0 : val.path) || data.path;
12
- var params = (val === null || val === void 0 ? void 0 : val.params) || data.params || {};
13
- var delta = (val === null || val === void 0 ? void 0 : val.delta) || data.delta || 1;
14
- if (!path && type !== 'navigateBack') {
15
- outputs.onFail('路由路径不能为空');
16
- return;
17
- }
18
-
19
- // 构建完整的URL
20
- var url = path;
21
- if (params && Object.keys(params).length > 0) {
22
- var queryString = Object.entries(params).map(function (_ref) {
23
- var _ref2 = _slicedToArray(_ref, 2),
24
- key = _ref2[0],
25
- value = _ref2[1];
26
- return "".concat(key, "=").concat(encodeURIComponent(String(value)));
27
- }).join('&');
28
- url += (url.includes('?') ? '&' : '?') + queryString;
29
- }
30
- switch (type) {
31
- case 'navigateTo':
32
- Taro.navigateTo({
33
- url: url,
34
- success: function success() {
35
- return outputs.onSuccess({
36
- type: type,
37
- path: url,
38
- params: params
39
- });
40
- },
41
- fail: function fail(err) {
42
- return outputs.onFail(err.errMsg || '页面跳转失败');
43
- }
44
- });
45
- break;
46
- case 'redirectTo':
47
- Taro.redirectTo({
48
- url: url,
49
- success: function success() {
50
- return outputs.onSuccess({
51
- type: type,
52
- path: url,
53
- params: params
54
- });
55
- },
56
- fail: function fail(err) {
57
- return outputs.onFail(err.errMsg || '页面重定向失败');
58
- }
59
- });
60
- break;
61
- case 'switchTab':
62
- Taro.switchTab({
63
- url: url,
64
- success: function success() {
65
- return outputs.onSuccess({
66
- type: type,
67
- path: url,
68
- params: params
69
- });
70
- },
71
- fail: function fail(err) {
72
- return outputs.onFail(err.errMsg || '切换Tab失败');
73
- }
74
- });
75
- break;
76
- case 'reLaunch':
77
- Taro.reLaunch({
78
- url: url,
79
- success: function success() {
80
- return outputs.onSuccess({
81
- type: type,
82
- path: url,
83
- params: params
84
- });
85
- },
86
- fail: function fail(err) {
87
- return outputs.onFail(err.errMsg || '重启应用失败');
88
- }
89
- });
90
- break;
91
- case 'navigateBack':
92
- Taro.navigateBack({
93
- delta: delta,
94
- success: function success() {
95
- return outputs.onSuccess({
96
- type: type,
97
- delta: delta
98
- });
99
- },
100
- fail: function fail(err) {
101
- return outputs.onFail(err.errMsg || '返回失败');
102
- }
103
- });
104
- break;
105
- default:
106
- outputs.onFail("\u4E0D\u652F\u6301\u7684\u8DEF\u7531\u7C7B\u578B: ".concat(type));
107
- }
108
- } catch (error) {
109
- console.error('路由跳转失败:', error);
110
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '路由跳转失败');
111
- }
112
- });
113
- });
@@ -1,26 +0,0 @@
1
- import Taro from '@tarojs/taro';
2
- export default (function (context) {
3
- var _inputs$scan;
4
- var data = context.data;
5
- var inputs = context.inputs;
6
- var outputs = context.outputs;
7
- (_inputs$scan = inputs.scan) === null || _inputs$scan === void 0 || _inputs$scan.call(inputs, function (val) {
8
- try {
9
- var _ref, _val$onlyFromCamera, _ref2, _val$scanType;
10
- var scanConfig = {
11
- onlyFromCamera: (_ref = (_val$onlyFromCamera = val === null || val === void 0 ? void 0 : val.onlyFromCamera) !== null && _val$onlyFromCamera !== void 0 ? _val$onlyFromCamera : data.onlyFromCamera) !== null && _ref !== void 0 ? _ref : false,
12
- scanType: (_ref2 = (_val$scanType = val === null || val === void 0 ? void 0 : val.scanType) !== null && _val$scanType !== void 0 ? _val$scanType : data.scanType) !== null && _ref2 !== void 0 ? _ref2 : ['barCode', 'qrCode'],
13
- success: function success(res) {
14
- outputs.onSuccess(res.result || res);
15
- },
16
- fail: function fail(err) {
17
- outputs.onFail(err.errMsg || '扫码失败');
18
- }
19
- };
20
- Taro.scanCode(scanConfig);
21
- } catch (error) {
22
- console.error('扫码失败:', error);
23
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '扫码失败');
24
- }
25
- });
26
- });
@@ -1,40 +0,0 @@
1
- import Taro from '@tarojs/taro';
2
- export default (function (context) {
3
- var _inputs$setStorage;
4
- var data = context.data;
5
- var inputs = context.inputs;
6
- var outputs = context.outputs;
7
- (_inputs$setStorage = inputs.setStorage) === null || _inputs$setStorage === void 0 || _inputs$setStorage.call(inputs, function (val) {
8
- try {
9
- var key = (val === null || val === void 0 ? void 0 : val.key) || data.key;
10
- var _value = (val === null || val === void 0 ? void 0 : val.value) !== undefined ? val.value : data.value;
11
- var useSync = (val === null || val === void 0 ? void 0 : val.sync) !== undefined ? val.sync : data.sync || false;
12
- if (!key) {
13
- outputs.onFail('存储 key 不能为空');
14
- return;
15
- }
16
- var result = {
17
- key: key,
18
- value: _value
19
- };
20
- if (useSync) {
21
- Taro.setStorageSync(key, _value);
22
- outputs.onSuccess(result);
23
- } else {
24
- Taro.setStorage({
25
- key: key,
26
- data: _value,
27
- success: function success() {
28
- return outputs.onSuccess(result);
29
- },
30
- fail: function fail(err) {
31
- return outputs.onFail(err.errMsg || '写入本地缓存失败');
32
- }
33
- });
34
- }
35
- } catch (error) {
36
- console.error('写入本地缓存失败:', error);
37
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '写入本地缓存失败');
38
- }
39
- });
40
- });
@@ -1,28 +0,0 @@
1
- import Taro from '@tarojs/taro';
2
- export default (function (context) {
3
- var _inputs$share;
4
- var data = context.data;
5
- var inputs = context.inputs;
6
- var outputs = context.outputs;
7
- (_inputs$share = inputs.share) === null || _inputs$share === void 0 || _inputs$share.call(inputs, function (val) {
8
- try {
9
- var shareData = {
10
- title: (val === null || val === void 0 ? void 0 : val.title) || data.title || '分享',
11
- path: (val === null || val === void 0 ? void 0 : val.path) || data.path || '/pages/index/index',
12
- imageUrl: (val === null || val === void 0 ? void 0 : val.imageUrl) || data.imageUrl
13
- };
14
- Taro.showShareMenu({
15
- withShareTicket: true,
16
- success: function success() {
17
- return outputs.onSuccess(shareData);
18
- },
19
- fail: function fail(err) {
20
- return outputs.onFail(err.errMsg || '分享失败');
21
- }
22
- });
23
- } catch (error) {
24
- console.error('分享失败:', error);
25
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '分享失败');
26
- }
27
- });
28
- });
@@ -1,45 +0,0 @@
1
- import _typeof from "@babel/runtime/helpers/esm/typeof";
2
- import Taro from '@tarojs/taro';
3
- export default (function (context) {
4
- var _inputs$showToast;
5
- var data = context.data;
6
- var inputs = context.inputs;
7
- var outputs = context.outputs;
8
- (_inputs$showToast = inputs.showToast) === null || _inputs$showToast === void 0 || _inputs$showToast.call(inputs, function (val) {
9
- try {
10
- // 构建 Toast 配置
11
- var toastConfig = {
12
- title: typeof val === 'string' ? val : (val === null || val === void 0 ? void 0 : val.title) || data.title || '',
13
- duration: Number(_typeof(val) === 'object' && val !== null && val !== void 0 && val.duration ? val.duration : data.duration || 1000),
14
- mask: _typeof(val) === 'object' && (val === null || val === void 0 ? void 0 : val.mask) !== undefined ? val.mask : data.mask || false
15
- };
16
-
17
- // 图标配置
18
- if (_typeof(val) === 'object' && val !== null && val !== void 0 && val.icon) {
19
- toastConfig.icon = val.icon;
20
- } else if (data.icon) {
21
- toastConfig.icon = data.icon;
22
- }
23
-
24
- // 图片配置
25
- if (_typeof(val) === 'object' && val !== null && val !== void 0 && val.image) {
26
- toastConfig.image = val.image;
27
- } else if (data.image) {
28
- toastConfig.image = data.image;
29
- }
30
- Taro.showToast(toastConfig);
31
-
32
- // 处理输出回调
33
- var triggerOutput = function triggerOutput() {
34
- return outputs.afterShowToast(val);
35
- };
36
- if (data.asynchronous) {
37
- setTimeout(triggerOutput, toastConfig.duration);
38
- } else {
39
- triggerOutput();
40
- }
41
- } catch (error) {
42
- console.error('显示 Toast 失败:', error);
43
- }
44
- });
45
- });
@@ -1,117 +0,0 @@
1
- // 检查浏览器是否支持Web Speech API
2
- var speechSupported = typeof window !== 'undefined' && 'speechSynthesis' in window;
3
- var currentUtterance = null;
4
- export default (function (context) {
5
- var _inputs$speak, _inputs$stop, _inputs$pause, _inputs$resume;
6
- var data = context.data;
7
- var inputs = context.inputs;
8
- var outputs = context.outputs;
9
- if (!speechSupported) {
10
- console.warn('当前环境不支持语音合成功能');
11
- }
12
- (_inputs$speak = inputs.speak) === null || _inputs$speak === void 0 || _inputs$speak.call(inputs, function (val) {
13
- try {
14
- var text = (val === null || val === void 0 ? void 0 : val.text) || data.text;
15
- var lang = (val === null || val === void 0 ? void 0 : val.lang) || data.lang || 'zh-CN';
16
- var rate = (val === null || val === void 0 ? void 0 : val.rate) || data.rate || 1;
17
- var pitch = (val === null || val === void 0 ? void 0 : val.pitch) || data.pitch || 1;
18
- var volume = (val === null || val === void 0 ? void 0 : val.volume) || data.volume || 1;
19
- if (!text) {
20
- outputs.onFail('待合成的文本不能为空');
21
- return;
22
- }
23
- if (!speechSupported) {
24
- outputs.onFail('当前环境不支持语音合成功能');
25
- return;
26
- }
27
-
28
- // 如果有正在播放的语音,先停止
29
- if (currentUtterance && window.speechSynthesis.speaking) {
30
- window.speechSynthesis.cancel();
31
- }
32
- currentUtterance = new SpeechSynthesisUtterance(text);
33
- currentUtterance.lang = lang;
34
- currentUtterance.rate = Math.max(0.1, Math.min(10, rate));
35
- currentUtterance.pitch = Math.max(0, Math.min(2, pitch));
36
- currentUtterance.volume = Math.max(0, Math.min(1, volume));
37
- currentUtterance.onstart = function () {
38
- outputs.onStart({
39
- text: text,
40
- lang: lang,
41
- rate: rate,
42
- pitch: pitch,
43
- volume: volume
44
- });
45
- };
46
- currentUtterance.onend = function () {
47
- outputs.onEnd({
48
- text: text,
49
- lang: lang,
50
- rate: rate,
51
- pitch: pitch,
52
- volume: volume
53
- });
54
- currentUtterance = null;
55
- };
56
- currentUtterance.onerror = function (event) {
57
- outputs.onError({
58
- error: event.error,
59
- text: text,
60
- message: '语音合成失败'
61
- });
62
- currentUtterance = null;
63
- };
64
- window.speechSynthesis.speak(currentUtterance);
65
- outputs.onSuccess({
66
- text: text,
67
- lang: lang,
68
- rate: rate,
69
- pitch: pitch,
70
- volume: volume
71
- });
72
- } catch (error) {
73
- console.error('语音合成失败:', error);
74
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '语音合成失败');
75
- }
76
- });
77
- (_inputs$stop = inputs.stop) === null || _inputs$stop === void 0 || _inputs$stop.call(inputs, function () {
78
- try {
79
- if (speechSupported && currentUtterance) {
80
- window.speechSynthesis.cancel();
81
- currentUtterance = null;
82
- outputs.onSuccess('已停止语音播放');
83
- } else {
84
- outputs.onFail('没有正在播放的语音');
85
- }
86
- } catch (error) {
87
- console.error('停止语音失败:', error);
88
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '停止语音失败');
89
- }
90
- });
91
- (_inputs$pause = inputs.pause) === null || _inputs$pause === void 0 || _inputs$pause.call(inputs, function () {
92
- try {
93
- if (speechSupported && window.speechSynthesis.pause) {
94
- window.speechSynthesis.pause();
95
- outputs.onSuccess('已暂停语音播放');
96
- } else {
97
- outputs.onFail('当前环境不支持暂停功能');
98
- }
99
- } catch (error) {
100
- console.error('暂停语音失败:', error);
101
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '暂停语音失败');
102
- }
103
- });
104
- (_inputs$resume = inputs.resume) === null || _inputs$resume === void 0 || _inputs$resume.call(inputs, function () {
105
- try {
106
- if (speechSupported && window.speechSynthesis.resume) {
107
- window.speechSynthesis.resume();
108
- outputs.onSuccess('已恢复语音播放');
109
- } else {
110
- outputs.onFail('当前环境不支持恢复功能');
111
- }
112
- } catch (error) {
113
- console.error('恢复语音失败:', error);
114
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '恢复语音失败');
115
- }
116
- });
117
- });
@@ -1,66 +0,0 @@
1
- // 防抖函数实现
2
- function debounce(func, delay) {
3
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
4
- var timeoutId = null;
5
- var lastExecTime = 0;
6
- var _options$leading = options.leading,
7
- leading = _options$leading === void 0 ? false : _options$leading,
8
- _options$trailing = options.trailing,
9
- trailing = _options$trailing === void 0 ? true : _options$trailing;
10
- return function () {
11
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12
- args[_key] = arguments[_key];
13
- }
14
- var currentTime = Date.now();
15
- if (!timeoutId && leading) {
16
- func.apply(null, args);
17
- lastExecTime = currentTime;
18
- }
19
- if (timeoutId) {
20
- clearTimeout(timeoutId);
21
- }
22
- timeoutId = setTimeout(function () {
23
- if (trailing && (!leading || currentTime - lastExecTime >= delay)) {
24
- func.apply(null, args);
25
- }
26
- timeoutId = null;
27
- }, delay);
28
- };
29
- }
30
- export default (function (context) {
31
- var _inputs$debounce;
32
- var data = context.data;
33
- var inputs = context.inputs;
34
- var outputs = context.outputs;
35
- var debouncedFn = null;
36
- (_inputs$debounce = inputs.debounce) === null || _inputs$debounce === void 0 || _inputs$debounce.call(inputs, function (val) {
37
- try {
38
- var delay = (val === null || val === void 0 ? void 0 : val.delay) || data.delay || 300;
39
- var leading = (val === null || val === void 0 ? void 0 : val.leading) !== undefined ? val.leading : data.leading || false;
40
- var trailing = (val === null || val === void 0 ? void 0 : val.trailing) !== undefined ? val.trailing : data.trailing || true;
41
- if (!debouncedFn) {
42
- debouncedFn = debounce(function () {
43
- outputs.onExecute({
44
- delay: delay,
45
- leading: leading,
46
- trailing: trailing,
47
- timestamp: Date.now()
48
- });
49
- }, delay, {
50
- leading: leading,
51
- trailing: trailing
52
- });
53
- }
54
-
55
- // 执行防抖函数
56
- debouncedFn();
57
- outputs.onComplete({
58
- delay: delay,
59
- leading: leading,
60
- trailing: trailing
61
- });
62
- } catch (error) {
63
- console.error('防抖执行失败:', error);
64
- }
65
- });
66
- });
@@ -1,79 +0,0 @@
1
- export default (function (context) {
2
- var _inputs$trigger, _inputs$delay, _inputs$cancel;
3
- var data = context.data;
4
- var inputs = context.inputs;
5
- var outputs = context.outputs;
6
- var timeoutId = null;
7
- var inputPins = new Set(Object.keys(inputs));
8
- var outputPins = new Set(Object.keys(outputs));
9
- var hasIn = function hasIn(pin) {
10
- return inputPins.has(pin);
11
- };
12
- var hasOut = function hasOut(pin) {
13
- return outputPins.has(pin);
14
- };
15
- var clear = function clear() {
16
- if (timeoutId) {
17
- clearTimeout(timeoutId);
18
- timeoutId = null;
19
- }
20
- };
21
-
22
- // 兼容:inputs.trigger(payload) -> 延迟后 outputs.trigger(payload)
23
- if (hasIn("trigger")) (_inputs$trigger = inputs.trigger) === null || _inputs$trigger === void 0 || _inputs$trigger.call(inputs, function (payload) {
24
- try {
25
- var _outputs$onStart;
26
- // 允许 payload 自带 delay 覆盖;否则用 data.delay;再否则 1000
27
- var delay = (payload === null || payload === void 0 ? void 0 : payload.delay) || data.delay || 1000;
28
- clear();
29
- (_outputs$onStart = outputs.onStart) === null || _outputs$onStart === void 0 || _outputs$onStart.call(outputs, {
30
- delay: delay,
31
- timestamp: Date.now()
32
- });
33
- timeoutId = setTimeout(function () {
34
- var _outputs$trigger, _outputs$onExecute;
35
- if (hasOut("trigger")) (_outputs$trigger = outputs.trigger) === null || _outputs$trigger === void 0 || _outputs$trigger.call(outputs, payload);
36
- (_outputs$onExecute = outputs.onExecute) === null || _outputs$onExecute === void 0 || _outputs$onExecute.call(outputs, {
37
- delay: delay,
38
- timestamp: Date.now()
39
- });
40
- timeoutId = null;
41
- }, delay);
42
- } catch (error) {
43
- console.error('延迟执行失败:', error);
44
- clear();
45
- }
46
- });
47
- if (hasIn("delay")) (_inputs$delay = inputs.delay) === null || _inputs$delay === void 0 || _inputs$delay.call(inputs, function (val) {
48
- try {
49
- var delay = (val === null || val === void 0 ? void 0 : val.delay) || data.delay || 1000;
50
- clear();
51
- outputs.onStart({
52
- delay: delay,
53
- timestamp: Date.now()
54
- });
55
- timeoutId = setTimeout(function () {
56
- outputs.onExecute({
57
- delay: delay,
58
- timestamp: Date.now()
59
- });
60
- timeoutId = null;
61
- }, delay);
62
- } catch (error) {
63
- console.error('延迟执行失败:', error);
64
- clear();
65
- }
66
- });
67
- if (hasIn("cancel")) (_inputs$cancel = inputs.cancel) === null || _inputs$cancel === void 0 || _inputs$cancel.call(inputs, function () {
68
- try {
69
- if (timeoutId) {
70
- clear();
71
- outputs.onCancel('延迟任务已取消');
72
- } else {
73
- outputs.onCancel('没有正在执行的延迟任务');
74
- }
75
- } catch (error) {
76
- console.error('取消延迟失败:', error);
77
- }
78
- });
79
- });
@@ -1,69 +0,0 @@
1
- // 节流函数实现
2
- function throttle(func, delay) {
3
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
4
- var timeoutId = null;
5
- var lastExecTime = 0;
6
- var _options$leading = options.leading,
7
- leading = _options$leading === void 0 ? true : _options$leading,
8
- _options$trailing = options.trailing,
9
- trailing = _options$trailing === void 0 ? true : _options$trailing;
10
- return function () {
11
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12
- args[_key] = arguments[_key];
13
- }
14
- var currentTime = Date.now();
15
- if (currentTime - lastExecTime > delay) {
16
- if (leading) {
17
- func.apply(null, args);
18
- lastExecTime = currentTime;
19
- }
20
- if (timeoutId) {
21
- clearTimeout(timeoutId);
22
- timeoutId = null;
23
- }
24
- } else if (trailing && !timeoutId) {
25
- timeoutId = setTimeout(function () {
26
- func.apply(null, args);
27
- lastExecTime = Date.now();
28
- timeoutId = null;
29
- }, delay - (currentTime - lastExecTime));
30
- }
31
- };
32
- }
33
- export default (function (context) {
34
- var _inputs$throttle;
35
- var data = context.data;
36
- var inputs = context.inputs;
37
- var outputs = context.outputs;
38
- var throttledFn = null;
39
- (_inputs$throttle = inputs.throttle) === null || _inputs$throttle === void 0 || _inputs$throttle.call(inputs, function (val) {
40
- try {
41
- var interval = (val === null || val === void 0 ? void 0 : val.interval) || data.interval || 1000;
42
- var leading = (val === null || val === void 0 ? void 0 : val.leading) !== undefined ? val.leading : data.leading || true;
43
- var trailing = (val === null || val === void 0 ? void 0 : val.trailing) !== undefined ? val.trailing : data.trailing || true;
44
- if (!throttledFn) {
45
- throttledFn = throttle(function () {
46
- outputs.onExecute({
47
- interval: interval,
48
- leading: leading,
49
- trailing: trailing,
50
- timestamp: Date.now()
51
- });
52
- }, interval, {
53
- leading: leading,
54
- trailing: trailing
55
- });
56
- }
57
-
58
- // 执行节流函数
59
- throttledFn();
60
- outputs.onComplete({
61
- interval: interval,
62
- leading: leading,
63
- trailing: trailing
64
- });
65
- } catch (error) {
66
- console.error('节流执行失败:', error);
67
- }
68
- });
69
- });
@@ -1,34 +0,0 @@
1
- import Taro from '@tarojs/taro';
2
- export default (function (context) {
3
- var _inputs$vibrate;
4
- var data = context.data;
5
- var inputs = context.inputs;
6
- var outputs = context.outputs;
7
- (_inputs$vibrate = inputs.vibrate) === null || _inputs$vibrate === void 0 || _inputs$vibrate.call(inputs, function (val) {
8
- try {
9
- var type = (val === null || val === void 0 ? void 0 : val.type) || data.type || 'short';
10
- if (type === 'long') {
11
- Taro.vibrateLong({
12
- success: function success() {
13
- return outputs.onSuccess('长振动成功');
14
- },
15
- fail: function fail(err) {
16
- return outputs.onFail(err.errMsg || '长振动失败');
17
- }
18
- });
19
- } else {
20
- Taro.vibrateShort({
21
- success: function success() {
22
- return outputs.onSuccess('短振动成功');
23
- },
24
- fail: function fail(err) {
25
- return outputs.onFail(err.errMsg || '短振动失败');
26
- }
27
- });
28
- }
29
- } catch (error) {
30
- console.error('设备振动失败:', error);
31
- outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '设备振动失败');
32
- }
33
- });
34
- });