@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.
- package/dist/cjs/core/mybricks/Subject.js +9 -5
- package/dist/cjs/core/mybricks/createJSHandle.js +43 -3
- package/dist/cjs/core/utils/comRefResolver.js +112 -0
- package/dist/cjs/core/utils/event.js +53 -0
- package/dist/cjs/core/utils/hooks.js +71 -29
- package/dist/cjs/core/utils/index.js +3 -0
- package/dist/cjs/core/utils/pageRouter.js +34 -11
- package/dist/cjs/core/utils/slots.js +55 -9
- package/dist/cjs/core/utils/tabbar.js +56 -0
- package/dist/cjs/core/utils/useContext.js +42 -2
- package/dist/cjs/core/utils/with.js +9 -34
- package/dist/cjs/generate/generateTaroProjectJson.js +3 -18
- package/dist/cjs/generate/utils/appConfig.d.ts +1 -1
- package/dist/cjs/generate/utils/appConfig.js +23 -12
- package/dist/cjs/generate/utils/commonDir.js +9 -0
- package/dist/cjs/generate/utils/customTabBar.d.ts +11 -0
- package/dist/cjs/generate/utils/customTabBar.js +73 -0
- package/dist/cjs/generate/utils/fileNode.d.ts +4 -0
- package/dist/cjs/generate/utils/fileNode.js +12 -2
- package/dist/cjs/handleCom.js +15 -16
- package/dist/cjs/handleGlobal.d.ts +1 -1
- package/dist/cjs/handleGlobal.js +6 -0
- package/dist/cjs/handleSlot.js +4 -9
- package/dist/cjs/processors/processScene.js +13 -1
- package/dist/cjs/processors/processSceneLogic.js +2 -6
- package/dist/cjs/taro-template.json +1312 -1018
- package/dist/cjs/toCodeTaro.d.ts +1 -2
- package/dist/cjs/utils/builder/buildResult.js +1 -2
- package/dist/cjs/utils/common/ImportManager.d.ts +7 -0
- package/dist/cjs/utils/common/ImportManager.js +19 -1
- package/dist/cjs/utils/logic/genJSModules.js +2 -2
- package/dist/cjs/utils/logic/handleProcess.js +54 -12
- package/dist/cjs/utils/templates/renderManager.js +5 -1
- package/dist/esm/core/mybricks/Subject.js +11 -5
- package/dist/esm/core/mybricks/createJSHandle.js +55 -5
- package/dist/esm/core/utils/comRefResolver.js +134 -0
- package/dist/esm/core/utils/event.js +32 -0
- package/dist/esm/core/utils/hooks.js +109 -39
- package/dist/esm/core/utils/index.js +1 -0
- package/dist/esm/core/utils/pageRouter.js +56 -13
- package/dist/esm/core/utils/slots.js +78 -12
- package/dist/esm/core/utils/tabbar.js +47 -0
- package/dist/esm/core/utils/useContext.js +42 -2
- package/dist/esm/core/utils/with.js +19 -53
- package/dist/esm/generate/generateTaroProjectJson.js +2 -20
- package/dist/esm/generate/utils/appConfig.d.ts +1 -1
- package/dist/esm/generate/utils/appConfig.js +29 -9
- package/dist/esm/generate/utils/commonDir.js +13 -0
- package/dist/esm/generate/utils/customTabBar.d.ts +11 -0
- package/dist/esm/generate/utils/customTabBar.js +52 -0
- package/dist/esm/generate/utils/fileNode.d.ts +4 -0
- package/dist/esm/generate/utils/fileNode.js +13 -0
- package/dist/esm/handleCom.js +24 -21
- package/dist/esm/handleGlobal.d.ts +1 -1
- package/dist/esm/handleGlobal.js +6 -1
- package/dist/esm/handleSlot.js +6 -11
- package/dist/esm/processors/processScene.js +23 -3
- package/dist/esm/processors/processSceneLogic.js +3 -5
- package/dist/esm/taro-template.json +1312 -1018
- package/dist/esm/toCodeTaro.d.ts +1 -2
- package/dist/esm/toCodeTaro.js +1 -1
- package/dist/esm/utils/builder/buildResult.js +1 -2
- package/dist/esm/utils/common/ImportManager.d.ts +7 -0
- package/dist/esm/utils/common/ImportManager.js +42 -14
- package/dist/esm/utils/logic/genJSModules.js +2 -2
- package/dist/esm/utils/logic/handleProcess.js +66 -12
- package/dist/esm/utils/templates/renderManager.js +4 -5
- package/package.json +1 -1
- package/dist/cjs/core/comlib/Index.js +0 -114
- package/dist/cjs/core/comlib/_AesEncode.js +0 -115
- package/dist/cjs/core/comlib/_BackTo.js +0 -80
- package/dist/cjs/core/comlib/_CallPhone.js +0 -58
- package/dist/cjs/core/comlib/_ChooseFile.js +0 -103
- package/dist/cjs/core/comlib/_ChooseMedia.js +0 -70
- package/dist/cjs/core/comlib/_Connector.js +0 -79
- package/dist/cjs/core/comlib/_ConnectorGlobalHeaders.js +0 -79
- package/dist/cjs/core/comlib/_Format.js +0 -123
- package/dist/cjs/core/comlib/_GetLocation.js +0 -60
- package/dist/cjs/core/comlib/_GetStorage.js +0 -68
- package/dist/cjs/core/comlib/_GetSystemInfo.js +0 -62
- package/dist/cjs/core/comlib/_Modal.js +0 -68
- package/dist/cjs/core/comlib/_OpenCamera.js +0 -73
- package/dist/cjs/core/comlib/_OpenPetalMap.js +0 -49
- package/dist/cjs/core/comlib/_OpenUrl.js +0 -62
- package/dist/cjs/core/comlib/_RemoveStorage.js +0 -68
- package/dist/cjs/core/comlib/_Router.js +0 -100
- package/dist/cjs/core/comlib/_ScanQrcode.js +0 -59
- package/dist/cjs/core/comlib/_SetStorage.js +0 -67
- package/dist/cjs/core/comlib/_Share.js +0 -58
- package/dist/cjs/core/comlib/_ShowToast.js +0 -69
- package/dist/cjs/core/comlib/_TextToSpeech.js +0 -120
- package/dist/cjs/core/comlib/_TimerDebounce.js +0 -72
- package/dist/cjs/core/comlib/_TimerDelay.js +0 -88
- package/dist/cjs/core/comlib/_TimerThrottle.js +0 -75
- package/dist/cjs/core/comlib/_Vibrate.js +0 -60
- package/dist/esm/core/comlib/Index.js +0 -39
- package/dist/esm/core/comlib/_AesEncode.js +0 -85
- package/dist/esm/core/comlib/_BackTo.js +0 -66
- package/dist/esm/core/comlib/_CallPhone.js +0 -30
- package/dist/esm/core/comlib/_ChooseFile.js +0 -81
- package/dist/esm/core/comlib/_ChooseMedia.js +0 -38
- package/dist/esm/core/comlib/_Connector.js +0 -77
- package/dist/esm/core/comlib/_ConnectorGlobalHeaders.js +0 -56
- package/dist/esm/core/comlib/_Format.js +0 -102
- package/dist/esm/core/comlib/_GetLocation.js +0 -26
- package/dist/esm/core/comlib/_GetStorage.js +0 -44
- package/dist/esm/core/comlib/_GetSystemInfo.js +0 -32
- package/dist/esm/core/comlib/_Modal.js +0 -51
- package/dist/esm/core/comlib/_OpenCamera.js +0 -44
- package/dist/esm/core/comlib/_OpenPetalMap.js +0 -28
- package/dist/esm/core/comlib/_OpenUrl.js +0 -36
- package/dist/esm/core/comlib/_RemoveStorage.js +0 -42
- package/dist/esm/core/comlib/_Router.js +0 -113
- package/dist/esm/core/comlib/_ScanQrcode.js +0 -26
- package/dist/esm/core/comlib/_SetStorage.js +0 -40
- package/dist/esm/core/comlib/_Share.js +0 -28
- package/dist/esm/core/comlib/_ShowToast.js +0 -45
- package/dist/esm/core/comlib/_TextToSpeech.js +0 -117
- package/dist/esm/core/comlib/_TimerDebounce.js +0 -66
- package/dist/esm/core/comlib/_TimerDelay.js +0 -79
- package/dist/esm/core/comlib/_TimerThrottle.js +0 -69
- 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
|
-
});
|