@mybricks/to-code-taro 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core/comlib/_AesEncode.js +115 -0
- package/dist/cjs/core/comlib/_BackTo.js +80 -0
- package/dist/cjs/core/comlib/_CallPhone.js +58 -0
- 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 +68 -2
- package/dist/cjs/core/utils/ComContext.js +3 -3
- package/dist/cjs/core/utils/PopupRenderer.js +63 -0
- package/dist/cjs/core/utils/hooks.js +16 -14
- package/dist/cjs/core/utils/index.js +15 -3
- package/dist/cjs/core/utils/{page.js → pageRouter.js} +28 -14
- package/dist/cjs/core/utils/popupRouter.js +98 -0
- package/dist/cjs/core/utils/useContext.js +9 -1
- package/dist/cjs/core/utils/with.js +37 -13
- package/dist/cjs/generate/generateTaroProjectJson.js +30 -0
- package/dist/cjs/handleSlot.d.ts +2 -0
- package/dist/cjs/handleSlot.js +19 -5
- package/dist/cjs/processors/processComEvents.js +47 -5
- package/dist/cjs/processors/processScene.js +9 -5
- package/dist/cjs/processors/processSceneLogic.js +9 -5
- package/dist/cjs/shims-taro.d.ts +20 -0
- package/dist/cjs/taro-template.json +493 -351
- package/dist/cjs/toCodeTaro.d.ts +1 -1
- package/dist/cjs/toCodeTaro.js +13 -1
- package/dist/cjs/utils/builder/buildResult.d.ts +1 -0
- package/dist/cjs/utils/builder/buildResult.js +26 -0
- package/dist/cjs/utils/config/handlePageConfig.d.ts +2 -1
- package/dist/cjs/utils/config/handlePageConfig.js +3 -2
- package/dist/cjs/utils/context/createEventQueries.js +1 -1
- package/dist/cjs/utils/logic/handleProcess.js +26 -5
- package/dist/cjs/utils/templates/scene.d.ts +3 -1
- package/dist/cjs/utils/templates/scene.js +16 -4
- 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 +35 -1
- package/dist/esm/core/utils/ComContext.js +1 -1
- package/dist/esm/core/utils/PopupRenderer.js +27 -0
- package/dist/esm/core/utils/hooks.js +24 -16
- package/dist/esm/core/utils/index.js +3 -1
- 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 +14 -2
- package/dist/esm/core/utils/with.js +62 -19
- package/dist/esm/generate/generateTaroProjectJson.js +35 -1
- package/dist/esm/handleSlot.d.ts +2 -0
- package/dist/esm/handleSlot.js +20 -4
- package/dist/esm/processors/processComEvents.js +62 -5
- package/dist/esm/processors/processScene.js +11 -3
- package/dist/esm/processors/processSceneLogic.js +15 -5
- package/dist/esm/shims-taro.d.ts +20 -0
- package/dist/esm/taro-template.json +493 -351
- package/dist/esm/toCodeTaro.d.ts +1 -1
- package/dist/esm/toCodeTaro.js +16 -1
- package/dist/esm/utils/builder/buildResult.d.ts +1 -0
- package/dist/esm/utils/builder/buildResult.js +21 -0
- package/dist/esm/utils/config/handlePageConfig.d.ts +2 -1
- package/dist/esm/utils/config/handlePageConfig.js +5 -1
- package/dist/esm/utils/context/createEventQueries.js +2 -1
- package/dist/esm/utils/logic/handleProcess.js +31 -4
- package/dist/esm/utils/templates/scene.d.ts +3 -1
- package/dist/esm/utils/templates/scene.js +13 -5
- package/package.json +4 -2
- package/dist/esm/core/utils/page.js +0 -50
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export default (function (context) {
|
|
2
|
+
var _inputs$format;
|
|
3
|
+
var data = context.data;
|
|
4
|
+
var inputs = context.inputs;
|
|
5
|
+
var outputs = context.outputs;
|
|
6
|
+
(_inputs$format = inputs.format) === null || _inputs$format === void 0 || _inputs$format.call(inputs, function (val) {
|
|
7
|
+
try {
|
|
8
|
+
var input = (val === null || val === void 0 ? void 0 : val.input) !== undefined ? val.input : data.input;
|
|
9
|
+
var format = (val === null || val === void 0 ? void 0 : val.format) || data.format || 'string';
|
|
10
|
+
var options = (val === null || val === void 0 ? void 0 : val.options) || data.options || {};
|
|
11
|
+
if (input === undefined || input === null) {
|
|
12
|
+
outputs.onFail('输入值不能为空');
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
var result;
|
|
16
|
+
switch (format) {
|
|
17
|
+
case 'json':
|
|
18
|
+
if (typeof input === 'string') {
|
|
19
|
+
try {
|
|
20
|
+
result = JSON.parse(input);
|
|
21
|
+
} catch (error) {
|
|
22
|
+
outputs.onFail('JSON解析失败');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
} else {
|
|
26
|
+
result = JSON.stringify(input, null, 2);
|
|
27
|
+
}
|
|
28
|
+
break;
|
|
29
|
+
case 'string':
|
|
30
|
+
result = String(input);
|
|
31
|
+
break;
|
|
32
|
+
case 'number':
|
|
33
|
+
var num = Number(input);
|
|
34
|
+
if (isNaN(num)) {
|
|
35
|
+
outputs.onFail('无法转换为有效数字');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
result = options.precision !== undefined ? Number(num.toFixed(options.precision)) : num;
|
|
39
|
+
break;
|
|
40
|
+
case 'boolean':
|
|
41
|
+
result = Boolean(input);
|
|
42
|
+
break;
|
|
43
|
+
case 'date':
|
|
44
|
+
var date = new Date(input);
|
|
45
|
+
if (isNaN(date.getTime())) {
|
|
46
|
+
outputs.onFail('无效的日期格式');
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (options.dateFormat) {
|
|
50
|
+
// 简单的日期格式化
|
|
51
|
+
var year = date.getFullYear();
|
|
52
|
+
var month = String(date.getMonth() + 1).padStart(2, '0');
|
|
53
|
+
var day = String(date.getDate()).padStart(2, '0');
|
|
54
|
+
var hours = String(date.getHours()).padStart(2, '0');
|
|
55
|
+
var minutes = String(date.getMinutes()).padStart(2, '0');
|
|
56
|
+
var seconds = String(date.getSeconds()).padStart(2, '0');
|
|
57
|
+
result = options.dateFormat.replace('YYYY', year.toString()).replace('MM', month).replace('DD', day).replace('HH', hours).replace('mm', minutes).replace('ss', seconds);
|
|
58
|
+
} else {
|
|
59
|
+
result = date.toISOString();
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
case 'base64':
|
|
63
|
+
if (typeof input === 'string') {
|
|
64
|
+
try {
|
|
65
|
+
// 尝试解码Base64
|
|
66
|
+
result = decodeURIComponent(escape(atob(input)));
|
|
67
|
+
} catch (_unused) {
|
|
68
|
+
// 如果解码失败,则编码为Base64
|
|
69
|
+
result = btoa(unescape(encodeURIComponent(input)));
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
outputs.onFail('Base64转换需要字符串输入');
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
76
|
+
case 'urlEncode':
|
|
77
|
+
result = encodeURIComponent(String(input));
|
|
78
|
+
break;
|
|
79
|
+
case 'urlDecode':
|
|
80
|
+
try {
|
|
81
|
+
result = decodeURIComponent(String(input));
|
|
82
|
+
} catch (error) {
|
|
83
|
+
outputs.onFail('URL解码失败');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
outputs.onFail("\u4E0D\u652F\u6301\u7684\u683C\u5F0F\u7C7B\u578B: ".concat(format));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
outputs.onSuccess({
|
|
92
|
+
input: input,
|
|
93
|
+
output: result,
|
|
94
|
+
format: format,
|
|
95
|
+
options: options
|
|
96
|
+
});
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.error('格式化失败:', error);
|
|
99
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '格式化失败');
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import Taro from '@tarojs/taro';
|
|
2
|
+
export default (function (context) {
|
|
3
|
+
var _inputs$getLocation;
|
|
4
|
+
var data = context.data;
|
|
5
|
+
var inputs = context.inputs;
|
|
6
|
+
var outputs = context.outputs;
|
|
7
|
+
(_inputs$getLocation = inputs.getLocation) === null || _inputs$getLocation === void 0 || _inputs$getLocation.call(inputs, function (val) {
|
|
8
|
+
try {
|
|
9
|
+
var locationConfig = {
|
|
10
|
+
type: (val === null || val === void 0 ? void 0 : val.type) || data.type || 'wgs84',
|
|
11
|
+
altitude: (val === null || val === void 0 ? void 0 : val.altitude) !== undefined ? val.altitude : data.altitude || false,
|
|
12
|
+
timeout: (val === null || val === void 0 ? void 0 : val.timeout) || data.timeout || 30000,
|
|
13
|
+
success: function success(res) {
|
|
14
|
+
outputs.onSuccess(res);
|
|
15
|
+
},
|
|
16
|
+
fail: function fail(err) {
|
|
17
|
+
outputs.onFail(err.errMsg || '获取地理位置失败');
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
Taro.getLocation(locationConfig);
|
|
21
|
+
} catch (error) {
|
|
22
|
+
console.error('获取地理位置失败:', error);
|
|
23
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '获取地理位置失败');
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Taro from '@tarojs/taro';
|
|
2
|
+
export default (function (context) {
|
|
3
|
+
var _inputs$getStorage;
|
|
4
|
+
var data = context.data;
|
|
5
|
+
var inputs = context.inputs;
|
|
6
|
+
var outputs = context.outputs;
|
|
7
|
+
(_inputs$getStorage = inputs.getStorage) === null || _inputs$getStorage === void 0 || _inputs$getStorage.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
|
+
var _value = Taro.getStorageSync(key);
|
|
18
|
+
outputs.onSuccess({
|
|
19
|
+
key: key,
|
|
20
|
+
value: _value
|
|
21
|
+
});
|
|
22
|
+
} catch (error) {
|
|
23
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '读取本地缓存失败');
|
|
24
|
+
}
|
|
25
|
+
} else {
|
|
26
|
+
Taro.getStorage({
|
|
27
|
+
key: key,
|
|
28
|
+
success: function success(res) {
|
|
29
|
+
return outputs.onSuccess({
|
|
30
|
+
key: key,
|
|
31
|
+
value: res.data
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
fail: function fail(err) {
|
|
35
|
+
return outputs.onFail(err.errMsg || '读取本地缓存失败');
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error('读取本地缓存失败:', error);
|
|
41
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '读取本地缓存失败');
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import Taro from '@tarojs/taro';
|
|
2
|
+
export default (function (context) {
|
|
3
|
+
var _inputs$getSystemInfo;
|
|
4
|
+
var data = context.data;
|
|
5
|
+
var inputs = context.inputs;
|
|
6
|
+
var outputs = context.outputs;
|
|
7
|
+
(_inputs$getSystemInfo = inputs.getSystemInfo) === null || _inputs$getSystemInfo === void 0 || _inputs$getSystemInfo.call(inputs, function (val) {
|
|
8
|
+
try {
|
|
9
|
+
var useSync = (val === null || val === void 0 ? void 0 : val.sync) !== undefined ? val.sync : data.sync || false;
|
|
10
|
+
if (useSync) {
|
|
11
|
+
try {
|
|
12
|
+
var systemInfo = Taro.getSystemInfoSync();
|
|
13
|
+
outputs.onSuccess(systemInfo);
|
|
14
|
+
} catch (error) {
|
|
15
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '获取系统信息失败');
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
Taro.getSystemInfo({
|
|
19
|
+
success: function success(res) {
|
|
20
|
+
return outputs.onSuccess(res);
|
|
21
|
+
},
|
|
22
|
+
fail: function fail(err) {
|
|
23
|
+
return outputs.onFail(err.errMsg || '获取系统信息失败');
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
} catch (error) {
|
|
28
|
+
console.error('获取系统信息失败:', error);
|
|
29
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '获取系统信息失败');
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Taro from '@tarojs/taro';
|
|
2
|
+
export default (function (context) {
|
|
3
|
+
var _inputs$openCamera;
|
|
4
|
+
var data = context.data;
|
|
5
|
+
var inputs = context.inputs;
|
|
6
|
+
var outputs = context.outputs;
|
|
7
|
+
(_inputs$openCamera = inputs.openCamera) === null || _inputs$openCamera === void 0 || _inputs$openCamera.call(inputs, function (val) {
|
|
8
|
+
try {
|
|
9
|
+
var _config = {
|
|
10
|
+
camera: (val === null || val === void 0 ? void 0 : val.camera) || data.camera || 'back',
|
|
11
|
+
flash: (val === null || val === void 0 ? void 0 : val.flash) || data.flash || 'auto',
|
|
12
|
+
quality: (val === null || val === void 0 ? void 0 : val.quality) || data.quality || 'normal'
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
// Taro没有直接的打开相机API,我们可以:
|
|
16
|
+
// 1. 使用chooseImage并设置sourceType为camera
|
|
17
|
+
// 2. 或者提示用户使用系统相机
|
|
18
|
+
|
|
19
|
+
Taro.chooseImage({
|
|
20
|
+
count: 1,
|
|
21
|
+
sourceType: ['camera'],
|
|
22
|
+
success: function success(res) {
|
|
23
|
+
outputs.onSuccess({
|
|
24
|
+
type: 'camera',
|
|
25
|
+
tempFilePath: res.tempFilePaths[0],
|
|
26
|
+
tempFile: res.tempFiles[0],
|
|
27
|
+
config: _config
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
fail: function fail(err) {
|
|
31
|
+
var _err$errMsg;
|
|
32
|
+
if ((_err$errMsg = err.errMsg) !== null && _err$errMsg !== void 0 && _err$errMsg.includes('cancel')) {
|
|
33
|
+
outputs.onFail('用户取消拍照');
|
|
34
|
+
} else {
|
|
35
|
+
outputs.onFail(err.errMsg || '打开相机失败');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error('打开相机失败:', error);
|
|
41
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '打开相机失败');
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default (function (context) {
|
|
2
|
+
var _inputs$openMap;
|
|
3
|
+
var data = context.data;
|
|
4
|
+
var inputs = context.inputs;
|
|
5
|
+
var outputs = context.outputs;
|
|
6
|
+
(_inputs$openMap = inputs.openMap) === null || _inputs$openMap === void 0 || _inputs$openMap.call(inputs, function (val) {
|
|
7
|
+
try {
|
|
8
|
+
var _config = {
|
|
9
|
+
latitude: (val === null || val === void 0 ? void 0 : val.latitude) || data.latitude || 39.9093,
|
|
10
|
+
longitude: (val === null || val === void 0 ? void 0 : val.longitude) || data.longitude || 116.3974,
|
|
11
|
+
scale: (val === null || val === void 0 ? void 0 : val.scale) || data.scale || 16,
|
|
12
|
+
markers: (val === null || val === void 0 ? void 0 : val.markers) || data.markers || [],
|
|
13
|
+
showLocation: (val === null || val === void 0 ? void 0 : val.showLocation) !== undefined ? val.showLocation : data.showLocation || true
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// 小程序环境下,使用Taro的地图组件
|
|
17
|
+
// 这里可以导航到地图页面或直接显示地图
|
|
18
|
+
outputs.onSuccess({
|
|
19
|
+
type: 'map',
|
|
20
|
+
config: _config,
|
|
21
|
+
message: '地图配置已准备就绪,请在页面中使用Map组件显示'
|
|
22
|
+
});
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error('打开地图失败:', error);
|
|
25
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '打开地图失败');
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Taro from '@tarojs/taro';
|
|
2
|
+
export default (function (context) {
|
|
3
|
+
var _inputs$openUrl;
|
|
4
|
+
var data = context.data;
|
|
5
|
+
var inputs = context.inputs;
|
|
6
|
+
var outputs = context.outputs;
|
|
7
|
+
(_inputs$openUrl = inputs.openUrl) === null || _inputs$openUrl === void 0 || _inputs$openUrl.call(inputs, function (val) {
|
|
8
|
+
try {
|
|
9
|
+
var url = typeof val === 'string' ? val : (val === null || val === void 0 ? void 0 : val.url) || data.url;
|
|
10
|
+
if (!url) {
|
|
11
|
+
outputs.onFail('URL 地址不能为空');
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// 检查是否为有效的 URL
|
|
16
|
+
if (!/^https?:\/\//.test(url)) {
|
|
17
|
+
outputs.onFail('URL 格式不正确,请以 http:// 或 https:// 开头');
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
Taro.navigateTo({
|
|
21
|
+
url: "/pages/webview/index?url=".concat(encodeURIComponent(url)),
|
|
22
|
+
success: function success() {
|
|
23
|
+
return outputs.onSuccess({
|
|
24
|
+
url: url
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
fail: function fail(err) {
|
|
28
|
+
return outputs.onFail(err.errMsg || '打开链接失败');
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
} catch (error) {
|
|
32
|
+
console.error('打开链接失败:', error);
|
|
33
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '打开链接失败');
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
});
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
});
|
|
@@ -4,24 +4,23 @@ export default (function (context) {
|
|
|
4
4
|
var data = context.data;
|
|
5
5
|
var inputs = context.inputs;
|
|
6
6
|
var outputs = context.outputs;
|
|
7
|
-
|
|
7
|
+
(_inputs$scan = inputs.scan) === null || _inputs$scan === void 0 || _inputs$scan.call(inputs, function (val) {
|
|
8
8
|
try {
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
onlyFromCamera: onlyFromCamera,
|
|
14
|
-
scanType: scanType,
|
|
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'],
|
|
15
13
|
success: function success(res) {
|
|
16
|
-
outputs
|
|
14
|
+
outputs.onSuccess(res.result || res);
|
|
17
15
|
},
|
|
18
16
|
fail: function fail(err) {
|
|
19
|
-
outputs
|
|
17
|
+
outputs.onFail(err.errMsg || '扫码失败');
|
|
20
18
|
}
|
|
21
|
-
}
|
|
19
|
+
};
|
|
20
|
+
Taro.scanCode(scanConfig);
|
|
22
21
|
} catch (error) {
|
|
23
22
|
console.error('扫码失败:', error);
|
|
24
|
-
outputs
|
|
23
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '扫码失败');
|
|
25
24
|
}
|
|
26
25
|
});
|
|
27
26
|
});
|
|
@@ -6,47 +6,35 @@ export default (function (context) {
|
|
|
6
6
|
var outputs = context.outputs;
|
|
7
7
|
(_inputs$setStorage = inputs.setStorage) === null || _inputs$setStorage === void 0 || _inputs$setStorage.call(inputs, function (val) {
|
|
8
8
|
try {
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
var _value = (val === null || val === void 0 ? void 0 : val.value) !== undefined ? val.value : data === null || data === void 0 ? void 0 : data.value;
|
|
13
|
-
var useSync = (val === null || val === void 0 ? void 0 : val.sync) !== undefined ? val.sync : (_data$sync = data === null || data === void 0 ? void 0 : data.sync) !== null && _data$sync !== void 0 ? _data$sync : false;
|
|
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;
|
|
14
12
|
if (!key) {
|
|
15
|
-
outputs
|
|
13
|
+
outputs.onFail('存储 key 不能为空');
|
|
16
14
|
return;
|
|
17
15
|
}
|
|
16
|
+
var result = {
|
|
17
|
+
key: key,
|
|
18
|
+
value: _value
|
|
19
|
+
};
|
|
18
20
|
if (useSync) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
Taro.setStorageSync(key, _value);
|
|
22
|
-
outputs === null || outputs === void 0 || outputs.onSuccess({
|
|
23
|
-
key: key,
|
|
24
|
-
value: _value
|
|
25
|
-
});
|
|
26
|
-
} catch (error) {
|
|
27
|
-
console.error('写入本地缓存失败:', error);
|
|
28
|
-
outputs === null || outputs === void 0 || outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '写入本地缓存失败');
|
|
29
|
-
}
|
|
21
|
+
Taro.setStorageSync(key, _value);
|
|
22
|
+
outputs.onSuccess(result);
|
|
30
23
|
} else {
|
|
31
|
-
// 使用异步方法
|
|
32
24
|
Taro.setStorage({
|
|
33
25
|
key: key,
|
|
34
26
|
data: _value,
|
|
35
27
|
success: function success() {
|
|
36
|
-
|
|
37
|
-
key: key,
|
|
38
|
-
value: _value
|
|
39
|
-
});
|
|
28
|
+
return outputs.onSuccess(result);
|
|
40
29
|
},
|
|
41
30
|
fail: function fail(err) {
|
|
42
|
-
|
|
43
|
-
outputs === null || outputs === void 0 || outputs.onFail(err.errMsg || '写入本地缓存失败');
|
|
31
|
+
return outputs.onFail(err.errMsg || '写入本地缓存失败');
|
|
44
32
|
}
|
|
45
33
|
});
|
|
46
34
|
}
|
|
47
35
|
} catch (error) {
|
|
48
36
|
console.error('写入本地缓存失败:', error);
|
|
49
|
-
outputs
|
|
37
|
+
outputs.onFail((error === null || error === void 0 ? void 0 : error.message) || '写入本地缓存失败');
|
|
50
38
|
}
|
|
51
39
|
});
|
|
52
40
|
});
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
});
|