uniapp-request-sdk 1.3.2 → 1.3.3

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.
@@ -0,0 +1,229 @@
1
+ function _classCallCheck(instance, Constructor) {
2
+ if (!(instance instanceof Constructor)) {
3
+ throw new TypeError("Cannot call a class as a function");
4
+ }
5
+ }
6
+ function _defineProperties(target, props) {
7
+ for (var i = 0; i < props.length; i++) {
8
+ var descriptor = props[i];
9
+ descriptor.enumerable = descriptor.enumerable || false;
10
+ descriptor.configurable = true;
11
+ if ("value" in descriptor) descriptor.writable = true;
12
+ Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
13
+ }
14
+ }
15
+ function _createClass(Constructor, protoProps, staticProps) {
16
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
17
+ if (staticProps) _defineProperties(Constructor, staticProps);
18
+ Object.defineProperty(Constructor, "prototype", {
19
+ writable: false
20
+ });
21
+ return Constructor;
22
+ }
23
+ function _toPrimitive(input, hint) {
24
+ if (typeof input !== "object" || input === null) return input;
25
+ var prim = input[Symbol.toPrimitive];
26
+ if (prim !== undefined) {
27
+ var res = prim.call(input, hint || "default");
28
+ if (typeof res !== "object") return res;
29
+ throw new TypeError("@@toPrimitive must return a primitive value.");
30
+ }
31
+ return (hint === "string" ? String : Number)(input);
32
+ }
33
+ function _toPropertyKey(arg) {
34
+ var key = _toPrimitive(arg, "string");
35
+ return typeof key === "symbol" ? key : String(key);
36
+ }
37
+
38
+ function requestPromise(options) {
39
+ return new Promise(function (res, rej) {
40
+ uni.request(Object.assign(Object.assign({}, options), {
41
+ success: res,
42
+ fail: rej
43
+ }));
44
+ });
45
+ }
46
+ /** 得到小程序的token */
47
+ function getToken(eventName) {
48
+ return new Promise(function (res, rej) {
49
+ var timeout = setTimeout(rej, 5000);
50
+ uni.sendNativeEvent(eventName, {}, function (resData) {
51
+ clearTimeout(timeout);
52
+ res(resData === null || resData === void 0 ? void 0 : resData.token);
53
+ });
54
+ });
55
+ }
56
+ var UniRequest = /*#__PURE__*/function () {
57
+ function UniRequest(params) {
58
+ var _this = this;
59
+ _classCallCheck(this, UniRequest);
60
+ /** 基准路径 */
61
+ this.baseUrl = '';
62
+ /** 错误处理函数 */
63
+ this.onErrorHandler = function (error) {
64
+ console.error(error);
65
+ };
66
+ this.maxRetryCount = 3;
67
+ /** 超时时间 */
68
+ this.timeout = 10000;
69
+ this.retryDelay = 3000;
70
+ this.tokenEventName = 'getLoginInfo';
71
+ if (params) {
72
+ Object.keys(params).forEach(function (key) {
73
+ if (params[key] !== void 0) {
74
+ _this[key] = params[key];
75
+ }
76
+ });
77
+ }
78
+ }
79
+ _createClass(UniRequest, [{
80
+ key: "rejectHandler",
81
+ value: function rejectHandler(rej, data) {
82
+ var _a;
83
+ rej(data);
84
+ (_a = this.onErrorHandler) === null || _a === void 0 ? void 0 : _a.call(this, data);
85
+ }
86
+ }, {
87
+ key: "setParams",
88
+ value: function setParams(params) {
89
+ var _this2 = this;
90
+ if (params) {
91
+ Object.keys(params).forEach(function (key) {
92
+ if (params[key] !== void 0) {
93
+ _this2[key] = params[key];
94
+ }
95
+ });
96
+ }
97
+ }
98
+ }, {
99
+ key: "request",
100
+ value: function request(params) {
101
+ var _this3 = this;
102
+ var url = params.url;
103
+ /** 如果是http开头的,则不需要加入baseUrl */
104
+ if (!/^https?:\/\//.test(url)) {
105
+ url = "".concat(this.baseUrl.replace(/\/$/, ''), "/").concat(params.url.replace(/^\//, ''), "?t=").concat(Date.now());
106
+ } else {
107
+ url = "".concat(params.url, "?t=").concat(Date.now());
108
+ }
109
+ var header = Object.assign(Object.assign(Object.assign({}, this.header), params.header), {
110
+ Authorization: "Bearer ".concat(this.token)
111
+ });
112
+ var requestedToken = false;
113
+ var retryCount = 0;
114
+ return new Promise(function (res, rej) {
115
+ var retryFucntion = function retryFucntion() {
116
+ requestPromise(Object.assign(Object.assign({}, params), {
117
+ header: header,
118
+ url: url,
119
+ timeout: _this3.timeout
120
+ })).then(function (resData) {
121
+ var statusCode = resData.statusCode,
122
+ data = resData.data;
123
+ if (statusCode === 200) {
124
+ if (!data.errno) {
125
+ res(data.data);
126
+ } else {
127
+ _this3.rejectHandler(rej, resData);
128
+ }
129
+ } else if (statusCode === 403 && !requestedToken) {
130
+ // #ifndef H5
131
+ getToken(_this3.tokenEventName).then(function (token) {
132
+ _this3.token = token;
133
+ requestedToken = true;
134
+ delayRetryFcuntion();
135
+ })["catch"](function () {
136
+ if (_this3.maxRetryCount > retryCount) {
137
+ delayRetryFcuntion();
138
+ } else {
139
+ _this3.rejectHandler(rej, resData);
140
+ }
141
+ });
142
+ // #endif
143
+ // #ifdef H5
144
+ _this3.rejectHandler(rej, resData);
145
+ // #endif
146
+ } else {
147
+ if (_this3.maxRetryCount > retryCount) {
148
+ delayRetryFcuntion();
149
+ } else {
150
+ _this3.rejectHandler(rej, resData);
151
+ }
152
+ }
153
+ })["catch"](function (rejData) {
154
+ if (_this3.maxRetryCount > retryCount) {
155
+ delayRetryFcuntion();
156
+ } else {
157
+ _this3.rejectHandler(rej, rejData);
158
+ }
159
+ });
160
+ };
161
+ var delayRetryFcuntion = function delayRetryFcuntion() {
162
+ setTimeout(function () {
163
+ retryCount++;
164
+ retryFucntion();
165
+ }, _this3.retryDelay);
166
+ };
167
+ retryFucntion();
168
+ });
169
+ }
170
+ /**
171
+ * post请求
172
+ * @param url
173
+ * @param data 可传可不传
174
+ * @param header
175
+ * @returns
176
+ */
177
+ }, {
178
+ key: "post",
179
+ value: function post(url) {
180
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
181
+ var header = arguments.length > 2 ? arguments[2] : undefined;
182
+ return this.request({
183
+ url: url,
184
+ data: data,
185
+ header: header,
186
+ method: 'POST'
187
+ });
188
+ }
189
+ }, {
190
+ key: "get",
191
+ value: function get(url) {
192
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
193
+ var header = arguments.length > 2 ? arguments[2] : undefined;
194
+ return this.request({
195
+ url: url,
196
+ data: data,
197
+ header: header,
198
+ method: 'GET'
199
+ });
200
+ }
201
+ }, {
202
+ key: "delete",
203
+ value: function _delete(url) {
204
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
205
+ var header = arguments.length > 2 ? arguments[2] : undefined;
206
+ return this.request({
207
+ url: url,
208
+ data: data,
209
+ header: header,
210
+ method: 'DELETE'
211
+ });
212
+ }
213
+ }, {
214
+ key: "put",
215
+ value: function put(url) {
216
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
217
+ var header = arguments.length > 2 ? arguments[2] : undefined;
218
+ return this.request({
219
+ url: url,
220
+ data: data,
221
+ header: header,
222
+ method: 'PUT'
223
+ });
224
+ }
225
+ }]);
226
+ return UniRequest;
227
+ }();
228
+
229
+ export { UniRequest as default };
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "uniapp-request-sdk",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "用于uniapp小程序的请求库的sdk",
5
- "main": "dist/index.umd.mini.js",
5
+ "main": "dist/index.esm.js",
6
6
  "typings": "dist/index.d.ts",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [
@@ -1,239 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["UNIAPP-REQUEST-SDK"] = {}));
5
- })(this, (function (exports) { 'use strict';
6
-
7
- function _classCallCheck(instance, Constructor) {
8
- if (!(instance instanceof Constructor)) {
9
- throw new TypeError("Cannot call a class as a function");
10
- }
11
- }
12
- function _defineProperties(target, props) {
13
- for (var i = 0; i < props.length; i++) {
14
- var descriptor = props[i];
15
- descriptor.enumerable = descriptor.enumerable || false;
16
- descriptor.configurable = true;
17
- if ("value" in descriptor) descriptor.writable = true;
18
- Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
19
- }
20
- }
21
- function _createClass(Constructor, protoProps, staticProps) {
22
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
23
- if (staticProps) _defineProperties(Constructor, staticProps);
24
- Object.defineProperty(Constructor, "prototype", {
25
- writable: false
26
- });
27
- return Constructor;
28
- }
29
- function _toPrimitive(input, hint) {
30
- if (typeof input !== "object" || input === null) return input;
31
- var prim = input[Symbol.toPrimitive];
32
- if (prim !== undefined) {
33
- var res = prim.call(input, hint || "default");
34
- if (typeof res !== "object") return res;
35
- throw new TypeError("@@toPrimitive must return a primitive value.");
36
- }
37
- return (hint === "string" ? String : Number)(input);
38
- }
39
- function _toPropertyKey(arg) {
40
- var key = _toPrimitive(arg, "string");
41
- return typeof key === "symbol" ? key : String(key);
42
- }
43
-
44
- function requestPromise(options) {
45
- return new Promise(function (res, rej) {
46
- uni.request(Object.assign(Object.assign({}, options), {
47
- success: res,
48
- fail: rej
49
- }));
50
- });
51
- }
52
- /** 得到小程序的token */
53
- function getToken(eventName) {
54
- return new Promise(function (res, rej) {
55
- var timeout = setTimeout(rej, 5000);
56
- uni.sendNativeEvent(eventName, {}, function (resData) {
57
- clearTimeout(timeout);
58
- res(resData === null || resData === void 0 ? void 0 : resData.token);
59
- });
60
- });
61
- }
62
- var UniRequest = /*#__PURE__*/function () {
63
- function UniRequest(params) {
64
- var _this = this;
65
- _classCallCheck(this, UniRequest);
66
- /** 基准路径 */
67
- this.baseUrl = '';
68
- /** 错误处理函数 */
69
- this.onErrorHandler = function (error) {
70
- console.error(error);
71
- };
72
- this.maxRetryCount = 3;
73
- /** 超时时间 */
74
- this.timeout = 10000;
75
- this.retryDelay = 3000;
76
- this.tokenEventName = 'getLoginInfo';
77
- if (params) {
78
- Object.keys(params).forEach(function (key) {
79
- if (params[key] !== void 0) {
80
- _this[key] = params[key];
81
- }
82
- });
83
- }
84
- }
85
- _createClass(UniRequest, [{
86
- key: "rejectHandler",
87
- value: function rejectHandler(rej, data) {
88
- var _a;
89
- rej(data);
90
- (_a = this.onErrorHandler) === null || _a === void 0 ? void 0 : _a.call(this, data);
91
- }
92
- }, {
93
- key: "setParams",
94
- value: function setParams(params) {
95
- var _this2 = this;
96
- if (params) {
97
- Object.keys(params).forEach(function (key) {
98
- if (params[key] !== void 0) {
99
- _this2[key] = params[key];
100
- }
101
- });
102
- }
103
- }
104
- }, {
105
- key: "request",
106
- value: function request(params) {
107
- var _this3 = this;
108
- var url = params.url;
109
- /** 如果是http开头的,则不需要加入baseUrl */
110
- if (!/^https?:\/\//.test(url)) {
111
- url = "".concat(this.baseUrl.replace(/\/$/, ''), "/").concat(params.url.replace(/^\//, ''), "?t=").concat(Date.now());
112
- } else {
113
- url = "".concat(params.url, "?t=").concat(Date.now());
114
- }
115
- var header = Object.assign(Object.assign(Object.assign({}, this.header), params.header), {
116
- Authorization: "Bearer ".concat(this.token)
117
- });
118
- var requestedToken = false;
119
- var retryCount = 0;
120
- return new Promise(function (res, rej) {
121
- var retryFucntion = function retryFucntion() {
122
- requestPromise(Object.assign(Object.assign({}, params), {
123
- header: header,
124
- url: url,
125
- timeout: _this3.timeout
126
- })).then(function (resData) {
127
- var statusCode = resData.statusCode,
128
- data = resData.data;
129
- if (statusCode === 200) {
130
- if (!data.errno) {
131
- res(data.data);
132
- } else {
133
- _this3.rejectHandler(rej, resData);
134
- }
135
- } else if (statusCode === 403 && !requestedToken) {
136
- // #ifndef H5
137
- getToken(_this3.tokenEventName).then(function (token) {
138
- _this3.token = token;
139
- requestedToken = true;
140
- delayRetryFcuntion();
141
- })["catch"](function () {
142
- if (_this3.maxRetryCount > retryCount) {
143
- delayRetryFcuntion();
144
- } else {
145
- _this3.rejectHandler(rej, resData);
146
- }
147
- });
148
- // #endif
149
- // #ifdef H5
150
- _this3.rejectHandler(rej, resData);
151
- // #endif
152
- } else {
153
- if (_this3.maxRetryCount > retryCount) {
154
- delayRetryFcuntion();
155
- } else {
156
- _this3.rejectHandler(rej, resData);
157
- }
158
- }
159
- })["catch"](function (rejData) {
160
- if (_this3.maxRetryCount > retryCount) {
161
- delayRetryFcuntion();
162
- } else {
163
- _this3.rejectHandler(rej, rejData);
164
- }
165
- });
166
- };
167
- var delayRetryFcuntion = function delayRetryFcuntion() {
168
- setTimeout(function () {
169
- retryCount++;
170
- retryFucntion();
171
- }, _this3.retryDelay);
172
- };
173
- retryFucntion();
174
- });
175
- }
176
- /**
177
- * post请求
178
- * @param url
179
- * @param data 可传可不传
180
- * @param header
181
- * @returns
182
- */
183
- }, {
184
- key: "post",
185
- value: function post(url) {
186
- var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
187
- var header = arguments.length > 2 ? arguments[2] : undefined;
188
- return this.request({
189
- url: url,
190
- data: data,
191
- header: header,
192
- method: 'POST'
193
- });
194
- }
195
- }, {
196
- key: "get",
197
- value: function get(url) {
198
- var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
199
- var header = arguments.length > 2 ? arguments[2] : undefined;
200
- return this.request({
201
- url: url,
202
- data: data,
203
- header: header,
204
- method: 'GET'
205
- });
206
- }
207
- }, {
208
- key: "delete",
209
- value: function _delete(url) {
210
- var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
211
- var header = arguments.length > 2 ? arguments[2] : undefined;
212
- return this.request({
213
- url: url,
214
- data: data,
215
- header: header,
216
- method: 'DELETE'
217
- });
218
- }
219
- }, {
220
- key: "put",
221
- value: function put(url) {
222
- var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
223
- var header = arguments.length > 2 ? arguments[2] : undefined;
224
- return this.request({
225
- url: url,
226
- data: data,
227
- header: header,
228
- method: 'PUT'
229
- });
230
- }
231
- }]);
232
- return UniRequest;
233
- }();
234
-
235
- exports["default"] = UniRequest;
236
-
237
- Object.defineProperty(exports, '__esModule', { value: true });
238
-
239
- }));