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