@hylid/call 0.0.90011477778-dev.4 → 0.0.90011477778-dev.40

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.
Files changed (2) hide show
  1. package/lib/webCall.js +193 -81
  2. package/package.json +3 -3
package/lib/webCall.js CHANGED
@@ -1,6 +1,122 @@
1
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) {
3
+ return value instanceof P ? value : new P(function (resolve) {
4
+ resolve(value);
5
+ });
6
+ }
7
+ return new (P || (P = Promise))(function (resolve, reject) {
8
+ function fulfilled(value) {
9
+ try {
10
+ step(generator.next(value));
11
+ } catch (e) {
12
+ reject(e);
13
+ }
14
+ }
15
+ function rejected(value) {
16
+ try {
17
+ step(generator["throw"](value));
18
+ } catch (e) {
19
+ reject(e);
20
+ }
21
+ }
22
+ function step(result) {
23
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
24
+ }
25
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
26
+ });
27
+ };
28
+ var __generator = this && this.__generator || function (thisArg, body) {
29
+ var _ = {
30
+ label: 0,
31
+ sent: function sent() {
32
+ if (t[0] & 1) throw t[1];
33
+ return t[1];
34
+ },
35
+ trys: [],
36
+ ops: []
37
+ },
38
+ f,
39
+ y,
40
+ t,
41
+ g;
42
+ return g = {
43
+ next: verb(0),
44
+ "throw": verb(1),
45
+ "return": verb(2)
46
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
47
+ return this;
48
+ }), g;
49
+ function verb(n) {
50
+ return function (v) {
51
+ return step([n, v]);
52
+ };
53
+ }
54
+ function step(op) {
55
+ if (f) throw new TypeError("Generator is already executing.");
56
+ while (_) try {
57
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
58
+ if (y = 0, t) op = [op[0] & 2, t.value];
59
+ switch (op[0]) {
60
+ case 0:
61
+ case 1:
62
+ t = op;
63
+ break;
64
+ case 4:
65
+ _.label++;
66
+ return {
67
+ value: op[1],
68
+ done: false
69
+ };
70
+ case 5:
71
+ _.label++;
72
+ y = op[1];
73
+ op = [0];
74
+ continue;
75
+ case 7:
76
+ op = _.ops.pop();
77
+ _.trys.pop();
78
+ continue;
79
+ default:
80
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
81
+ _ = 0;
82
+ continue;
83
+ }
84
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
85
+ _.label = op[1];
86
+ break;
87
+ }
88
+ if (op[0] === 6 && _.label < t[1]) {
89
+ _.label = t[1];
90
+ t = op;
91
+ break;
92
+ }
93
+ if (t && _.label < t[2]) {
94
+ _.label = t[2];
95
+ _.ops.push(op);
96
+ break;
97
+ }
98
+ if (t[2]) _.ops.pop();
99
+ _.trys.pop();
100
+ continue;
101
+ }
102
+ op = body.call(thisArg, _);
103
+ } catch (e) {
104
+ op = [6, e];
105
+ y = 0;
106
+ } finally {
107
+ f = t = 0;
108
+ }
109
+ if (op[0] & 5) throw op[1];
110
+ return {
111
+ value: op[0] ? op[1] : void 0,
112
+ done: true
113
+ };
114
+ }
115
+ };
1
116
  import { CLIENT, client } from '@hylid/env';
