@tarojs/taro-h5 3.5.11 → 3.6.0-alpha.0
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/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 +84 -79
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.d.ts +2 -2
- package/dist/index.esm.js +83 -78
- 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 {
|
|
@@ -1512,7 +1517,7 @@ const setClipboardData = ({ data, success, fail, complete }) => __awaiter(void 0
|
|
|
1512
1517
|
* iOS < 10 的系统可能无法使用编程方式访问剪贴板,参考:
|
|
1513
1518
|
* https://stackoverflow.com/questions/34045777/copy-to-clipboard-using-javascript-in-ios/34046084
|
|
1514
1519
|
*/
|
|
1515
|
-
if (
|
|
1520
|
+
if (shared.isFunction(document.execCommand)) {
|
|
1516
1521
|
const textarea = document.createElement('textarea');
|
|
1517
1522
|
textarea.readOnly = true;
|
|
1518
1523
|
textarea.value = data;
|
|
@@ -1972,9 +1977,9 @@ const getLocationByW3CApi = (options) => {
|
|
|
1972
1977
|
/** 调用结果,自动补充 */
|
|
1973
1978
|
errMsg: ''
|
|
1974
1979
|
};
|
|
1975
|
-
handle.success(result, resolve);
|
|
1980
|
+
handle.success(result, { resolve, reject });
|
|
1976
1981
|
}, (error) => {
|
|
1977
|
-
handle.fail({ errMsg: error.message }, reject);
|
|
1982
|
+
handle.fail({ errMsg: error.message }, { resolve, reject });
|
|
1978
1983
|
}, positionOptions);
|
|
1979
1984
|
});
|
|
1980
1985
|
};
|
|
@@ -2072,7 +2077,7 @@ const chooseLocation = ({ success, fail, complete, mapOpts } = {}) => {
|
|
|
2072
2077
|
console.warn('chooseLocation api 依赖腾讯地图定位api,需要在 defineConstants 中配置 LOCATION_APIKEY');
|
|
2073
2078
|
return handle.fail({
|
|
2074
2079
|
errMsg: 'LOCATION_APIKEY needed'
|
|
2075
|
-
}, reject);
|
|
2080
|
+
}, { resolve, reject });
|
|
2076
2081
|
}
|
|
2077
2082
|
const onMessage = event => {
|
|
2078
2083
|
// 接收位置信息,用户选择确认位置点后选点组件会触发该事件,回传用户的位置信息
|
|
@@ -2091,14 +2096,14 @@ const chooseLocation = ({ success, fail, complete, mapOpts } = {}) => {
|
|
|
2091
2096
|
chooser.remove();
|
|
2092
2097
|
}, 300);
|
|
2093
2098
|
if (res) {
|
|
2094
|
-
return handle.fail(res, reject);
|
|
2099
|
+
return handle.fail(res, { resolve, reject });
|
|
2095
2100
|
}
|
|
2096
2101
|
else {
|
|
2097
2102
|
if (chooseLocation.latitude && chooseLocation.longitude) {
|
|
2098
|
-
return handle.success(chooseLocation, resolve);
|
|
2103
|
+
return handle.success(chooseLocation, { resolve, reject });
|
|
2099
2104
|
}
|
|
2100
2105
|
else {
|
|
2101
|
-
return handle.fail({}, reject);
|
|
2106
|
+
return handle.fail({}, { resolve, reject });
|
|
2102
2107
|
}
|
|
2103
2108
|
}
|
|
2104
2109
|
}, key, mapOpts);
|
|
@@ -2355,12 +2360,12 @@ const getImageInfo = (options) => {
|
|
|
2355
2360
|
width: image.naturalWidth,
|
|
2356
2361
|
height: image.naturalHeight,
|
|
2357
2362
|
path: getBase64Image(image) || src
|
|
2358
|
-
}, resolve);
|
|
2363
|
+
}, { resolve, reject });
|
|
2359
2364
|
};
|
|
2360
2365
|
image.onerror = (e) => {
|
|
2361
2366
|
handle.fail({
|
|
2362
2367
|
errMsg: e.message
|
|
2363
|
-
}, reject);
|
|
2368
|
+
}, { resolve, reject });
|
|
2364
2369
|
};
|
|
2365
2370
|
image.src = src;
|
|
2366
2371
|
});
|
|
@@ -2387,7 +2392,7 @@ const previewImage = (options) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
2387
2392
|
item.appendChild(div);
|
|
2388
2393
|
// Note: 等待图片加载完后返回,会导致轮播被卡住
|
|
2389
2394
|
resolve(item);
|
|
2390
|
-
if (
|
|
2395
|
+
if (shared.isFunction(loadFail)) {
|
|
2391
2396
|
image.addEventListener('error', (err) => {
|
|
2392
2397
|
loadFail({ errMsg: err.message });
|
|
2393
2398
|
});
|
|
@@ -2492,7 +2497,7 @@ const chooseImage = function (options) {
|
|
|
2492
2497
|
el.removeAttribute('capture');
|
|
2493
2498
|
}
|
|
2494
2499
|
}
|
|
2495
|
-
return new Promise(resolve => {
|
|
2500
|
+
return new Promise((resolve, reject) => {
|
|
2496
2501
|
const TaroMouseEvents = document.createEvent('MouseEvents');
|
|
2497
2502
|
TaroMouseEvents.initEvent('click', true, true);
|
|
2498
2503
|
if (el) {
|
|
@@ -2511,7 +2516,7 @@ const chooseImage = function (options) {
|
|
|
2511
2516
|
(_a = res.tempFilePaths) === null || _a === void 0 ? void 0 : _a.push(url);
|
|
2512
2517
|
(_b = res.tempFiles) === null || _b === void 0 ? void 0 : _b.push({ path: url, size: item.size, type: item.type, originalFileObj: item });
|
|
2513
2518
|
});
|
|
2514
|
-
handle.success(res, resolve);
|
|
2519
|
+
handle.success(res, { resolve, reject });
|
|
2515
2520
|
target.value = '';
|
|
2516
2521
|
}
|
|
2517
2522
|
};
|
|
@@ -2579,7 +2584,7 @@ const chooseVideo = (options) => {
|
|
|
2579
2584
|
inputEl.setAttribute('accept', 'video/*');
|
|
2580
2585
|
inputEl.setAttribute('style', 'position: fixed; top: -4000px; left: -3000px; z-index: -300;');
|
|
2581
2586
|
document.body.appendChild(inputEl);
|
|
2582
|
-
return new Promise(resolve => {
|
|
2587
|
+
return new Promise((resolve, reject) => {
|
|
2583
2588
|
const TaroMouseEvents = document.createEvent('MouseEvents');
|
|
2584
2589
|
TaroMouseEvents.initEvent('click', true, true);
|
|
2585
2590
|
inputEl.dispatchEvent(TaroMouseEvents);
|
|
@@ -2600,7 +2605,7 @@ const chooseVideo = (options) => {
|
|
|
2600
2605
|
res.size = event.total;
|
|
2601
2606
|
res.height = videoEl.videoHeight;
|
|
2602
2607
|
res.width = videoEl.videoHeight;
|
|
2603
|
-
return handle.success(res, resolve);
|
|
2608
|
+
return handle.success(res, { resolve, reject });
|
|
2604
2609
|
};
|
|
2605
2610
|
};
|
|
2606
2611
|
if (file) {
|
|
@@ -2881,13 +2886,13 @@ function _request(options) {
|
|
|
2881
2886
|
.then(data => {
|
|
2882
2887
|
res.statusCode = 200;
|
|
2883
2888
|
res.data = data;
|
|
2884
|
-
|
|
2885
|
-
|
|
2889
|
+
shared.isFunction(success) && success(res);
|
|
2890
|
+
shared.isFunction(complete) && complete(res);
|
|
2886
2891
|
return res;
|
|
2887
2892
|
})
|
|
2888
2893
|
.catch(err => {
|
|
2889
|
-
|
|
2890
|
-
|
|
2894
|
+
shared.isFunction(fail) && fail(err);
|
|
2895
|
+
shared.isFunction(complete) && complete(res);
|
|
2891
2896
|
return Promise.reject(err);
|
|
2892
2897
|
});
|
|
2893
2898
|
}
|
|
@@ -2955,13 +2960,13 @@ function _request(options) {
|
|
|
2955
2960
|
})
|
|
2956
2961
|
.then(data => {
|
|
2957
2962
|
res.data = data;
|
|
2958
|
-
|
|
2959
|
-
|
|
2963
|
+
shared.isFunction(success) && success(res);
|
|
2964
|
+
shared.isFunction(complete) && complete(res);
|
|
2960
2965
|
return res;
|
|
2961
2966
|
})
|
|
2962
2967
|
.catch(err => {
|
|
2963
|
-
|
|
2964
|
-
|
|
2968
|
+
shared.isFunction(fail) && fail(err);
|
|
2969
|
+
shared.isFunction(complete) && complete(res);
|
|
2965
2970
|
err.statusCode = res.statusCode;
|
|
2966
2971
|
err.errMsg = err.message;
|
|
2967
2972
|
return Promise.reject(err);
|
|
@@ -3150,14 +3155,14 @@ class SocketTask {
|
|
|
3150
3155
|
if (this.readyState !== 1) {
|
|
3151
3156
|
const res = { errMsg: 'SocketTask.send:fail SocketTask.readState is not OPEN' };
|
|
3152
3157
|
console.error(res.errMsg);
|
|
3153
|
-
|
|
3154
|
-
|
|
3158
|
+
shared.isFunction(fail) && fail(res);
|
|
3159
|
+
shared.isFunction(complete) && complete(res);
|
|
3155
3160
|
return Promise.reject(res);
|
|
3156
3161
|
}
|
|
3157
3162
|
this.ws.send(data);
|
|
3158
3163
|
const res = { errMsg: 'sendSocketMessage:ok' };
|
|
3159
|
-
|
|
3160
|
-
|
|
3164
|
+
shared.isFunction(success) && success(res);
|
|
3165
|
+
shared.isFunction(complete) && complete(res);
|
|
3161
3166
|
return Promise.resolve(res);
|
|
3162
3167
|
}
|
|
3163
3168
|
close(opts = {}) {
|
|
@@ -3169,8 +3174,8 @@ class SocketTask {
|
|
|
3169
3174
|
this._destroyWhenClose && this._destroyWhenClose();
|
|
3170
3175
|
this.ws.close();
|
|
3171
3176
|
const res = { errMsg: 'closeSocket:ok' };
|
|
3172
|
-
|
|
3173
|
-
|
|
3177
|
+
shared.isFunction(success) && success(res);
|
|
3178
|
+
shared.isFunction(complete) && complete(res);
|
|
3174
3179
|
return Promise.resolve(res);
|
|
3175
3180
|
}
|
|
3176
3181
|
onOpen(func) {
|
|
@@ -3228,13 +3233,13 @@ function connectSocket(options) {
|
|
|
3228
3233
|
correct: 'String',
|
|
3229
3234
|
wrong: url
|
|
3230
3235
|
})
|
|
3231
|
-
}, reject);
|
|
3236
|
+
}, { resolve, reject });
|
|
3232
3237
|
}
|
|
3233
3238
|
// options.url must be invalid
|
|
3234
3239
|
if (!url.startsWith('ws://') && !url.startsWith('wss://')) {
|
|
3235
3240
|
return handle.fail({
|
|
3236
3241
|
errMsg: `request:fail invalid url "${url}"`
|
|
3237
|
-
}, reject);
|
|
3242
|
+
}, { resolve, reject });
|
|
3238
3243
|
}
|
|
3239
3244
|
// protocols must be array
|
|
3240
3245
|
const _protocols = Array.isArray(protocols) ? protocols : null;
|
|
@@ -3242,7 +3247,7 @@ function connectSocket(options) {
|
|
|
3242
3247
|
if (socketTasks.length > 1) {
|
|
3243
3248
|
return handle.fail({
|
|
3244
3249
|
errMsg: '同时最多发起 2 个 socket 请求,更多请参考文档。'
|
|
3245
|
-
}, reject);
|
|
3250
|
+
}, { resolve, reject });
|
|
3246
3251
|
}
|
|
3247
3252
|
const task = new SocketTask(url, _protocols);
|
|
3248
3253
|
task._destroyWhenClose = function () {
|
|
@@ -4596,8 +4601,8 @@ const startPullDownRefresh = function ({ success, fail, complete } = {}) {
|
|
|
4596
4601
|
const handle = new MethodHandler({ name: 'startPullDownRefresh', success, fail, complete });
|
|
4597
4602
|
return new Promise((resolve, reject) => {
|
|
4598
4603
|
Taro__default["default"].eventCenter.trigger('__taroStartPullDownRefresh', {
|
|
4599
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4600
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4604
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4605
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4601
4606
|
});
|
|
4602
4607
|
});
|
|
4603
4608
|
};
|
|
@@ -4608,8 +4613,8 @@ const stopPullDownRefresh = function ({ success, fail, complete } = {}) {
|
|
|
4608
4613
|
const handle = new MethodHandler({ name: 'stopPullDownRefresh', success, fail, complete });
|
|
4609
4614
|
return new Promise((resolve, reject) => {
|
|
4610
4615
|
Taro__default["default"].eventCenter.trigger('__taroStopPullDownRefresh', {
|
|
4611
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4612
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4616
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4617
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4613
4618
|
});
|
|
4614
4619
|
});
|
|
4615
4620
|
};
|
|
@@ -4628,7 +4633,7 @@ const pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300,
|
|
|
4628
4633
|
if (scrollTop === undefined && !selector) {
|
|
4629
4634
|
return handle.fail({
|
|
4630
4635
|
errMsg: 'scrollTop" 或 "selector" 需要其之一'
|
|
4631
|
-
}, reject);
|
|
4636
|
+
}, { resolve, reject });
|
|
4632
4637
|
}
|
|
4633
4638
|
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
4639
|
const el = (id
|
|
@@ -4682,7 +4687,7 @@ const pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300,
|
|
|
4682
4687
|
}, FRAME_DURATION);
|
|
4683
4688
|
}
|
|
4684
4689
|
else {
|
|
4685
|
-
return handle.success({}, resolve);
|
|
4690
|
+
return handle.success({}, { resolve, reject });
|
|
4686
4691
|
}
|
|
4687
4692
|
};
|
|
4688
4693
|
scroll();
|
|
@@ -4690,7 +4695,7 @@ const pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300,
|
|
|
4690
4695
|
catch (e) {
|
|
4691
4696
|
return handle.fail({
|
|
4692
4697
|
errMsg: e.message
|
|
4693
|
-
}, reject);
|
|
4698
|
+
}, { resolve, reject });
|
|
4694
4699
|
}
|
|
4695
4700
|
});
|
|
4696
4701
|
};
|
|
@@ -4727,8 +4732,8 @@ const showTabBarRedDot = (options) => {
|
|
|
4727
4732
|
return new Promise((resolve, reject) => {
|
|
4728
4733
|
Taro__default["default"].eventCenter.trigger('__taroShowTabBarRedDotHandler', {
|
|
4729
4734
|
index,
|
|
4730
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4731
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4735
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4736
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4732
4737
|
});
|
|
4733
4738
|
});
|
|
4734
4739
|
};
|
|
@@ -4757,8 +4762,8 @@ const showTabBar = (options = {}) => {
|
|
|
4757
4762
|
return new Promise((resolve, reject) => {
|
|
4758
4763
|
Taro__default["default"].eventCenter.trigger('__taroShowTabBar', {
|
|
4759
4764
|
animation,
|
|
4760
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4761
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4765
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4766
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4762
4767
|
});
|
|
4763
4768
|
});
|
|
4764
4769
|
};
|
|
@@ -4809,8 +4814,8 @@ const setTabBarStyle = (options = {}) => {
|
|
|
4809
4814
|
selectedColor,
|
|
4810
4815
|
backgroundColor,
|
|
4811
4816
|
borderStyle,
|
|
4812
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4813
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4817
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4818
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4814
4819
|
});
|
|
4815
4820
|
});
|
|
4816
4821
|
};
|
|
@@ -4842,8 +4847,8 @@ const setTabBarItem = (options) => {
|
|
|
4842
4847
|
text,
|
|
4843
4848
|
iconPath,
|
|
4844
4849
|
selectedIconPath,
|
|
4845
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4846
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4850
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4851
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4847
4852
|
});
|
|
4848
4853
|
});
|
|
4849
4854
|
};
|
|
@@ -4882,8 +4887,8 @@ const setTabBarBadge = (options) => {
|
|
|
4882
4887
|
Taro__default["default"].eventCenter.trigger('__taroSetTabBarBadge', {
|
|
4883
4888
|
index,
|
|
4884
4889
|
text,
|
|
4885
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4886
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4890
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4891
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4887
4892
|
});
|
|
4888
4893
|
});
|
|
4889
4894
|
};
|
|
@@ -4912,8 +4917,8 @@ const removeTabBarBadge = (options) => {
|
|
|
4912
4917
|
return new Promise((resolve, reject) => {
|
|
4913
4918
|
Taro__default["default"].eventCenter.trigger('__taroRemoveTabBarBadge', {
|
|
4914
4919
|
index,
|
|
4915
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4916
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4920
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4921
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4917
4922
|
});
|
|
4918
4923
|
});
|
|
4919
4924
|
};
|
|
@@ -4942,8 +4947,8 @@ const hideTabBarRedDot = (options) => {
|
|
|
4942
4947
|
return new Promise((resolve, reject) => {
|
|
4943
4948
|
Taro__default["default"].eventCenter.trigger('__taroHideTabBarRedDotHandler', {
|
|
4944
4949
|
index,
|
|
4945
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4946
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4950
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4951
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4947
4952
|
});
|
|
4948
4953
|
});
|
|
4949
4954
|
};
|
|
@@ -4972,8 +4977,8 @@ const hideTabBar = (options = {}) => {
|
|
|
4972
4977
|
return new Promise((resolve, reject) => {
|
|
4973
4978
|
Taro__default["default"].eventCenter.trigger('__taroHideTabBar', {
|
|
4974
4979
|
animation,
|
|
4975
|
-
successHandler: (res = {}) => handle.success(res, resolve),
|
|
4976
|
-
errorHandler: (res = {}) => handle.fail(res, reject)
|
|
4980
|
+
successHandler: (res = {}) => handle.success(res, { resolve, reject }),
|
|
4981
|
+
errorHandler: (res = {}) => handle.fail(res, { resolve, reject })
|
|
4977
4982
|
});
|
|
4978
4983
|
});
|
|
4979
4984
|
};
|
|
@@ -5133,7 +5138,7 @@ function generateMediaQueryStr(descriptor) {
|
|
|
5133
5138
|
class MediaQueryObserver {
|
|
5134
5139
|
// 监听页面媒体查询变化情况
|
|
5135
5140
|
observe(descriptor, callback) {
|
|
5136
|
-
if (isFunction(callback)) {
|
|
5141
|
+
if (shared.isFunction(callback)) {
|
|
5137
5142
|
// 创建媒体查询对象
|
|
5138
5143
|
this._mediaQueryObserver = window.matchMedia(generateMediaQueryStr(descriptor));
|
|
5139
5144
|
// 监听器
|
|
@@ -5141,7 +5146,7 @@ class MediaQueryObserver {
|
|
|
5141
5146
|
callback({ matches: ev.matches });
|
|
5142
5147
|
};
|
|
5143
5148
|
callback({ matches: this._mediaQueryObserver.matches });
|
|
5144
|
-
// 兼容旧浏览器中MediaQueryList尚未继承于EventTarget导致不存在'addEventListener'
|
|
5149
|
+
// 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'addEventListener'
|
|
5145
5150
|
if ('addEventListener' in this._mediaQueryObserver) {
|
|
5146
5151
|
this._mediaQueryObserver.addEventListener('change', this._listener);
|
|
5147
5152
|
}
|
|
@@ -5153,7 +5158,7 @@ class MediaQueryObserver {
|
|
|
5153
5158
|
// 停止监听,销毁媒体查询对象
|
|
5154
5159
|
disconnect() {
|
|
5155
5160
|
if (this._mediaQueryObserver && this._listener) {
|
|
5156
|
-
// 兼容旧浏览器中MediaQueryList尚未继承于EventTarget导致不存在'removeEventListener'
|
|
5161
|
+
// 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'removeEventListener'
|
|
5157
5162
|
if ('removeEventListener' in this._mediaQueryObserver) {
|
|
5158
5163
|
this._mediaQueryObserver.removeEventListener('change', this._listener);
|
|
5159
5164
|
}
|
|
@@ -5389,9 +5394,9 @@ class SelectorQuery {
|
|
|
5389
5394
|
const _queueCb = this._queueCb;
|
|
5390
5395
|
res.forEach((item, index) => {
|
|
5391
5396
|
const cb = _queueCb[index];
|
|
5392
|
-
|
|
5397
|
+
shared.isFunction(cb) && cb.call(this, item);
|
|
5393
5398
|
});
|
|
5394
|
-
|
|
5399
|
+
shared.isFunction(cb) && cb.call(this, res);
|
|
5395
5400
|
});
|
|
5396
5401
|
return this;
|
|
5397
5402
|
}
|
|
@@ -5444,7 +5449,7 @@ const requirePlugin = permanentlyNotSupport('requirePlugin');
|
|
|
5444
5449
|
const pxTransform = function (size) {
|
|
5445
5450
|
const options = taro.config;
|
|
5446
5451
|
const baseFontSize = options.baseFontSize || 20;
|
|
5447
|
-
const designWidth = ((input = 0) =>
|
|
5452
|
+
const designWidth = ((input = 0) => shared.isFunction(options.designWidth)
|
|
5448
5453
|
? options.designWidth(input)
|
|
5449
5454
|
: options.designWidth);
|
|
5450
5455
|
const rootValue = (input = 0) => baseFontSize / options.deviceRatio[designWidth(input)] * 2;
|