@tarojs/taro-h5 3.5.11 → 3.6.0-alpha.1
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/api/base/system.js +5 -1
- package/dist/api/device/clipboard.js +2 -1
- package/dist/api/location/chooseLocation.js +4 -4
- package/dist/api/location/getLocation.js +2 -2
- package/dist/api/media/image/chooseImage.js +2 -2
- package/dist/api/media/image/getImageInfo.js +2 -2
- package/dist/api/media/image/previewImage.js +2 -1
- package/dist/api/media/video/index.js +2 -2
- package/dist/api/network/request/index.js +9 -8
- package/dist/api/network/websocket/index.d.ts +1 -1
- package/dist/api/network/websocket/index.js +3 -3
- package/dist/api/network/websocket/socketTask.js +7 -6
- package/dist/api/taro.js +2 -1
- package/dist/api/ui/navigation-bar/index.d.ts +1 -1
- package/dist/api/ui/pull-down-refresh.js +4 -4
- package/dist/api/ui/scroll/index.js +3 -3
- package/dist/api/ui/tab-bar.js +16 -16
- package/dist/api/wxml/MediaQueryObserver.js +4 -3
- package/dist/api/wxml/nodesRef.d.ts +1 -0
- package/dist/api/wxml/selectorQuery.js +3 -2
- package/dist/index.cjs.d.ts +2 -2
- package/dist/index.cjs.js +89 -80
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.d.ts +2 -2
- package/dist/index.esm.js +88 -79
- package/dist/index.esm.js.map +1 -1
- package/dist/taroApis.d.ts +2 -2
- package/dist/utils/handler.d.ts +8 -3
- package/dist/utils/handler.js +19 -10
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +6 -6
- package/dist/utils/valid.d.ts +1 -2
- package/dist/utils/valid.js +0 -3
- package/package.json +9 -4
- package/types/global.d.ts +1 -0
package/dist/index.cjs.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var Taro = require('@tarojs/api');
|
|
6
6
|
var router = require('@tarojs/router');
|
|
7
|
+
var shared = require('@tarojs/shared');
|
|
7
8
|
var utils = require('@tarojs/router/dist/utils');
|
|
8
9
|
var runtime = require('@tarojs/runtime');
|
|
9
10
|
var base64Js = require('base64-js');
|
|
@@ -37,30 +38,38 @@ var jsonpRetry__default = /*#__PURE__*/_interopDefaultLegacy(jsonpRetry);
|
|
|
37
38
|
|
|
38
39
|
class MethodHandler {
|
|
39
40
|
constructor({ name, success, fail, complete }) {
|
|
41
|
+
this.isHandlerError = false;
|
|
40
42
|
this.methodName = name;
|
|
41
43
|
this.__success = success;
|
|
42
44
|
this.__fail = fail;
|
|
43
45
|
this.__complete = complete;
|
|
46
|
+
this.isHandlerError = shared.isFunction(this.__complete) || shared.isFunction(this.__fail);
|
|
44
47
|
}
|
|
45
|
-
success(res = {},
|
|
48
|
+
success(res = {}, promise = {}) {
|
|
46
49
|
if (!res.errMsg) {
|
|
47
50
|
res.errMsg = `${this.methodName}:ok`;
|
|
48
51
|
}
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
shared.isFunction(this.__success) && this.__success(res);
|
|
53
|
+
shared.isFunction(this.__complete) && this.__complete(res);
|
|
54
|
+
const { resolve = Promise.resolve.bind(Promise) } = promise;
|
|
51
55
|
return resolve(res);
|
|
52
56
|
}
|
|
53
|
-
fail(res = {},
|
|
57
|
+
fail(res = {}, promise = {}) {
|
|
54
58
|
if (!res.errMsg) {
|
|
55
59
|
res.errMsg = `${this.methodName}:fail`;
|
|
56
60
|
}
|
|
57
61
|
else {
|
|
58
62
|
res.errMsg = `${this.methodName}:fail ${res.errMsg}`;
|
|
59
63
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
65
|
+
console.error(res.errMsg);
|
|
66
|
+
}
|
|
67
|
+
shared.isFunction(this.__fail) && this.__fail(res);
|
|
68
|
+
shared.isFunction(this.__complete) && this.__complete(res);
|
|
69
|
+
const { resolve = Promise.resolve.bind(Promise), reject = Promise.reject.bind(Promise) } = promise;
|
|
70
|
+
return this.isHandlerError
|
|
71
|
+
? resolve(res)
|
|
72
|
+
: reject(res);
|
|
64
73
|
}
|
|
65
74
|
}
|
|
66
75
|
class CallbackManager {
|
|
@@ -104,12 +113,12 @@ class CallbackManager {
|
|
|
104
113
|
*/
|
|
105
114
|
this.trigger = (...args) => {
|
|
106
115
|
this.callbacks.forEach(opt => {
|
|
107
|
-
if (
|
|
116
|
+
if (shared.isFunction(opt)) {
|
|
108
117
|
opt(...args);
|
|
109
118
|
}
|
|
110
119
|
else {
|
|
111
120
|
const { callback, ctx } = opt;
|
|
112
|
-
|
|
121
|
+
shared.isFunction(callback) && callback.call(ctx, ...args);
|
|
113
122
|
}
|
|
114
123
|
});
|
|
115
124
|
};
|
|
@@ -161,16 +170,12 @@ function debounce(fn, ms = 250, scope) {
|
|
|
161
170
|
};
|
|
162
171
|
}
|
|
163
172
|
|
|
164
|
-
function isFunction(obj) {
|
|
165
|
-
return typeof obj === 'function';
|
|
166
|
-
}
|
|
167
173
|
const VALID_COLOR_REG = /^#[0-9a-fA-F]{6}$/;
|
|
168
174
|
const isValidColor = (color) => {
|
|
169
175
|
return VALID_COLOR_REG.test(color);
|
|
170
176
|
};
|
|
171
177
|
|
|
172
178
|
/* eslint-disable prefer-promise-reject-errors */
|
|
173
|
-
const isProd = process.env.NODE_ENV === 'production';
|
|
174
179
|
function shouldBeObject(target) {
|
|
175
180
|
if (target && typeof target === 'object')
|
|
176
181
|
return { flag: true };
|
|
@@ -252,7 +257,7 @@ function temporarilyNotSupport(name = '') {
|
|
|
252
257
|
type: 'method',
|
|
253
258
|
category: 'temporarily',
|
|
254
259
|
});
|
|
255
|
-
if (
|
|
260
|
+
if (process.env.NODE_ENV === 'production') {
|
|
256
261
|
console.warn(errMsg);
|
|
257
262
|
return handle.success({ errMsg });
|
|
258
263
|
}
|
|
@@ -272,7 +277,7 @@ function weixinCorpSupport(name) {
|
|
|
272
277
|
type: 'method',
|
|
273
278
|
category: 'weixin_corp',
|
|
274
279
|
});
|
|
275
|
-
if (
|
|
280
|
+
if (process.env.NODE_ENV === 'production') {
|
|
276
281
|
console.warn(errMsg);
|
|
277
282
|
return handle.success({ errMsg });
|
|
278
283
|
}
|
|
@@ -292,7 +297,7 @@ function permanentlyNotSupport(name = '') {
|
|
|
292
297
|
type: 'method',
|
|
293
298
|
category: 'permanently',
|
|
294
299
|
});
|
|
295
|
-
if (
|
|
300
|
+
if (process.env.NODE_ENV === 'production') {
|
|
296
301
|
console.warn(errMsg);
|
|
297
302
|
return handle.success({ errMsg });
|
|
298
303
|
}
|
|
@@ -308,7 +313,7 @@ function processOpenApi({ name, defaultOptions, standardMethod, formatOptions =
|
|
|
308
313
|
// @ts-ignore
|
|
309
314
|
const targetApi = (_a = window === null || window === void 0 ? void 0 : window.wx) === null || _a === void 0 ? void 0 : _a[name];
|
|
310
315
|
const opts = formatOptions(Object.assign({}, defaultOptions, options));
|
|
311
|
-
if (
|
|
316
|
+
if (shared.isFunction(targetApi)) {
|
|
312
317
|
return new Promise((resolve, reject) => {
|
|
313
318
|
['fail', 'success', 'complete'].forEach(k => {
|
|
314
319
|
opts[k] = preRef => {
|
|
@@ -325,7 +330,7 @@ function processOpenApi({ name, defaultOptions, standardMethod, formatOptions =
|
|
|
325
330
|
});
|
|
326
331
|
});
|
|
327
332
|
}
|
|
328
|
-
else if (
|
|
333
|
+
else if (shared.isFunction(standardMethod)) {
|
|
329
334
|
return standardMethod(opts);
|
|
330
335
|
}
|
|
331
336
|
else {
|
|
@@ -657,6 +662,8 @@ const getDeviceInfo = () => {
|
|
|
657
662
|
const info = {
|
|
658
663
|
/** 应用二进制接口类型(仅 Android 支持) */
|
|
659
664
|
abi: '',
|
|
665
|
+
/** 设备二进制接口类型(仅 Android 支持) */
|
|
666
|
+
deviceAbi: '',
|
|
660
667
|
/** 设备性能等级(仅Android小游戏)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */
|
|
661
668
|
benchmarkLevel: -1,
|
|
662
669
|
/** 设备品牌 */
|
|
@@ -666,7 +673,9 @@ const getDeviceInfo = () => {
|
|
|
666
673
|
/** 操作系统及版本 */
|
|
667
674
|
system: md.os(),
|
|
668
675
|
/** 客户端平台 */
|
|
669
|
-
platform: navigator.platform
|
|
676
|
+
platform: navigator.platform,
|
|
677
|
+
/** 设备二进制接口类型(仅 Android 支持) */
|
|
678
|
+
CPUType: '',
|
|
670
679
|
};
|
|
671
680
|
return info;
|
|
672
681
|
};
|
|
@@ -1512,7 +1521,7 @@ const setClipboardData = ({ data, success, fail, complete }) => __awaiter(void 0
|
|
|
1512
1521
|
* iOS < 10 的系统可能无法使用编程方式访问剪贴板,参考:
|
|
1513
1522
|
* https://stackoverflow.com/questions/34045777/copy-to-clipboard-using-javascript-in-ios/34046084
|
|
1514
1523
|
*/
|
|
1515
|
-
if (
|
|
1524
|
+
if (shared.isFunction(document.execCommand)) {
|
|
1516
1525
|
const textarea = document.createElement('textarea');
|
|
1517
1526
|
textarea.readOnly = true;
|
|
1518
1527
|
textarea.value = data;
|
|
@@ -1972,9 +1981,9 @@ const getLocationByW3CApi = (options) => {
|
|
|
1972
1981
|
/** 调用结果,自动补充 */
|
|
1973
1982
|
errMsg: ''
|
|
1974
1983
|
};
|
|
1975
|
-
handle.success(result, resolve);
|
|
1984
|
+
handle.success(result, { resolve, reject });
|
|
1976
1985
|
}, (error) => {
|
|
1977
|
-
handle.fail({ errMsg: error.message }, reject);
|
|
1986
|
+
handle.fail({ errMsg: error.message }, { resolve, reject });
|
|
1978
1987
|
}, positionOptions);
|
|
1979
1988
|
});
|
|
1980
1989
|
};
|
|
@@ -2072,7 +2081,7 @@ const chooseLocation = ({ success, fail, complete, mapOpts } = {}) => {
|
|
|
2072
2081
|
console.warn('chooseLocation api 依赖腾讯地图定位api,需要在 defineConstants 中配置 LOCATION_APIKEY');
|
|
2073
2082
|
return handle.fail({
|
|
2074
2083
|
errMsg: 'LOCATION_APIKEY needed'
|
|
2075
|
-
}, reject);
|
|
2084
|
+
}, { resolve, reject });
|
|
2076
2085
|
}
|
|
2077
2086
|
const onMessage = event => {
|
|
2078
2087
|
// 接收位置信息,用户选择确认位置点后选点组件会触发该事件,回传用户的位置信息
|
|
@@ -2091,14 +2100,14 @@ const chooseLocation = ({ success, fail, complete, mapOpts } = {}) => {
|
|
|
2091
2100
|
chooser.remove();
|
|
2092
2101
|
}, 300);
|
|
2093
2102
|
if (res) {
|
|
2094
|
-
return handle.fail(res, reject);
|
|
2103
|
+
return handle.fail(res, { resolve, reject });
|
|
2095
2104
|
}
|
|
2096
2105
|
else {
|
|
2097
2106
|
if (chooseLocation.latitude && chooseLocation.longitude) {
|
|
2098
|
-
return handle.success(chooseLocation, resolve);
|
|
2107
|
+
return handle.success(chooseLocation, { resolve, reject });
|
|
2099
2108
|
}
|
|
2100
2109
|
else {
|
|
2101
|
-
return handle.fail({}, reject);
|
|
2110
|
+
return handle.fail({}, { resolve, reject });
|
|
2102
2111
|
}
|
|
2103
2112
|
}
|
|
2104
2113
|
}, key, mapOpts);
|
|
@@ -2355,12 +2364,12 @@ const getImageInfo = (options) => {
|
|
|
2355
2364
|
width: image.naturalWidth,
|
|
2356
2365
|
height: image.naturalHeight,
|
|
2357
2366
|
path: getBase64Image(image) || src
|
|
2358
|
-
}, resolve);
|
|
2367
|
+
}, { resolve, reject });
|
|
2359
2368
|
};
|
|
2360
2369
|
image.onerror = (e) => {
|
|
2361
2370
|
handle.fail({
|
|
2362
2371
|
errMsg: e.message
|
|
2363
|
-
}, reject);
|
|
2372
|
+
}, { resolve, reject });
|
|
2364
2373
|
};
|
|
2365
2374
|
image.src = src;
|
|
2366
2375
|
});
|
|
@@ -2387,7 +2396,7 @@ const previewImage = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
2387
2396
|
item.appendChild(div);
|
|
2388
2397
|
// Note: 等待图片加载完后返回,会导致轮播被卡住
|
|
2389
2398
|
resolve(item);
|
|
2390
|
-
if (
|
|
2399
|
+
if (shared.isFunction(loadFail)) {
|
|
2391
2400
|
image.addEventListener('error', (err) => {
|
|
2392
2401
|
loadFail({ errMsg: err.message });
|
|
2393
2402
|
});
|
|
@@ -2492,7 +2501,7 @@ const chooseImage = function (options) {
|
|
|
2492
2501
|
el.removeAttribute('capture');
|
|
2493
2502
|
}
|
|
2494
2503
|
}
|
|
2495
|
-
return new Promise(resolve => {
|
|
2504
|
+
return new Promise((resolve, reject) => {
|
|
2496
2505
|
const TaroMouseEvents = document.createEvent('MouseEvents');
|
|
2497
2506
|
TaroMouseEvents.initEvent('click', true, true);
|
|
2498
2507
|
if (el) {
|
|
@@ -2511,7 +2520,7 @@ const chooseImage = function (options) {
|
|
|
2511
2520
|
(_a = res.tempFilePaths) === null || _a === void 0 ? void 0 : _a.push(url);
|
|
2512
2521
|
(_b = res.tempFiles) === null || _b === void 0 ? void 0 : _b.push({ path: url, size: item.size, type: item.type, originalFileObj: item });
|
|
2513
2522
|
});
|
|
2514
|
-
handle.success(res, resolve);
|
|
2523
|
+
handle.success(res, { resolve, reject });
|
|
2515
2524
|
target.value = '';
|
|
2516
2525
|
}
|
|
2517
2526
|
};
|
|
@@ -2579,7 +2588,7 @@ const chooseVideo = (options) => {
|
|
|
2579
2588
|
inputEl.setAttribute('accept', 'video/*');
|
|
2580
2589
|
inputEl.setAttribute('style', 'position: fixed; top: -4000px; left: -3000px; z-index: -300;');
|
|
2581
2590
|
document.body.appendChild(inputEl);
|
|
2582
|
-
return new Promise(resolve => {
|
|
2591
|
+
return new Promise((resolve, reject) => {
|
|
2583
2592
|
const TaroMouseEvents = document.createEvent('MouseEvents');
|
|
2584
2593
|
TaroMouseEvents.initEvent('click', true, true);
|
|
2585
2594
|
inputEl.dispatchEvent(TaroMouseEvents);
|
|
@@ -2600,7 +2609,7 @@ const chooseVideo = (options) => {
|
|
|
2600
2609
|
res.size = event.total;
|
|
2601
2610
|
res.height = videoEl.videoHeight;
|
|
2602
2611
|
res.width = videoEl.videoHeight;
|
|
2603
|
-
return handle.success(res, resolve);
|
|
2612
|
+
return handle.success(res, { resolve, reject });
|
|
2604
2613
|
};
|
|
2605
2614
|
};
|
|
2606
2615
|
if (file) {
|
|
@@ -2881,13 +2890,13 @@ function _request(options) {
|
|
|
2881
2890
|
.then(data => {
|
|
2882
2891
|
res.statusCode = 200;
|
|
2883
2892
|
res.data = data;
|
|
2884
|
-
|
|
2885
|
-
|
|
2893
|
+
shared.isFunction(success) && success(res);
|
|
2894
|
+
shared.isFunction(complete) && complete(res);
|
|
2886
2895
|
return res;
|
|
2887
2896
|
})
|
|
2888
2897
|
.catch(err => {
|
|
2889
|
-
|
|
2890
|
-
|
|
2898
|
+
shared.isFunction(fail) && fail(err);
|
|
2899
|
+
shared.isFunction(complete) && complete(res);
|
|
2891
2900
|
return Promise.reject(err);
|
|
2892
2901
|
});
|
|
2893
2902
|
}
|
|
@@ -2955,13 +2964,13 @@ function _request(options) {
|
|
|
2955
2964
|
})
|
|
2956
2965
|
.then(data => {
|
|
2957
2966
|
res.data = data;
|
|
2958
|
-
|
|
2959
|
-
|
|
2967
|
+
shared.isFunction(success) && success(res);
|
|
2968
|
+
shared.isFunction(complete) && complete(res);
|
|
2960
2969
|
return res;
|
|
2961
2970
|
})
|
|
2962
2971
|
.catch(err => {
|
|
2963
|
-
|
|
2964
|
-
|
|
2972
|
+
shared.isFunction(fail) && fail(err);
|
|
2973
|
+
shared.isFunction(complete) && complete(res);
|
|
2965
2974
|
err.statusCode = res.statusCode;
|
|
2966
2975
|
err.errMsg = err.message;
|
|
2967
2976
|
return Promise.reject(err);
|
|
@@ -3150,14 +3159,14 @@ class SocketTask {
|
|
|
3150
3159
|
if (this.readyState !== 1) {
|
|
3151
3160
|
const res = { errMsg: 'SocketTask.send:fail SocketTask.readState is not OPEN' };
|
|
3152
3161
|
console.error(res.errMsg);
|
|
3153
|
-
|
|
3154
|
-
|
|
3162
|
+
shared.isFunction(fail) && fail(res);
|
|
3163
|
+
shared.isFunction(complete) && complete(res);
|
|
3155
3164
|
return Promise.reject(res);
|
|
3156
3165
|
}
|
|
3157
3166
|
this.ws.send(data);
|
|
3158
3167
|
const res = { errMsg: 'sendSocketMessage:ok' };
|
|
3159
|
-
|
|
3160
|
-
|
|
3168
|
+
shared.isFunction(success) && success(res);
|
|
3169
|
+
shared.isFunction(complete) && complete(res);
|
|
3161
3170
|
return Promise.resolve(res);
|
|
3162
3171
|
}
|
|
3163
3172
|
close(opts = {}) {
|
|
@@ -3169,8 +3178,8 @@ class SocketTask {
|
|
|
3169
3178
|
this._destroyWhenClose && this._destroyWhenClose();
|
|
3170
3179
|
this.ws.close();
|
|
3171
3180
|
const res = { errMsg: 'closeSocket:ok' };
|
|
3172
|
-
|
|
3173
|
-
|
|
3181
|
+
shared.isFunction(success) && success(res);
|
|
3182
|
+
shared.isFunction(complete) && complete(res);
|
|
3174
3183
|
return Promise.resolve(res);
|
|
3175
3184
|
}
|
|
3176
3185
|
onOpen(func) {
|
|
@@ -3228,13 +3237,13 @@ function connectSocket(options) {
|
|
|
3228
3237
|
correct: 'String',
|
|
3229
3238
|
wrong: url
|
|
3230
3239
|
})
|
|
3231
|
-
}, reject);
|
|
3240
|
+
}, { resolve, reject });
|
|
3232
3241
|
}
|
|
3233
3242
|
// options.url must be invalid
|
|
3234
3243
|
if (!url.startsWith('ws://') && !url.startsWith('wss://')) {
|
|
3235
3244
|
return handle.fail({
|
|
3236
3245
|
errMsg: `request:fail invalid url "${url}"`
|
|
3237
|
-
}, reject);
|
|
3246
|
+
}, { resolve, reject });
|
|
3238
3247
|
}
|
|
3239
3248
|
// protocols must be array
|
|
3240
3249
|
const _protocols = Array.isArray(protocols) ? protocols : null;
|
|
@@ -3242,7 +3251,7 @@ function connectSocket(options) {
|
|
|
3242
3251
|
if (socketTasks.length > 1) {
|
|
3243
3252
|
return handle.fail({
|
|
3244
3253
|
errMsg: '同时最多发起 2 个 socket 请求,更多请参考文档。'
|
|
3245
|
-
}, reject);
|
|
3254
|
+
}, { resolve, reject });
|
|
3246
3255
|
}
|
|
3247
3256
|
const task = new SocketTask(url, _protocols);
|
|
3248
3257
|
task._destroyWhenClose = function () {
|
|
@@ -4596,8 +4605,8 @@ const startPullDownRefresh = function ({ success, fail, complete } = {}) {
|
|
|
4596
4605
|
const handle = new MethodHandler({ name: 'startPullDownRefresh', success, fail, complete });
|
|
4597
4606
|
return new Promise((resolve, reject) => {
|
|
4598
4607
|
Taro__default["default"].eventCenter.trigger('__taroStartPullDownRefresh', {
|
|
4599
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4600
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4608
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4609
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4601
4610
|
});
|
|
4602
4611
|
});
|
|
4603
4612
|
};
|
|
@@ -4608,8 +4617,8 @@ const stopPullDownRefresh = function ({ success, fail, complete } = {}) {
|
|
|
4608
4617
|
const handle = new MethodHandler({ name: 'stopPullDownRefresh', success, fail, complete });
|
|
4609
4618
|
return new Promise((resolve, reject) => {
|
|
4610
4619
|
Taro__default["default"].eventCenter.trigger('__taroStopPullDownRefresh', {
|
|
4611
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4612
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4620
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4621
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4613
4622
|
});
|
|
4614
4623
|
});
|
|
4615
4624
|
};
|
|
@@ -4628,7 +4637,7 @@ const pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300,
|
|
|
4628
4637
|
if (scrollTop === undefined && !selector) {
|
|
4629
4638
|
return handle.fail({
|
|
4630
4639
|
errMsg: 'scrollTop" 或 "selector" 需要其之一'
|
|
4631
|
-
}, reject);
|
|
4640
|
+
}, { resolve, reject });
|
|
4632
4641
|
}
|
|
4633
4642
|
const id = (_b = (_a = runtime.Current.page) === null || _a === void 0 ? void 0 : _a.path) === null || _b === void 0 ? void 0 : _b.replace(/([^a-z0-9\u00a0-\uffff_-])/ig, '\\$1');
|
|
4634
4643
|
const el = (id
|
|
@@ -4682,7 +4691,7 @@ const pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300,
|
|
|
4682
4691
|
}, FRAME_DURATION);
|
|
4683
4692
|
}
|
|
4684
4693
|
else {
|
|
4685
|
-
return handle.success({}, resolve);
|
|
4694
|
+
return handle.success({}, { resolve, reject });
|
|
4686
4695
|
}
|
|
4687
4696
|
};
|
|
4688
4697
|
scroll();
|
|
@@ -4690,7 +4699,7 @@ const pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300,
|
|
|
4690
4699
|
catch (e) {
|
|
4691
4700
|
return handle.fail({
|
|
4692
4701
|
errMsg: e.message
|
|
4693
|
-
}, reject);
|
|
4702
|
+
}, { resolve, reject });
|
|
4694
4703
|
}
|
|
4695
4704
|
});
|
|
4696
4705
|
};
|
|
@@ -4727,8 +4736,8 @@ const showTabBarRedDot = (options) => {
|
|
|
4727
4736
|
return new Promise((resolve, reject) => {
|
|
4728
4737
|
Taro__default["default"].eventCenter.trigger('__taroShowTabBarRedDotHandler', {
|
|
4729
4738
|
index,
|
|
4730
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4731
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4739
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4740
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4732
4741
|
});
|
|
4733
4742
|
});
|
|
4734
4743
|
};
|
|
@@ -4757,8 +4766,8 @@ const showTabBar = (options = {}) => {
|
|
|
4757
4766
|
return new Promise((resolve, reject) => {
|
|
4758
4767
|
Taro__default["default"].eventCenter.trigger('__taroShowTabBar', {
|
|
4759
4768
|
animation,
|
|
4760
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4761
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4769
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4770
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4762
4771
|
});
|
|
4763
4772
|
});
|
|
4764
4773
|
};
|
|
@@ -4809,8 +4818,8 @@ const setTabBarStyle = (options = {}) => {
|
|
|
4809
4818
|
selectedColor,
|
|
4810
4819
|
backgroundColor,
|
|
4811
4820
|
borderStyle,
|
|
4812
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4813
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4821
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4822
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4814
4823
|
});
|
|
4815
4824
|
});
|
|
4816
4825
|
};
|
|
@@ -4842,8 +4851,8 @@ const setTabBarItem = (options) => {
|
|
|
4842
4851
|
text,
|
|
4843
4852
|
iconPath,
|
|
4844
4853
|
selectedIconPath,
|
|
4845
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4846
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4854
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4855
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4847
4856
|
});
|
|
4848
4857
|
});
|
|
4849
4858
|
};
|
|
@@ -4882,8 +4891,8 @@ const setTabBarBadge = (options) => {
|
|
|
4882
4891
|
Taro__default["default"].eventCenter.trigger('__taroSetTabBarBadge', {
|
|
4883
4892
|
index,
|
|
4884
4893
|
text,
|
|
4885
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4886
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4894
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4895
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4887
4896
|
});
|
|
4888
4897
|
});
|
|
4889
4898
|
};
|
|
@@ -4912,8 +4921,8 @@ const removeTabBarBadge = (options) => {
|
|
|
4912
4921
|
return new Promise((resolve, reject) => {
|
|
4913
4922
|
Taro__default["default"].eventCenter.trigger('__taroRemoveTabBarBadge', {
|
|
4914
4923
|
index,
|
|
4915
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4916
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4924
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4925
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4917
4926
|
});
|
|
4918
4927
|
});
|
|
4919
4928
|
};
|
|
@@ -4942,8 +4951,8 @@ const hideTabBarRedDot = (options) => {
|
|
|
4942
4951
|
return new Promise((resolve, reject) => {
|
|
4943
4952
|
Taro__default["default"].eventCenter.trigger('__taroHideTabBarRedDotHandler', {
|
|
4944
4953
|
index,
|
|
4945
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4946
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4954
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4955
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4947
4956
|
});
|
|
4948
4957
|
});
|
|
4949
4958
|
};
|
|
@@ -4972,8 +4981,8 @@ const hideTabBar = (options = {}) => {
|
|
|
4972
4981
|
return new Promise((resolve, reject) => {
|
|
4973
4982
|
Taro__default["default"].eventCenter.trigger('__taroHideTabBar', {
|
|
4974
4983
|
animation,
|
|
4975
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4976
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4984
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4985
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4977
4986
|
});
|
|
4978
4987
|
});
|
|
4979
4988
|
};
|
|
@@ -5133,7 +5142,7 @@ function generateMediaQueryStr(descriptor) {
|
|
|
5133
5142
|
class MediaQueryObserver {
|
|
5134
5143
|
// 监听页面媒体查询变化情况
|
|
5135
5144
|
observe(descriptor, callback) {
|
|
5136
|
-
if (isFunction(callback)) {
|
|
5145
|
+
if (shared.isFunction(callback)) {
|
|
5137
5146
|
// 创建媒体查询对象
|
|
5138
5147
|
this._mediaQueryObserver = window.matchMedia(generateMediaQueryStr(descriptor));
|
|
5139
5148
|
// 监听器
|
|
@@ -5141,7 +5150,7 @@ class MediaQueryObserver {
|
|
|
5141
5150
|
callback({ matches: ev.matches });
|
|
5142
5151
|
};
|
|
5143
5152
|
callback({ matches: this._mediaQueryObserver.matches });
|
|
5144
|
-
// 兼容旧浏览器中MediaQueryList尚未继承于EventTarget导致不存在'addEventListener'
|
|
5153
|
+
// 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'addEventListener'
|
|
5145
5154
|
if ('addEventListener' in this._mediaQueryObserver) {
|
|
5146
5155
|
this._mediaQueryObserver.addEventListener('change', this._listener);
|
|
5147
5156
|
}
|
|
@@ -5153,7 +5162,7 @@ class MediaQueryObserver {
|
|
|
5153
5162
|
// 停止监听,销毁媒体查询对象
|
|
5154
5163
|
disconnect() {
|
|
5155
5164
|
if (this._mediaQueryObserver && this._listener) {
|
|
5156
|
-
// 兼容旧浏览器中MediaQueryList尚未继承于EventTarget导致不存在'removeEventListener'
|
|
5165
|
+
// 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'removeEventListener'
|
|
5157
5166
|
if ('removeEventListener' in this._mediaQueryObserver) {
|
|
5158
5167
|
this._mediaQueryObserver.removeEventListener('change', this._listener);
|
|
5159
5168
|
}
|
|
@@ -5389,9 +5398,9 @@ class SelectorQuery {
|
|
|
5389
5398
|
const _queueCb = this._queueCb;
|
|
5390
5399
|
res.forEach((item, index) => {
|
|
5391
5400
|
const cb = _queueCb[index];
|
|
5392
|
-
|
|
5401
|
+
shared.isFunction(cb) && cb.call(this, item);
|
|
5393
5402
|
});
|
|
5394
|
-
|
|
5403
|
+
shared.isFunction(cb) && cb.call(this, res);
|
|
5395
5404
|
});
|
|
5396
5405
|
return this;
|
|
5397
5406
|
}
|
|
@@ -5444,7 +5453,7 @@ const requirePlugin = permanentlyNotSupport('requirePlugin');
|
|
|
5444
5453
|
const pxTransform = function (size) {
|
|
5445
5454
|
const options = taro.config;
|
|
5446
5455
|
const baseFontSize = options.baseFontSize || 20;
|
|
5447
|
-
const designWidth = ((input = 0) =>
|
|
5456
|
+
const designWidth = ((input = 0) => shared.isFunction(options.designWidth)
|
|
5448
5457
|
? options.designWidth(input)
|
|
5449
5458
|
: options.designWidth);
|
|
5450
5459
|
const rootValue = (input = 0) => baseFontSize / options.deviceRatio[designWidth(input)] * 2;
|