2
117
  export var alipayJSBridge = function alipayJSBridge(cb) {
3
- if (window.AlipayJSBridge) return cb();
118
+ // @ts-ignore
119
+ if (window.AlipayJSBridge || window.atomicsdk) return cb();
4
120
  document.addEventListener('AlipayJSBridgeReady', function () {
5
121
  return cb();
6
122
  }, false);
@@ -12,12 +128,6 @@ export function webCall(apiName, options, config) {
12
128
  if (type === 'async') {
13
129
  if (client === CLIENT.HUAWEI_ATOMIC) {
14
130
  // TDOO: 华为元服务“出境服务”通信实现
15
- // 对通信数据包装一层
16
- var atomicsdkParams = {
17
- code: 0,
18
- data: options.data && JSON.stringify(options.data),
19
- msg: 'success'
20
- };
21
131
  // @ts-ignore
22
132
  var isAtomicFn = window.atomicsdk.invokeMethod({
23
133
  appMethod: 'canIUse',
@@ -28,8 +138,18 @@ export function webCall(apiName, options, config) {
28
138
  // @ts-ignore
29
139
  window.atomicsdk.invokeMethod({
30
140
  appMethod: apiName,
31
- jsMethod: options.jsMethod,
32
- data: atomicsdkParams // 参数对象
141
+ jsMethod: "",
142
+ data: options || {} // 参数对象
143
+ }).then(function (res) {
144
+ var _a = options || {},
145
+ success = _a.success,
146
+ fail = _a.fail,
147
+ complete = _a.complete;
148
+ if (res.error || res.errorCode) {
149
+ fail === null || fail === void 0 ? void 0 : fail(res);
150
+ } else {
151
+ success === null || success === void 0 ? void 0 : success(res);
152
+ }
33
153
  });
34
154
  // @ts-ignore
35
155
  } else if (window[apiName]) {
@@ -60,81 +180,73 @@ export function webCall(apiName, options, config) {
60
180
  });
61
181
  }
62
182
  export function webCallAsync(apiName, options, config) {
183
+ var _this = this;
63
184
  return new Promise(function (resolve, reject) {
64
- var _a = options || {},
65
- success = _a.success,
66
- fail = _a.fail,
67
- complete = _a.complete;
68
- var _b = (config || {}).timeout,
69
- timeout = _b === void 0 ? 20000 : _b;
70
- var timer;
71
- if (timeout > 0) {
72
- timer = setTimeout(function () {
73
- var err = {
74
- error: -101,
75
- errorMessage: "[".concat(apiName, "]: Timeout")
76
- };
77
- reject(err);
78
- fail === null || fail === void 0 ? void 0 : fail(err);
79
- }, timeout);
80
- }
81
- if (client === CLIENT.HUAWEI_ATOMIC) {
82
- // TDOO: 华为元服务“出境服务”通信实现
83
- // 对通信数据包装一层
84
- var atomicsdkParams = {
85
- code: 0,
86
- data: options.data && JSON.stringify(options.data),
87
- msg: 'success'
88
- };
89
- // @ts-ignore
90
- var isAtomicFn = window.atomicsdk.invokeMethod({
91
- appMethod: 'canIUse',
92
- data: apiName
93
- });
94
- if (isAtomicFn) {
95
- // 出境服务存在此通信方法再调用
96
- // @ts-ignore
97
- window.atomicsdk.invokeMethod({
98
- appMethod: apiName,
99
- jsMethod: options.jsMethod,
100
- data: atomicsdkParams // 参数对象
101
- });
102
- if (options === null || options === void 0 ? void 0 : options.jsMethod) {
103
- // 生成一次性回调 id,防止并发冲突
104
- var cbId = 'cb_' + Date.now() + '_' + Math.random().toString(36).slice(2, 8);
105
- var cbName_1 = 'jsMethod' + cbId;
106
- // @ts-ignore
107
- window[cbName_1] = function (result) {
108
- // @ts-ignore
109
- delete window[cbName_1];
185
+ return __awaiter(_this, void 0, void 0, function () {
186
+ var _a, success, fail, complete, _b, timeout, timer, isAtomicFn, result;
187
+ return __generator(this, function (_c) {
188
+ switch (_c.label) {
189
+ case 0:
190
+ _a = options || {}, success = _a.success, fail = _a.fail, complete = _a.complete;
191
+ _b = (config || {}).timeout, timeout = _b === void 0 ? 20000 : _b;
192
+ if (timeout > 0) {
193
+ timer = setTimeout(function () {
194
+ var err = {
195
+ error: -101,
196
+ errorMessage: "[".concat(apiName, "]: Timeout")
197
+ };
198
+ reject(err);
199
+ fail === null || fail === void 0 ? void 0 : fail(err);
200
+ }, timeout);
201
+ }
202
+ if (!(client === CLIENT.HUAWEI_ATOMIC)) return [3 /*break*/, 4];
203
+ isAtomicFn = window.atomicsdk.invokeMethod({
204
+ appMethod: 'canIUse',
205
+ data: apiName
206
+ });
207
+ if (!isAtomicFn) return [3 /*break*/, 2];
208
+ return [4 /*yield*/, window.atomicsdk.invokeMethod({
209
+ appMethod: apiName,
210
+ jsMethod: "",
211
+ data: options || {} // 参数对象
212
+ })];
213
+ case 1:
214
+ result = _c.sent();
110
215
  resolve(result);
111
- };
112
- }
113
- // @ts-ignore
114
- } else if (window[apiName]) {
115
- // @ts-ignore
116
- window[apiName](options);
117
- } else {
118
- throw new Error('webCallAsync Error: apiName not found');
119
- }
120
- } else {
121
- window.AlipayJSBridge.call(apiName, options, function (res) {
122
- var _a = options || {},
123
- success = _a.success,
124
- fail = _a.fail,
125
- complete = _a.complete;
126
- if (timer) {
127
- clearTimeout(timer);
216
+ return [3 /*break*/, 3];
217
+ case 2:
218
+ if (window[apiName]) {
219
+ // @ts-ignore
220
+ window[apiName](options);
221
+ } else {
222
+ throw new Error('webCallAsync Error: apiName not found');
223
+ }
224
+ _c.label = 3;
225
+ case 3:
226
+ return [3 /*break*/, 5];
227
+ case 4:
228
+ window.AlipayJSBridge.call(apiName, options, function (res) {
229
+ var _a = options || {},
230
+ success = _a.success,
231
+ fail = _a.fail,
232
+ complete = _a.complete;
233
+ if (timer) {
234
+ clearTimeout(timer);
235
+ }
236
+ if (res === null || res === void 0 ? void 0 : res.error) {
237
+ reject(res);
238
+ fail === null || fail === void 0 ? void 0 : fail(res);
239
+ } else {
240
+ resolve(res);
241
+ success === null || success === void 0 ? void 0 : success(res);
242
+ }
243
+ complete === null || complete === void 0 ? void 0 : complete(res);
244
+ });
245
+ _c.label = 5;
246
+ case 5:
247
+ return [2 /*return*/];
128
248
  }
129
- if (res === null || res === void 0 ? void 0 : res.error) {
130
- reject(res);
131
- fail === null || fail === void 0 ? void 0 : fail(res);
132
- } else {
133
- resolve(res);
134
- success === null || success === void 0 ? void 0 : success(res);
135
- }
136
- complete === null || complete === void 0 ? void 0 : complete(res);
137
249
  });
138
- }
250
+ });
139
251
  });
140
252
  }
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@hylid/call",
3
- "version": "0.0.90011477778-dev.4",
3
+ "version": "0.0.90011477778-dev.40",
4
4
  "main": "lib/index.js",
5
5
  "files": [
6
6
  "lib"
7
7
  ],
8
8
  "dependencies": {
9
- "@hylid/env": "^0.0.90011477778-dev.4",
10
- "@hylid/types": "^0.0.90011477778-dev.4"
9
+ "@hylid/env": "^0.0.90011477778-dev.40",
10
+ "@hylid/types": "^0.0.90011477778-dev.40"
11
11
  },
12
12
  "publishConfig": {
13
13
  "access": "public"