tools-min-ns 1.5.2
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/README.md +85 -0
- package/esm/array/ArrayUtil.d.ts +109 -0
- package/esm/array/ArrayUtil.js +242 -0
- package/esm/array/TreeUtil.d.ts +151 -0
- package/esm/array/TreeUtil.js +412 -0
- package/esm/base/BaseUtil.d.ts +91 -0
- package/esm/base/BaseUtil.js +148 -0
- package/esm/browser/BrowserUtil.d.ts +57 -0
- package/esm/browser/BrowserUtil.js +337 -0
- package/esm/browser/fingerprint.d.ts +120 -0
- package/esm/browser/fingerprint.js +1469 -0
- package/esm/check/CheckUtil.d.ts +110 -0
- package/esm/check/CheckUtil.js +465 -0
- package/esm/common.d.ts +43 -0
- package/esm/common.js +44 -0
- package/esm/config.d.ts +7 -0
- package/esm/config.js +7 -0
- package/esm/cookie/CookieUtil.d.ts +56 -0
- package/esm/cookie/CookieUtil.js +12 -0
- package/esm/cookie/cookie.d.ts +2 -0
- package/esm/cookie/cookie.js +104 -0
- package/esm/date/DateUtil.d.ts +261 -0
- package/esm/date/DateUtil.js +763 -0
- package/esm/env/EnvUtil.d.ts +27 -0
- package/esm/env/EnvUtil.js +29 -0
- package/esm/env/env.d.ts +41 -0
- package/esm/env/env.js +106 -0
- package/esm/func/FunctionUtil.d.ts +77 -0
- package/esm/func/FunctionUtil.js +215 -0
- package/esm/index.d.ts +19 -0
- package/esm/index.js +19 -0
- package/esm/number/NumberUtil.d.ts +96 -0
- package/esm/number/NumberUtil.js +256 -0
- package/esm/object/ObjectUtil.d.ts +41 -0
- package/esm/object/ObjectUtil.js +158 -0
- package/esm/pwd/PasswordUtil.d.ts +33 -0
- package/esm/pwd/PasswordUtil.js +68 -0
- package/esm/pwd/crypto.d.ts +6 -0
- package/esm/pwd/crypto.js +1824 -0
- package/esm/request/RequestUtil.d.ts +52 -0
- package/esm/request/RequestUtil.js +53 -0
- package/esm/request/jsonp.d.ts +18 -0
- package/esm/request/jsonp.js +73 -0
- package/esm/request/mgop/env.d.ts +7 -0
- package/esm/request/mgop/env.js +15 -0
- package/esm/request/mgop/index.d.ts +3 -0
- package/esm/request/mgop/index.js +276 -0
- package/esm/request/mgop/responseCode.d.ts +20 -0
- package/esm/request/mgop/responseCode.js +37 -0
- package/esm/request/mgop/type.d.ts +34 -0
- package/esm/request/mgop/type.js +1 -0
- package/esm/request/uniRquest/index.d.ts +2 -0
- package/esm/request/uniRquest/index.js +66 -0
- package/esm/request/uniRquest/miniapp/index.d.ts +2 -0
- package/esm/request/uniRquest/miniapp/index.js +29 -0
- package/esm/request/uniRquest/miniapp-bytedance/index.d.ts +2 -0
- package/esm/request/uniRquest/miniapp-bytedance/index.js +41 -0
- package/esm/request/uniRquest/types.d.ts +65 -0
- package/esm/request/uniRquest/types.js +36 -0
- package/esm/request/uniRquest/utils.d.ts +9 -0
- package/esm/request/uniRquest/utils.js +69 -0
- package/esm/request/uniRquest/web/index.d.ts +2 -0
- package/esm/request/uniRquest/web/index.js +85 -0
- package/esm/request/uniRquest/wechat-miniprogram/index.d.ts +2 -0
- package/esm/request/uniRquest/wechat-miniprogram/index.js +41 -0
- package/esm/request/uniRquest/weex/index.d.ts +14 -0
- package/esm/request/uniRquest/weex/index.js +59 -0
- package/esm/storage/StorageUtil.d.ts +19 -0
- package/esm/storage/StorageUtil.js +75 -0
- package/esm/string/StringUtil.d.ts +392 -0
- package/esm/string/StringUtil.js +556 -0
- package/esm/system/SystemUtil.d.ts +46 -0
- package/esm/system/SystemUtil.js +122 -0
- package/esm/transfer/MapTransferUtil.d.ts +54 -0
- package/esm/transfer/MapTransferUtil.js +160 -0
- package/esm/transfer/TransferUtil.d.ts +98 -0
- package/esm/transfer/TransferUtil.js +323 -0
- package/esm/types.d.ts +25 -0
- package/esm/types.js +1 -0
- package/esm/url/UrlUtil.d.ts +30 -0
- package/esm/url/UrlUtil.js +85 -0
- package/lib/array/ArrayUtil.d.ts +109 -0
- package/lib/array/ArrayUtil.js +252 -0
- package/lib/array/TreeUtil.d.ts +151 -0
- package/lib/array/TreeUtil.js +422 -0
- package/lib/base/BaseUtil.d.ts +91 -0
- package/lib/base/BaseUtil.js +153 -0
- package/lib/browser/BrowserUtil.d.ts +57 -0
- package/lib/browser/BrowserUtil.js +347 -0
- package/lib/browser/fingerprint.d.ts +120 -0
- package/lib/browser/fingerprint.js +1500 -0
- package/lib/check/CheckUtil.d.ts +110 -0
- package/lib/check/CheckUtil.js +475 -0
- package/lib/common.d.ts +43 -0
- package/lib/common.js +50 -0
- package/lib/config.d.ts +7 -0
- package/lib/config.js +12 -0
- package/lib/cookie/CookieUtil.d.ts +56 -0
- package/lib/cookie/CookieUtil.js +22 -0
- package/lib/cookie/cookie.d.ts +2 -0
- package/lib/cookie/cookie.js +109 -0
- package/lib/date/DateUtil.d.ts +261 -0
- package/lib/date/DateUtil.js +773 -0
- package/lib/env/EnvUtil.d.ts +27 -0
- package/lib/env/EnvUtil.js +39 -0
- package/lib/env/env.d.ts +41 -0
- package/lib/env/env.js +112 -0
- package/lib/func/FunctionUtil.d.ts +77 -0
- package/lib/func/FunctionUtil.js +225 -0
- package/lib/index.d.ts +19 -0
- package/lib/index.js +144 -0
- package/lib/number/NumberUtil.d.ts +96 -0
- package/lib/number/NumberUtil.js +266 -0
- package/lib/object/ObjectUtil.d.ts +41 -0
- package/lib/object/ObjectUtil.js +168 -0
- package/lib/pwd/PasswordUtil.d.ts +33 -0
- package/lib/pwd/PasswordUtil.js +78 -0
- package/lib/pwd/crypto.d.ts +6 -0
- package/lib/pwd/crypto.js +1829 -0
- package/lib/request/RequestUtil.d.ts +52 -0
- package/lib/request/RequestUtil.js +94 -0
- package/lib/request/jsonp.d.ts +18 -0
- package/lib/request/jsonp.js +80 -0
- package/lib/request/mgop/env.d.ts +7 -0
- package/lib/request/mgop/env.js +21 -0
- package/lib/request/mgop/index.d.ts +3 -0
- package/lib/request/mgop/index.js +289 -0
- package/lib/request/mgop/responseCode.d.ts +20 -0
- package/lib/request/mgop/responseCode.js +42 -0
- package/lib/request/mgop/type.d.ts +34 -0
- package/lib/request/mgop/type.js +5 -0
- package/lib/request/uniRquest/index.d.ts +2 -0
- package/lib/request/uniRquest/index.js +77 -0
- package/lib/request/uniRquest/miniapp/index.d.ts +2 -0
- package/lib/request/uniRquest/miniapp/index.js +35 -0
- package/lib/request/uniRquest/miniapp-bytedance/index.d.ts +2 -0
- package/lib/request/uniRquest/miniapp-bytedance/index.js +47 -0
- package/lib/request/uniRquest/types.d.ts +65 -0
- package/lib/request/uniRquest/types.js +42 -0
- package/lib/request/uniRquest/utils.d.ts +9 -0
- package/lib/request/uniRquest/utils.js +83 -0
- package/lib/request/uniRquest/web/index.d.ts +2 -0
- package/lib/request/uniRquest/web/index.js +91 -0
- package/lib/request/uniRquest/wechat-miniprogram/index.d.ts +2 -0
- package/lib/request/uniRquest/wechat-miniprogram/index.js +47 -0
- package/lib/request/uniRquest/weex/index.d.ts +14 -0
- package/lib/request/uniRquest/weex/index.js +65 -0
- package/lib/storage/StorageUtil.d.ts +19 -0
- package/lib/storage/StorageUtil.js +85 -0
- package/lib/string/StringUtil.d.ts +392 -0
- package/lib/string/StringUtil.js +566 -0
- package/lib/system/SystemUtil.d.ts +46 -0
- package/lib/system/SystemUtil.js +132 -0
- package/lib/transfer/MapTransferUtil.d.ts +54 -0
- package/lib/transfer/MapTransferUtil.js +165 -0
- package/lib/transfer/TransferUtil.d.ts +98 -0
- package/lib/transfer/TransferUtil.js +333 -0
- package/lib/types.d.ts +25 -0
- package/lib/types.js +5 -0
- package/lib/url/UrlUtil.d.ts +30 -0
- package/lib/url/UrlUtil.js +95 -0
- package/package.json +56 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __importDefault = this && this.__importDefault || function (mod) {
|
|
4
|
+
return mod && mod.__esModule ? mod : {
|
|
5
|
+
"default": mod
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
var types_1 = require("./types");
|
|
12
|
+
var utils_1 = require("./utils");
|
|
13
|
+
var index_1 = __importDefault(require("./web/index"));
|
|
14
|
+
var index_2 = __importDefault(require("./weex/index"));
|
|
15
|
+
var index_3 = __importDefault(require("./miniapp/index"));
|
|
16
|
+
var index_4 = __importDefault(require("./wechat-miniprogram/index"));
|
|
17
|
+
var index_5 = __importDefault(require("./miniapp-bytedance/index"));
|
|
18
|
+
var EnvUtil_1 = __importDefault(require("../../env/EnvUtil"));
|
|
19
|
+
var isWeex = EnvUtil_1.default.isWeex,
|
|
20
|
+
isMiniApp = EnvUtil_1.default.isMiniApp,
|
|
21
|
+
isWeChatMiniProgram = EnvUtil_1.default.isWeChatMiniProgram,
|
|
22
|
+
isWeb = EnvUtil_1.default.isWeb,
|
|
23
|
+
isByteDanceMicroApp = EnvUtil_1.default.isByteDanceMicroApp;
|
|
24
|
+
function dutyChain() {
|
|
25
|
+
var fns = [];
|
|
26
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
27
|
+
fns[_i] = arguments[_i];
|
|
28
|
+
}
|
|
29
|
+
for (var i = 0; i < fns.length; i++) {
|
|
30
|
+
var result = fns[i]();
|
|
31
|
+
if (result) {
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function handleWeb(afterOptions) {
|
|
37
|
+
if (isWeb) {
|
|
38
|
+
var request = index_1.default;
|
|
39
|
+
return request(afterOptions);
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
function handleMiniApp(afterOptions) {
|
|
44
|
+
if (isMiniApp) {
|
|
45
|
+
var request = index_3.default;
|
|
46
|
+
return request(afterOptions);
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
function handleWeex(afterOptions) {
|
|
51
|
+
if (isWeex) {
|
|
52
|
+
var request = index_2.default;
|
|
53
|
+
return request(afterOptions);
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
function handleWeChatMiniprogram(afterOptions) {
|
|
58
|
+
if (isWeChatMiniProgram) {
|
|
59
|
+
var request = index_4.default;
|
|
60
|
+
return request(afterOptions);
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
function handleBytedanceMiniprogram(afterOptions) {
|
|
65
|
+
if (isByteDanceMicroApp) {
|
|
66
|
+
var request = index_5.default;
|
|
67
|
+
return request(afterOptions);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function default_1(options) {
|
|
71
|
+
var afterOptions = Object.assign({}, types_1.DEFAULT_REQUEST_OPTIONS, options, {
|
|
72
|
+
method: (options.method || 'GET').toUpperCase()
|
|
73
|
+
});
|
|
74
|
+
options.headers = (0, utils_1.normalizeHeaders)(options.headers || {});
|
|
75
|
+
return dutyChain(handleWeex.bind(null, afterOptions), handleWeb.bind(null, afterOptions), handleMiniApp.bind(null, afterOptions), handleBytedanceMiniprogram.bind(null, afterOptions), handleWeChatMiniprogram.bind(null, afterOptions));
|
|
76
|
+
}
|
|
77
|
+
exports.default = default_1;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var types_1 = require("../types");
|
|
7
|
+
var utils_1 = require("../utils");
|
|
8
|
+
function default_1(options) {
|
|
9
|
+
return new Promise(function (resolve, reject) {
|
|
10
|
+
var url = options.url,
|
|
11
|
+
method = options.method,
|
|
12
|
+
data = options.data,
|
|
13
|
+
dataType = options.dataType,
|
|
14
|
+
headers = options.headers,
|
|
15
|
+
timeout = options.timeout;
|
|
16
|
+
my.request({
|
|
17
|
+
url: url,
|
|
18
|
+
headers: headers,
|
|
19
|
+
method: method,
|
|
20
|
+
data: data,
|
|
21
|
+
timeout: timeout,
|
|
22
|
+
dataType: dataType,
|
|
23
|
+
success: function success(res) {
|
|
24
|
+
resolve(res);
|
|
25
|
+
},
|
|
26
|
+
fail: function fail(res) {
|
|
27
|
+
reject({
|
|
28
|
+
code: types_1.ERROR_REQUEST_ABORT.code,
|
|
29
|
+
message: (0, utils_1.object2json)(res)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
exports.default = default_1;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var types_1 = require("../types");
|
|
7
|
+
var utils_1 = require("../utils");
|
|
8
|
+
function default_1(options) {
|
|
9
|
+
return new Promise(function (resolve, reject) {
|
|
10
|
+
var url = options.url,
|
|
11
|
+
method = options.method,
|
|
12
|
+
data = options.data,
|
|
13
|
+
dataType = options.dataType,
|
|
14
|
+
headers = options.headers,
|
|
15
|
+
timeout = options.timeout;
|
|
16
|
+
var timeoutTimer;
|
|
17
|
+
var requestTask = tt.request({
|
|
18
|
+
url: url,
|
|
19
|
+
headers: headers,
|
|
20
|
+
method: method,
|
|
21
|
+
data: data,
|
|
22
|
+
timeout: timeout,
|
|
23
|
+
dataType: dataType,
|
|
24
|
+
success: function success(res) {
|
|
25
|
+
resolve(res);
|
|
26
|
+
},
|
|
27
|
+
fail: function fail(res) {
|
|
28
|
+
reject({
|
|
29
|
+
code: types_1.ERROR_REQUEST_ABORT.code,
|
|
30
|
+
message: (0, utils_1.object2json)(res)
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
complete: function complete() {
|
|
34
|
+
if (timeoutTimer) {
|
|
35
|
+
clearTimeout(timeoutTimer);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
if (timeout) {
|
|
40
|
+
timeoutTimer = setTimeout(function () {
|
|
41
|
+
requestTask.abort();
|
|
42
|
+
reject(types_1.ERROR_REQUEST_TIMEOUT);
|
|
43
|
+
}, timeout);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
exports.default = default_1;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common
|
|
3
|
+
*/
|
|
4
|
+
export declare enum DATA_TYPE {
|
|
5
|
+
json = "json",
|
|
6
|
+
text = "text"
|
|
7
|
+
}
|
|
8
|
+
export declare const DEFAULT_TIMEOUT = 20000;
|
|
9
|
+
export declare const DEFAULT_JSON_CALLBACK = "callback";
|
|
10
|
+
export declare const DEFAULT_JSONP_OPTIONS: {
|
|
11
|
+
timeout: number;
|
|
12
|
+
jsonpCallback: string;
|
|
13
|
+
dataType: DATA_TYPE;
|
|
14
|
+
};
|
|
15
|
+
export interface AsObject {
|
|
16
|
+
[key: string]: string | number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Request
|
|
20
|
+
*/
|
|
21
|
+
export interface JsonpOptions {
|
|
22
|
+
url: string;
|
|
23
|
+
timeout?: number;
|
|
24
|
+
dataType?: DATA_TYPE;
|
|
25
|
+
jsonpCallback?: string;
|
|
26
|
+
jsonpCallbackFunctionName?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface RequestOptions {
|
|
29
|
+
url: string;
|
|
30
|
+
headers?: AsObject;
|
|
31
|
+
method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD';
|
|
32
|
+
data?: AsObject;
|
|
33
|
+
timeout?: number;
|
|
34
|
+
dataType?: DATA_TYPE;
|
|
35
|
+
}
|
|
36
|
+
export interface InnerRequestOptions extends RequestOptions {
|
|
37
|
+
headers: AsObject;
|
|
38
|
+
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD';
|
|
39
|
+
data: AsObject;
|
|
40
|
+
timeout: number;
|
|
41
|
+
dataType: DATA_TYPE;
|
|
42
|
+
}
|
|
43
|
+
export declare const DEFAULT_REQUEST_OPTIONS: RequestOptions;
|
|
44
|
+
/**
|
|
45
|
+
* Response
|
|
46
|
+
*/
|
|
47
|
+
export interface ResponseData {
|
|
48
|
+
data: string | object;
|
|
49
|
+
headers?: AsObject;
|
|
50
|
+
status?: number;
|
|
51
|
+
}
|
|
52
|
+
export interface ResponseError extends ErrorData {
|
|
53
|
+
code: number;
|
|
54
|
+
message: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Error
|
|
58
|
+
*/
|
|
59
|
+
export interface ErrorData {
|
|
60
|
+
code: number;
|
|
61
|
+
message?: string;
|
|
62
|
+
}
|
|
63
|
+
export declare const ERROR_REQUEST_ABORT: ErrorData;
|
|
64
|
+
export declare const ERROR_REQUEST_TIMEOUT: ErrorData;
|
|
65
|
+
export declare const ERROR_REQUEST_NOT_SUPPORT: ErrorData;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ERROR_REQUEST_NOT_SUPPORT = exports.ERROR_REQUEST_TIMEOUT = exports.ERROR_REQUEST_ABORT = exports.DEFAULT_REQUEST_OPTIONS = exports.DEFAULT_JSONP_OPTIONS = exports.DEFAULT_JSON_CALLBACK = exports.DEFAULT_TIMEOUT = exports.DATA_TYPE = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Common
|
|
9
|
+
*/
|
|
10
|
+
var DATA_TYPE;
|
|
11
|
+
(function (DATA_TYPE) {
|
|
12
|
+
DATA_TYPE["json"] = "json";
|
|
13
|
+
DATA_TYPE["text"] = "text";
|
|
14
|
+
})(DATA_TYPE = exports.DATA_TYPE || (exports.DATA_TYPE = {}));
|
|
15
|
+
exports.DEFAULT_TIMEOUT = 20000;
|
|
16
|
+
exports.DEFAULT_JSON_CALLBACK = 'callback';
|
|
17
|
+
exports.DEFAULT_JSONP_OPTIONS = {
|
|
18
|
+
timeout: exports.DEFAULT_TIMEOUT,
|
|
19
|
+
jsonpCallback: exports.DEFAULT_JSON_CALLBACK,
|
|
20
|
+
dataType: DATA_TYPE.json
|
|
21
|
+
};
|
|
22
|
+
exports.DEFAULT_REQUEST_OPTIONS = {
|
|
23
|
+
url: '',
|
|
24
|
+
headers: {
|
|
25
|
+
'Content-Type': 'application/json'
|
|
26
|
+
},
|
|
27
|
+
method: 'GET',
|
|
28
|
+
timeout: exports.DEFAULT_TIMEOUT,
|
|
29
|
+
dataType: DATA_TYPE.json
|
|
30
|
+
};
|
|
31
|
+
exports.ERROR_REQUEST_ABORT = {
|
|
32
|
+
code: 0,
|
|
33
|
+
message: 'Request Abort'
|
|
34
|
+
};
|
|
35
|
+
exports.ERROR_REQUEST_TIMEOUT = {
|
|
36
|
+
code: 1,
|
|
37
|
+
message: 'Request timeout'
|
|
38
|
+
};
|
|
39
|
+
exports.ERROR_REQUEST_NOT_SUPPORT = {
|
|
40
|
+
code: 2,
|
|
41
|
+
message: 'Request not support this platform'
|
|
42
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DATA_TYPE, AsObject } from './types';
|
|
2
|
+
export declare function getDataWithType(data: any, type: DATA_TYPE): any;
|
|
3
|
+
export declare function stringifyQS(qs: AsObject): string;
|
|
4
|
+
export declare function applyParamToURL(param: AsObject | void, url: string): string;
|
|
5
|
+
export declare function object2json(obj: any): any;
|
|
6
|
+
export declare function isObject(obj: any): boolean;
|
|
7
|
+
export declare function normalizeHeaders(obj: AsObject): AsObject;
|
|
8
|
+
export declare function checkIsApplyDataToURL(headers: AsObject | undefined): boolean;
|
|
9
|
+
export declare function isPlainObject(obj: any): boolean;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isPlainObject = exports.checkIsApplyDataToURL = exports.normalizeHeaders = exports.isObject = exports.object2json = exports.applyParamToURL = exports.stringifyQS = exports.getDataWithType = void 0;
|
|
7
|
+
var types_1 = require("./types");
|
|
8
|
+
function getDataWithType(data, type) {
|
|
9
|
+
if (type === types_1.DATA_TYPE.json) {
|
|
10
|
+
try {
|
|
11
|
+
return JSON.parse(data);
|
|
12
|
+
} catch (e) {}
|
|
13
|
+
}
|
|
14
|
+
if (type === types_1.DATA_TYPE.text) {
|
|
15
|
+
try {
|
|
16
|
+
return JSON.stringify(data);
|
|
17
|
+
} catch (e) {}
|
|
18
|
+
}
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
exports.getDataWithType = getDataWithType;
|
|
22
|
+
function stringifyQS(qs) {
|
|
23
|
+
if (!qs) {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
var str = [];
|
|
27
|
+
for (var key in qs) {
|
|
28
|
+
if (qs[key] !== undefined && qs[key] !== null) {
|
|
29
|
+
str.push("".concat(key, "=").concat(encodeURIComponent(String(qs[key]))));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return str.join('&');
|
|
33
|
+
}
|
|
34
|
+
exports.stringifyQS = stringifyQS;
|
|
35
|
+
function applyParamToURL(param, url) {
|
|
36
|
+
if (!param) {
|
|
37
|
+
return url;
|
|
38
|
+
}
|
|
39
|
+
return "".concat(url).concat(url.indexOf('?') === -1 ? '?' : '&').concat(stringifyQS(param));
|
|
40
|
+
}
|
|
41
|
+
exports.applyParamToURL = applyParamToURL;
|
|
42
|
+
function object2json(obj) {
|
|
43
|
+
try {
|
|
44
|
+
return JSON.stringify(obj);
|
|
45
|
+
} catch (e) {
|
|
46
|
+
return obj || '';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.object2json = object2json;
|
|
50
|
+
function isObject(obj) {
|
|
51
|
+
return typeof obj === 'object' && obj !== null;
|
|
52
|
+
}
|
|
53
|
+
exports.isObject = isObject;
|
|
54
|
+
function normalizeHeaders(obj) {
|
|
55
|
+
if (!isObject(obj)) {
|
|
56
|
+
return obj;
|
|
57
|
+
}
|
|
58
|
+
var keyList = ['Accept', 'Content-Type'];
|
|
59
|
+
keyList.forEach(function (key) {
|
|
60
|
+
Object.keys(obj).some(function (headerKey) {
|
|
61
|
+
if (headerKey.toUpperCase() === key.toUpperCase() && headerKey !== key) {
|
|
62
|
+
obj[key] = obj[headerKey];
|
|
63
|
+
delete obj[headerKey];
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
return obj;
|
|
70
|
+
}
|
|
71
|
+
exports.normalizeHeaders = normalizeHeaders;
|
|
72
|
+
function checkIsApplyDataToURL(headers) {
|
|
73
|
+
if (!headers || !headers['Content-Type']) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
return String(headers['Content-Type']).toLowerCase().indexOf('application/x-www-form-urlencoded') > -1;
|
|
77
|
+
}
|
|
78
|
+
exports.checkIsApplyDataToURL = checkIsApplyDataToURL;
|
|
79
|
+
var EMPTY_OBJECT = {};
|
|
80
|
+
function isPlainObject(obj) {
|
|
81
|
+
return EMPTY_OBJECT.toString.call(obj) === '[object Object]';
|
|
82
|
+
}
|
|
83
|
+
exports.isPlainObject = isPlainObject;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var types_1 = require("../types");
|
|
7
|
+
var utils_1 = require("../utils");
|
|
8
|
+
function requestXHR(options) {
|
|
9
|
+
options.headers = Object.assign({
|
|
10
|
+
'Accept': 'application/json, text/plain, */*'
|
|
11
|
+
}, options.headers);
|
|
12
|
+
var _a = Object.assign({
|
|
13
|
+
withCredentials: true,
|
|
14
|
+
method: 'GET',
|
|
15
|
+
validateStatus: function validateStatus(status) {
|
|
16
|
+
return status >= 200 && status < 300 || status === 304;
|
|
17
|
+
}
|
|
18
|
+
}, options),
|
|
19
|
+
validateStatus = _a.validateStatus,
|
|
20
|
+
url = _a.url,
|
|
21
|
+
method = _a.method,
|
|
22
|
+
withCredentials = _a.withCredentials,
|
|
23
|
+
headers = _a.headers,
|
|
24
|
+
data = _a.data,
|
|
25
|
+
timeout = _a.timeout,
|
|
26
|
+
dataType = _a.dataType;
|
|
27
|
+
return new Promise(function (resolve, reject) {
|
|
28
|
+
var timer;
|
|
29
|
+
var requestData;
|
|
30
|
+
var xhr = new XMLHttpRequest();
|
|
31
|
+
var clean = function clean() {
|
|
32
|
+
clearTimeout(timer);
|
|
33
|
+
};
|
|
34
|
+
timer = window.setTimeout(function () {
|
|
35
|
+
clean();
|
|
36
|
+
reject(types_1.ERROR_REQUEST_TIMEOUT);
|
|
37
|
+
xhr.abort();
|
|
38
|
+
}, timeout);
|
|
39
|
+
xhr.onreadystatechange = function () {
|
|
40
|
+
if (!xhr || xhr.readyState !== 4) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
clean();
|
|
44
|
+
if (!validateStatus(xhr.status)) {
|
|
45
|
+
// TODO Detailed error message
|
|
46
|
+
return reject({
|
|
47
|
+
code: types_1.ERROR_REQUEST_ABORT.code,
|
|
48
|
+
message: "".concat(JSON.stringify({
|
|
49
|
+
status: xhr.status
|
|
50
|
+
}))
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
var headers = xhr.getAllResponseHeaders();
|
|
54
|
+
var arr = headers.trim().split(/[\r\n]+/);
|
|
55
|
+
var headerMap = {};
|
|
56
|
+
arr.forEach(function (line) {
|
|
57
|
+
var parts = line.split(': ');
|
|
58
|
+
var header = parts.shift();
|
|
59
|
+
var value = parts.join(': ');
|
|
60
|
+
headerMap[header] = value;
|
|
61
|
+
});
|
|
62
|
+
resolve({
|
|
63
|
+
data: xhr.response,
|
|
64
|
+
status: xhr.status,
|
|
65
|
+
headers: headerMap
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
xhr.responseType = dataType || '';
|
|
69
|
+
if (method === 'GET' || (0, utils_1.checkIsApplyDataToURL)(headers)) {
|
|
70
|
+
xhr.open(method, (0, utils_1.applyParamToURL)(data, url), true);
|
|
71
|
+
} else {
|
|
72
|
+
xhr.open(method, url, true);
|
|
73
|
+
}
|
|
74
|
+
xhr.withCredentials = withCredentials;
|
|
75
|
+
if (headers) {
|
|
76
|
+
Object.keys(headers || []).forEach(function (key) {
|
|
77
|
+
xhr.setRequestHeader(key, String(headers[key]));
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (method === 'GET') {
|
|
81
|
+
requestData = null;
|
|
82
|
+
} else {
|
|
83
|
+
requestData = data;
|
|
84
|
+
}
|
|
85
|
+
if ((0, utils_1.isObject)(requestData) && (0, utils_1.isPlainObject)(requestData)) {
|
|
86
|
+
requestData = (0, utils_1.object2json)(requestData);
|
|
87
|
+
}
|
|
88
|
+
xhr.send(requestData);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
exports.default = requestXHR;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var types_1 = require("../types");
|
|
7
|
+
var utils_1 = require("../utils");
|
|
8
|
+
function default_1(options) {
|
|
9
|
+
return new Promise(function (resolve, reject) {
|
|
10
|
+
var url = options.url,
|
|
11
|
+
method = options.method,
|
|
12
|
+
data = options.data,
|
|
13
|
+
dataType = options.dataType,
|
|
14
|
+
headers = options.headers,
|
|
15
|
+
timeout = options.timeout;
|
|
16
|
+
var timeoutTimer;
|
|
17
|
+
var requestTask = wx.request({
|
|
18
|
+
url: url,
|
|
19
|
+
header: headers,
|
|
20
|
+
method: method,
|
|
21
|
+
data: data,
|
|
22
|
+
timeout: timeout,
|
|
23
|
+
dataType: dataType,
|
|
24
|
+
success: function success(res) {
|
|
25
|
+
resolve(res);
|
|
26
|
+
},
|
|
27
|
+
fail: function fail(res) {
|
|
28
|
+
reject({
|
|
29
|
+
code: types_1.ERROR_REQUEST_ABORT.code,
|
|
30
|
+
message: (0, utils_1.object2json)(res)
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
complete: function complete() {
|
|
34
|
+
if (timeoutTimer) {
|
|
35
|
+
clearTimeout(timeoutTimer);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
if (timeout) {
|
|
40
|
+
timeoutTimer = setTimeout(function () {
|
|
41
|
+
requestTask.abort();
|
|
42
|
+
reject(types_1.ERROR_REQUEST_TIMEOUT);
|
|
43
|
+
}, timeout);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
exports.default = default_1;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RequestOptions, AsObject, ResponseData } from '../types';
|
|
2
|
+
export interface WeexRequestOptions extends RequestOptions {
|
|
3
|
+
body?: string;
|
|
4
|
+
type?: 'json' | 'text' | 'jsonp';
|
|
5
|
+
isJSONP?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface WeexResponse {
|
|
8
|
+
status: number;
|
|
9
|
+
ok: boolean;
|
|
10
|
+
statusText: string;
|
|
11
|
+
data: string;
|
|
12
|
+
headers: AsObject;
|
|
13
|
+
}
|
|
14
|
+
export default function weexRequest(options: WeexRequestOptions): Promise<ResponseData>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var types_1 = require("../types");
|
|
7
|
+
var utils_1 = require("../utils");
|
|
8
|
+
function weexRequest(options) {
|
|
9
|
+
var Stream = __weex_require__('@weex-module/stream');
|
|
10
|
+
return new Promise(function (resolve, reject) {
|
|
11
|
+
var requestOptions = Object.assign({}, options);
|
|
12
|
+
var url = requestOptions.url,
|
|
13
|
+
method = requestOptions.method,
|
|
14
|
+
data = requestOptions.data,
|
|
15
|
+
dataType = requestOptions.dataType,
|
|
16
|
+
headers = requestOptions.headers;
|
|
17
|
+
if (method === 'GET' && data || (0, utils_1.checkIsApplyDataToURL)(headers)) {
|
|
18
|
+
requestOptions.url = (0, utils_1.applyParamToURL)(data, url);
|
|
19
|
+
} else if (data) {
|
|
20
|
+
requestOptions.body = (0, utils_1.object2json)(data);
|
|
21
|
+
}
|
|
22
|
+
if (requestOptions.isJSONP) {
|
|
23
|
+
requestOptions.type = 'jsonp';
|
|
24
|
+
delete requestOptions.isJSONP;
|
|
25
|
+
} else if (dataType === types_1.DATA_TYPE.json) {
|
|
26
|
+
requestOptions.type = 'json';
|
|
27
|
+
} else {
|
|
28
|
+
requestOptions.type = 'text';
|
|
29
|
+
}
|
|
30
|
+
Stream.fetch(requestOptions, function (response) {
|
|
31
|
+
try {
|
|
32
|
+
if (typeof response === 'string') {
|
|
33
|
+
// parse the response(it is string in weex-android & obj in ios)
|
|
34
|
+
response = JSON.parse(response);
|
|
35
|
+
if (response.data && typeof response.data === 'string' && response.ok) {
|
|
36
|
+
try {
|
|
37
|
+
response.data = JSON.parse(response.data);
|
|
38
|
+
} catch (e) {
|
|
39
|
+
throw new Error('the response.data in not valid json');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (response.ok !== true) {
|
|
44
|
+
throw response;
|
|
45
|
+
}
|
|
46
|
+
resolve({
|
|
47
|
+
headers: response.headers,
|
|
48
|
+
status: response.status,
|
|
49
|
+
data: response.data
|
|
50
|
+
});
|
|
51
|
+
} catch (error) {
|
|
52
|
+
reject({
|
|
53
|
+
code: types_1.ERROR_REQUEST_ABORT.code,
|
|
54
|
+
message: (0, utils_1.object2json)(error)
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}, function (progress) {
|
|
58
|
+
if (progress.status === 'FAILED') reject({
|
|
59
|
+
code: types_1.ERROR_REQUEST_ABORT.code,
|
|
60
|
+
message: (0, utils_1.object2json)(progress)
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
exports.default = weexRequest;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SessionOpts } from "../types";
|
|
2
|
+
declare namespace StorageUtil {
|
|
3
|
+
function setItem<T>(name: string, data: T, opts?: SessionOpts): void;
|
|
4
|
+
function getItem<T>(name: string, opts?: SessionOpts): T;
|
|
5
|
+
function removeItem(name: string, opts?: SessionOpts): void;
|
|
6
|
+
function clear(opts?: SessionOpts): void;
|
|
7
|
+
function clearTitle(opts?: SessionOpts): void;
|
|
8
|
+
/**
|
|
9
|
+
* 设置全局缓存前缀
|
|
10
|
+
* @param str 缓存前缀
|
|
11
|
+
*/
|
|
12
|
+
const setGlobalTitle: (str: string) => void;
|
|
13
|
+
/**
|
|
14
|
+
* 设置全局缓存类型
|
|
15
|
+
* @param type "session" | "local"
|
|
16
|
+
*/
|
|
17
|
+
const setGlobalCacheType: (type: SessionOpts["type"]) => void;
|
|
18
|
+
}
|
|
19
|
+
export default StorageUtil;
|