@nokecy/qc-ui 1.0.78 → 1.0.80
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/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +11 -1
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +206 -74
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +23 -4
- package/dist/cjs/ag-grid-plus/storage/types.d.ts +6 -0
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +11 -1
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +206 -74
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +2 -1
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +23 -3
- package/dist/esm/ag-grid-plus/storage/types.d.ts +6 -0
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
|
@@ -107,6 +107,12 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
107
107
|
this.config = _objectSpread(_objectSpread({}, DEFAULT_CONFIG), config);
|
|
108
108
|
this.events = events;
|
|
109
109
|
|
|
110
|
+
// 如果配置中提供了 token,立即设置
|
|
111
|
+
if (config.token) {
|
|
112
|
+
this.authToken = config.token;
|
|
113
|
+
console.log('[SchemeSyncManager] 从配置中设置了初始 Token');
|
|
114
|
+
}
|
|
115
|
+
|
|
110
116
|
// 初始化空数据
|
|
111
117
|
this.allData = {
|
|
112
118
|
columnSchemes: {},
|
|
@@ -142,21 +148,147 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
142
148
|
return "".concat(this.config.apiBaseUrl).concat(this.config.syncApiPath);
|
|
143
149
|
}
|
|
144
150
|
|
|
151
|
+
/**
|
|
152
|
+
* 检查是否有有效的用户数据
|
|
153
|
+
* @private
|
|
154
|
+
*/
|
|
155
|
+
}, {
|
|
156
|
+
key: "hasValidData",
|
|
157
|
+
value: function hasValidData() {
|
|
158
|
+
var hasColumnSchemes = Object.keys(this.allData.columnSchemes).length > 0;
|
|
159
|
+
var hasQuerySchemes = Object.keys(this.allData.querySchemes).length > 0;
|
|
160
|
+
var hasCurrentSchemes = Object.keys(this.allData.currentSchemes).length > 0;
|
|
161
|
+
return hasColumnSchemes || hasQuerySchemes || hasCurrentSchemes;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* 重新加载数据(从服务器获取最新方案数据)
|
|
166
|
+
*/
|
|
167
|
+
}, {
|
|
168
|
+
key: "reloadData",
|
|
169
|
+
value: (function () {
|
|
170
|
+
var _reloadData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
171
|
+
var response, responseData, allSchemesData;
|
|
172
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
173
|
+
while (1) switch (_context.prev = _context.next) {
|
|
174
|
+
case 0:
|
|
175
|
+
console.log('[SchemeSyncManager] 重新加载数据...');
|
|
176
|
+
_context.prev = 1;
|
|
177
|
+
_context.next = 4;
|
|
178
|
+
return this.fetchWithRetry(this.getGetApiUrl(), {
|
|
179
|
+
method: 'GET',
|
|
180
|
+
headers: this.getHeaders()
|
|
181
|
+
});
|
|
182
|
+
case 4:
|
|
183
|
+
response = _context.sent;
|
|
184
|
+
_context.next = 7;
|
|
185
|
+
return response.json();
|
|
186
|
+
case 7:
|
|
187
|
+
responseData = _context.sent;
|
|
188
|
+
if (!(responseData.success !== undefined)) {
|
|
189
|
+
_context.next = 14;
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
if (responseData.success) {
|
|
193
|
+
_context.next = 11;
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
196
|
+
throw new Error('重新加载失败:服务器返回错误');
|
|
197
|
+
case 11:
|
|
198
|
+
allSchemesData = responseData.data;
|
|
199
|
+
_context.next = 19;
|
|
200
|
+
break;
|
|
201
|
+
case 14:
|
|
202
|
+
if (!(responseData.columnSchemes !== undefined)) {
|
|
203
|
+
_context.next = 18;
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
allSchemesData = responseData;
|
|
207
|
+
_context.next = 19;
|
|
208
|
+
break;
|
|
209
|
+
case 18:
|
|
210
|
+
throw new Error('重新加载失败:服务器返回的数据格式不正确');
|
|
211
|
+
case 19:
|
|
212
|
+
// 反序列化并更新数据
|
|
213
|
+
this.allData = this.deserializeSchemesData(allSchemesData);
|
|
214
|
+
this.lastSyncTime = allSchemesData.syncTime || Date.now();
|
|
215
|
+
console.log('[SchemeSyncManager] 数据重新加载成功:', {
|
|
216
|
+
columnSchemes: Object.keys(this.allData.columnSchemes).length,
|
|
217
|
+
querySchemes: Object.keys(this.allData.querySchemes).length,
|
|
218
|
+
syncTime: new Date(this.lastSyncTime).toISOString()
|
|
219
|
+
});
|
|
220
|
+
_context.next = 28;
|
|
221
|
+
break;
|
|
222
|
+
case 24:
|
|
223
|
+
_context.prev = 24;
|
|
224
|
+
_context.t0 = _context["catch"](1);
|
|
225
|
+
console.error('[SchemeSyncManager] 重新加载数据失败:', _context.t0);
|
|
226
|
+
throw _context.t0;
|
|
227
|
+
case 28:
|
|
228
|
+
case "end":
|
|
229
|
+
return _context.stop();
|
|
230
|
+
}
|
|
231
|
+
}, _callee, this, [[1, 24]]);
|
|
232
|
+
}));
|
|
233
|
+
function reloadData() {
|
|
234
|
+
return _reloadData.apply(this, arguments);
|
|
235
|
+
}
|
|
236
|
+
return reloadData;
|
|
237
|
+
}()
|
|
145
238
|
/**
|
|
146
239
|
* 设置认证 Token
|
|
147
240
|
* @param token 认证令牌 (通常是 Bearer Token)
|
|
241
|
+
* @param autoReload 是否在设置 token 后自动重新加载数据(默认 true)
|
|
148
242
|
*/
|
|
243
|
+
)
|
|
149
244
|
}, {
|
|
150
245
|
key: "setToken",
|
|
151
|
-
value: function
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
246
|
+
value: (function () {
|
|
247
|
+
var _setToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(token) {
|
|
248
|
+
var autoReload,
|
|
249
|
+
previousToken,
|
|
250
|
+
_args2 = arguments;
|
|
251
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
252
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
253
|
+
case 0:
|
|
254
|
+
autoReload = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : true;
|
|
255
|
+
previousToken = this.authToken;
|
|
256
|
+
this.authToken = token;
|
|
257
|
+
console.log('[SchemeSyncManager] Token 已更新');
|
|
258
|
+
|
|
259
|
+
// 如果已经初始化,且之前没有 token,现在有了 token,且数据为空,自动重新加载
|
|
260
|
+
if (!(autoReload && this.initialized && !previousToken && token && !this.hasValidData())) {
|
|
261
|
+
_context2.next = 14;
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
console.log('[SchemeSyncManager] 检测到首次设置 Token 且无数据,自动重新加载...');
|
|
265
|
+
_context2.prev = 6;
|
|
266
|
+
_context2.next = 9;
|
|
267
|
+
return this.reloadData();
|
|
268
|
+
case 9:
|
|
269
|
+
_context2.next = 14;
|
|
270
|
+
break;
|
|
271
|
+
case 11:
|
|
272
|
+
_context2.prev = 11;
|
|
273
|
+
_context2.t0 = _context2["catch"](6);
|
|
274
|
+
console.error('[SchemeSyncManager] Token 设置后自动重新加载失败:', _context2.t0);
|
|
275
|
+
// 不抛出错误,允许继续使用
|
|
276
|
+
case 14:
|
|
277
|
+
case "end":
|
|
278
|
+
return _context2.stop();
|
|
279
|
+
}
|
|
280
|
+
}, _callee2, this, [[6, 11]]);
|
|
281
|
+
}));
|
|
282
|
+
function setToken(_x) {
|
|
283
|
+
return _setToken.apply(this, arguments);
|
|
284
|
+
}
|
|
285
|
+
return setToken;
|
|
286
|
+
}()
|
|
156
287
|
/**
|
|
157
288
|
* 获取请求头(包含认证信息)
|
|
158
289
|
* @private
|
|
159
290
|
*/
|
|
291
|
+
)
|
|
160
292
|
}, {
|
|
161
293
|
key: "getHeaders",
|
|
162
294
|
value: function getHeaders() {
|
|
@@ -175,51 +307,51 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
175
307
|
}, {
|
|
176
308
|
key: "initialize",
|
|
177
309
|
value: (function () {
|
|
178
|
-
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
310
|
+
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
179
311
|
var response, responseData, allSchemesData;
|
|
180
|
-
return _regeneratorRuntime().wrap(function
|
|
181
|
-
while (1) switch (
|
|
312
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
313
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
182
314
|
case 0:
|
|
183
315
|
if (!this.initialized) {
|
|
184
|
-
|
|
316
|
+
_context3.next = 3;
|
|
185
317
|
break;
|
|
186
318
|
}
|
|
187
319
|
console.warn('[SchemeSyncManager] 已经初始化,跳过重复初始化');
|
|
188
|
-
return
|
|
320
|
+
return _context3.abrupt("return");
|
|
189
321
|
case 3:
|
|
190
|
-
|
|
191
|
-
|
|
322
|
+
_context3.prev = 3;
|
|
323
|
+
_context3.next = 6;
|
|
192
324
|
return this.fetchWithRetry(this.getGetApiUrl(), {
|
|
193
325
|
method: 'GET',
|
|
194
326
|
headers: this.getHeaders()
|
|
195
327
|
});
|
|
196
328
|
case 6:
|
|
197
|
-
response =
|
|
198
|
-
|
|
329
|
+
response = _context3.sent;
|
|
330
|
+
_context3.next = 9;
|
|
199
331
|
return response.json();
|
|
200
332
|
case 9:
|
|
201
|
-
responseData =
|
|
333
|
+
responseData = _context3.sent;
|
|
202
334
|
if (!(responseData.success !== undefined)) {
|
|
203
|
-
|
|
335
|
+
_context3.next = 16;
|
|
204
336
|
break;
|
|
205
337
|
}
|
|
206
338
|
if (responseData.success) {
|
|
207
|
-
|
|
339
|
+
_context3.next = 13;
|
|
208
340
|
break;
|
|
209
341
|
}
|
|
210
342
|
throw new Error('初始化失败:服务器返回错误');
|
|
211
343
|
case 13:
|
|
212
344
|
allSchemesData = responseData.data;
|
|
213
|
-
|
|
345
|
+
_context3.next = 21;
|
|
214
346
|
break;
|
|
215
347
|
case 16:
|
|
216
348
|
if (!(responseData.columnSchemes !== undefined)) {
|
|
217
|
-
|
|
349
|
+
_context3.next = 20;
|
|
218
350
|
break;
|
|
219
351
|
}
|
|
220
352
|
// 格式2: 直接返回 AllSchemesData
|
|
221
353
|
allSchemesData = responseData;
|
|
222
|
-
|
|
354
|
+
_context3.next = 21;
|
|
223
355
|
break;
|
|
224
356
|
case 20:
|
|
225
357
|
throw new Error('初始化失败:服务器返回的数据格式不正确');
|
|
@@ -238,18 +370,18 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
238
370
|
querySchemes: Object.keys(this.allData.querySchemes).length,
|
|
239
371
|
syncTime: new Date(this.lastSyncTime).toISOString()
|
|
240
372
|
});
|
|
241
|
-
|
|
373
|
+
_context3.next = 32;
|
|
242
374
|
break;
|
|
243
375
|
case 28:
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
console.error('[SchemeSyncManager] 初始化失败:',
|
|
247
|
-
throw
|
|
376
|
+
_context3.prev = 28;
|
|
377
|
+
_context3.t0 = _context3["catch"](3);
|
|
378
|
+
console.error('[SchemeSyncManager] 初始化失败:', _context3.t0);
|
|
379
|
+
throw _context3.t0;
|
|
248
380
|
case 32:
|
|
249
381
|
case "end":
|
|
250
|
-
return
|
|
382
|
+
return _context3.stop();
|
|
251
383
|
}
|
|
252
|
-
},
|
|
384
|
+
}, _callee3, this, [[3, 28]]);
|
|
253
385
|
}));
|
|
254
386
|
function initialize() {
|
|
255
387
|
return _initialize.apply(this, arguments);
|
|
@@ -423,31 +555,31 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
423
555
|
}, {
|
|
424
556
|
key: "syncNow",
|
|
425
557
|
value: (function () {
|
|
426
|
-
var _syncNow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
558
|
+
var _syncNow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
427
559
|
var _this$events$onSyncSt,
|
|
428
560
|
_this$events,
|
|
429
561
|
_this4 = this;
|
|
430
562
|
var _this$events$onSyncSu, _this$events3, _syncResult$conflicts, requestData, dirtyColumnGrids, dirtyQueryGrids, dirtyCurrentGrids, response, responseData, syncResult, _this$events$onConfli, _this$events2, _this$events$onSyncEr, _this$events4;
|
|
431
|
-
return _regeneratorRuntime().wrap(function
|
|
432
|
-
while (1) switch (
|
|
563
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
564
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
433
565
|
case 0:
|
|
434
566
|
if (!this.syncing) {
|
|
435
|
-
|
|
567
|
+
_context4.next = 3;
|
|
436
568
|
break;
|
|
437
569
|
}
|
|
438
570
|
console.log('[SchemeSyncManager] 正在同步中,跳过重复请求');
|
|
439
|
-
return
|
|
571
|
+
return _context4.abrupt("return");
|
|
440
572
|
case 3:
|
|
441
573
|
if (this.hasDirtyData()) {
|
|
442
|
-
|
|
574
|
+
_context4.next = 6;
|
|
443
575
|
break;
|
|
444
576
|
}
|
|
445
577
|
console.log('[SchemeSyncManager] 没有需要同步的数据');
|
|
446
|
-
return
|
|
578
|
+
return _context4.abrupt("return");
|
|
447
579
|
case 6:
|
|
448
580
|
this.syncing = true;
|
|
449
581
|
(_this$events$onSyncSt = (_this$events = this.events).onSyncStart) === null || _this$events$onSyncSt === void 0 || _this$events$onSyncSt.call(_this$events);
|
|
450
|
-
|
|
582
|
+
_context4.prev = 8;
|
|
451
583
|
// 构建同步请求数据
|
|
452
584
|
requestData = {
|
|
453
585
|
clientSyncTime: this.lastSyncTime
|
|
@@ -498,34 +630,34 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
498
630
|
}
|
|
499
631
|
|
|
500
632
|
// 发送同步请求
|
|
501
|
-
|
|
633
|
+
_context4.next = 19;
|
|
502
634
|
return this.fetchWithRetry(this.getSyncApiUrl(), {
|
|
503
635
|
method: 'POST',
|
|
504
636
|
headers: this.getHeaders(),
|
|
505
637
|
body: JSON.stringify(requestData)
|
|
506
638
|
});
|
|
507
639
|
case 19:
|
|
508
|
-
response =
|
|
509
|
-
|
|
640
|
+
response = _context4.sent;
|
|
641
|
+
_context4.next = 22;
|
|
510
642
|
return response.json();
|
|
511
643
|
case 22:
|
|
512
|
-
responseData =
|
|
644
|
+
responseData = _context4.sent;
|
|
513
645
|
if (!(responseData.success !== undefined)) {
|
|
514
|
-
|
|
646
|
+
_context4.next = 29;
|
|
515
647
|
break;
|
|
516
648
|
}
|
|
517
649
|
if (responseData.success) {
|
|
518
|
-
|
|
650
|
+
_context4.next = 26;
|
|
519
651
|
break;
|
|
520
652
|
}
|
|
521
653
|
throw new Error(responseData.error || '同步失败');
|
|
522
654
|
case 26:
|
|
523
655
|
syncResult = responseData;
|
|
524
|
-
|
|
656
|
+
_context4.next = 34;
|
|
525
657
|
break;
|
|
526
658
|
case 29:
|
|
527
659
|
if (!(responseData.syncTime !== undefined)) {
|
|
528
|
-
|
|
660
|
+
_context4.next = 33;
|
|
529
661
|
break;
|
|
530
662
|
}
|
|
531
663
|
// 格式2: 直接返回数据格式,构造一个兼容的结果对象
|
|
@@ -534,7 +666,7 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
534
666
|
syncTime: responseData.syncTime,
|
|
535
667
|
conflicts: responseData.conflicts
|
|
536
668
|
};
|
|
537
|
-
|
|
669
|
+
_context4.next = 34;
|
|
538
670
|
break;
|
|
539
671
|
case 33:
|
|
540
672
|
throw new Error('同步失败:服务器返回的数据格式不正确');
|
|
@@ -558,23 +690,23 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
558
690
|
syncTime: new Date(this.lastSyncTime).toISOString(),
|
|
559
691
|
conflicts: ((_syncResult$conflicts = syncResult.conflicts) === null || _syncResult$conflicts === void 0 ? void 0 : _syncResult$conflicts.length) || 0
|
|
560
692
|
});
|
|
561
|
-
|
|
693
|
+
_context4.next = 46;
|
|
562
694
|
break;
|
|
563
695
|
case 41:
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
console.error('[SchemeSyncManager] 同步失败:',
|
|
567
|
-
(_this$events$onSyncEr = (_this$events4 = this.events).onSyncError) === null || _this$events$onSyncEr === void 0 || _this$events$onSyncEr.call(_this$events4,
|
|
568
|
-
throw
|
|
696
|
+
_context4.prev = 41;
|
|
697
|
+
_context4.t0 = _context4["catch"](8);
|
|
698
|
+
console.error('[SchemeSyncManager] 同步失败:', _context4.t0);
|
|
699
|
+
(_this$events$onSyncEr = (_this$events4 = this.events).onSyncError) === null || _this$events$onSyncEr === void 0 || _this$events$onSyncEr.call(_this$events4, _context4.t0);
|
|
700
|
+
throw _context4.t0;
|
|
569
701
|
case 46:
|
|
570
|
-
|
|
702
|
+
_context4.prev = 46;
|
|
571
703
|
this.syncing = false;
|
|
572
|
-
return
|
|
704
|
+
return _context4.finish(46);
|
|
573
705
|
case 49:
|
|
574
706
|
case "end":
|
|
575
|
-
return
|
|
707
|
+
return _context4.stop();
|
|
576
708
|
}
|
|
577
|
-
},
|
|
709
|
+
}, _callee4, this, [[8, 41, 46, 49]]);
|
|
578
710
|
}));
|
|
579
711
|
function syncNow() {
|
|
580
712
|
return _syncNow.apply(this, arguments);
|
|
@@ -685,58 +817,58 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
685
817
|
* 带重试的 fetch 请求
|
|
686
818
|
*/
|
|
687
819
|
function () {
|
|
688
|
-
var _fetchWithRetry = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
820
|
+
var _fetchWithRetry = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(url, options) {
|
|
689
821
|
var retries,
|
|
690
822
|
controller,
|
|
691
823
|
timeoutId,
|
|
692
824
|
response,
|
|
693
|
-
|
|
694
|
-
return _regeneratorRuntime().wrap(function
|
|
695
|
-
while (1) switch (
|
|
825
|
+
_args5 = arguments;
|
|
826
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
827
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
696
828
|
case 0:
|
|
697
|
-
retries =
|
|
698
|
-
|
|
829
|
+
retries = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : this.config.maxRetries;
|
|
830
|
+
_context5.prev = 1;
|
|
699
831
|
controller = new AbortController();
|
|
700
832
|
timeoutId = setTimeout(function () {
|
|
701
833
|
return controller.abort();
|
|
702
834
|
}, this.config.requestTimeout);
|
|
703
|
-
|
|
835
|
+
_context5.next = 6;
|
|
704
836
|
return fetch(url, _objectSpread(_objectSpread({}, options), {}, {
|
|
705
837
|
signal: controller.signal
|
|
706
838
|
}));
|
|
707
839
|
case 6:
|
|
708
|
-
response =
|
|
840
|
+
response = _context5.sent;
|
|
709
841
|
clearTimeout(timeoutId);
|
|
710
842
|
if (response.ok) {
|
|
711
|
-
|
|
843
|
+
_context5.next = 10;
|
|
712
844
|
break;
|
|
713
845
|
}
|
|
714
846
|
throw new Error("HTTP ".concat(response.status, ": ").concat(response.statusText));
|
|
715
847
|
case 10:
|
|
716
|
-
return
|
|
848
|
+
return _context5.abrupt("return", response);
|
|
717
849
|
case 13:
|
|
718
|
-
|
|
719
|
-
|
|
850
|
+
_context5.prev = 13;
|
|
851
|
+
_context5.t0 = _context5["catch"](1);
|
|
720
852
|
if (!(retries > 0)) {
|
|
721
|
-
|
|
853
|
+
_context5.next = 20;
|
|
722
854
|
break;
|
|
723
855
|
}
|
|
724
|
-
console.warn("[SchemeSyncManager] \u8BF7\u6C42\u5931\u8D25\uFF0C\u91CD\u8BD5\u4E2D... (\u5269\u4F59 ".concat(retries, " \u6B21)"),
|
|
725
|
-
|
|
856
|
+
console.warn("[SchemeSyncManager] \u8BF7\u6C42\u5931\u8D25\uFF0C\u91CD\u8BD5\u4E2D... (\u5269\u4F59 ".concat(retries, " \u6B21)"), _context5.t0);
|
|
857
|
+
_context5.next = 19;
|
|
726
858
|
return new Promise(function (resolve) {
|
|
727
859
|
return setTimeout(resolve, 1000);
|
|
728
860
|
});
|
|
729
861
|
case 19:
|
|
730
|
-
return
|
|
862
|
+
return _context5.abrupt("return", this.fetchWithRetry(url, options, retries - 1));
|
|
731
863
|
case 20:
|
|
732
|
-
throw
|
|
864
|
+
throw _context5.t0;
|
|
733
865
|
case 21:
|
|
734
866
|
case "end":
|
|
735
|
-
return
|
|
867
|
+
return _context5.stop();
|
|
736
868
|
}
|
|
737
|
-
},
|
|
869
|
+
}, _callee5, this, [[1, 13]]);
|
|
738
870
|
}));
|
|
739
|
-
function fetchWithRetry(
|
|
871
|
+
function fetchWithRetry(_x2, _x3) {
|
|
740
872
|
return _fetchWithRetry.apply(this, arguments);
|
|
741
873
|
}
|
|
742
874
|
return fetchWithRetry;
|
|
@@ -61,8 +61,9 @@ export declare function hasUnsyncedData(): boolean;
|
|
|
61
61
|
/**
|
|
62
62
|
* 设置认证 Token
|
|
63
63
|
* @param token 认证令牌 (通常是 Bearer Token)
|
|
64
|
+
* @param autoReload 是否在设置 token 后自动重新加载数据(默认 true)
|
|
64
65
|
*/
|
|
65
|
-
export declare function setToken(token: string | null): void
|
|
66
|
+
export declare function setToken(token: string | null, autoReload?: boolean): Promise<void>;
|
|
66
67
|
/**
|
|
67
68
|
* 获取有未同步数据的表格列表
|
|
68
69
|
*/
|
|
@@ -251,15 +251,35 @@ export function hasUnsyncedData() {
|
|
|
251
251
|
/**
|
|
252
252
|
* 设置认证 Token
|
|
253
253
|
* @param token 认证令牌 (通常是 Bearer Token)
|
|
254
|
+
* @param autoReload 是否在设置 token 后自动重新加载数据(默认 true)
|
|
254
255
|
*/
|
|
255
|
-
export function setToken(
|
|
256
|
-
|
|
257
|
-
manager.setToken(token);
|
|
256
|
+
export function setToken(_x3) {
|
|
257
|
+
return _setToken.apply(this, arguments);
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
/**
|
|
261
261
|
* 获取有未同步数据的表格列表
|
|
262
262
|
*/
|
|
263
|
+
function _setToken() {
|
|
264
|
+
_setToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(token) {
|
|
265
|
+
var autoReload,
|
|
266
|
+
manager,
|
|
267
|
+
_args4 = arguments;
|
|
268
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
269
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
270
|
+
case 0:
|
|
271
|
+
autoReload = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : true;
|
|
272
|
+
manager = getGlobalSyncManager();
|
|
273
|
+
_context4.next = 4;
|
|
274
|
+
return manager.setToken(token, autoReload);
|
|
275
|
+
case 4:
|
|
276
|
+
case "end":
|
|
277
|
+
return _context4.stop();
|
|
278
|
+
}
|
|
279
|
+
}, _callee4);
|
|
280
|
+
}));
|
|
281
|
+
return _setToken.apply(this, arguments);
|
|
282
|
+
}
|
|
263
283
|
export function getUnsyncedGrids() {
|
|
264
284
|
var manager = getGlobalSyncManager();
|
|
265
285
|
return manager.getDirtyGridIds();
|
|
@@ -100,6 +100,12 @@ export type DirtyType = 'column' | 'query' | 'current';
|
|
|
100
100
|
export interface SyncConfig {
|
|
101
101
|
/** API 基础路径 */
|
|
102
102
|
apiBaseUrl: string;
|
|
103
|
+
/**
|
|
104
|
+
* 认证令牌(可选)
|
|
105
|
+
* 如果在初始化时提供,将在所有请求中自动添加 Authorization header
|
|
106
|
+
* 也可以稍后通过 setToken() 方法设置
|
|
107
|
+
*/
|
|
108
|
+
token?: string;
|
|
103
109
|
/**
|
|
104
110
|
* 获取方案API路径(可选)
|
|
105
111
|
* 默认值: '/api/v1/ag-grid-plus/schemes'
|