antprotocol-websdk 1.0.8 → 1.0.9
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/index.js
CHANGED
|
@@ -9853,22 +9853,85 @@ class ProtocolBasic {
|
|
|
9853
9853
|
if (forceRefresh) {
|
|
9854
9854
|
this.refreshCache();
|
|
9855
9855
|
}
|
|
9856
|
+
// 1. 如果缓存为空,尝试从本地加载 (仅在非强制刷新时自动加载)
|
|
9856
9857
|
if (ProtocolBasic.storeProtocols.length === 0) {
|
|
9858
|
+
await this.loadAllProtocolsFromLocal();
|
|
9859
|
+
}
|
|
9860
|
+
// 2. 准备更新逻辑
|
|
9861
|
+
const syncLogic = async () => {
|
|
9857
9862
|
const apiProtocols = await this.getListForApi();
|
|
9863
|
+
const newStoreProtocols = [];
|
|
9858
9864
|
for (const apiProtocol of apiProtocols) {
|
|
9859
9865
|
const key = `protocol_${apiProtocol.uniqueId}`;
|
|
9860
9866
|
const localProtocol = await this.fetchLocalProtocol(key);
|
|
9861
9867
|
// 检查本地是否存在协议
|
|
9862
9868
|
if (localProtocol) {
|
|
9863
|
-
await this.updateProtocolIfNeeded(apiProtocol, localProtocol, key);
|
|
9869
|
+
await this.updateProtocolIfNeeded(apiProtocol, localProtocol, key, newStoreProtocols);
|
|
9864
9870
|
}
|
|
9865
9871
|
else {
|
|
9866
|
-
await this.addNewProtocol(apiProtocol, key);
|
|
9872
|
+
await this.addNewProtocol(apiProtocol, key, newStoreProtocols);
|
|
9867
9873
|
}
|
|
9868
9874
|
}
|
|
9875
|
+
// 更新静态存储
|
|
9876
|
+
if (apiProtocols.length > 0) {
|
|
9877
|
+
ProtocolBasic.storeProtocols = newStoreProtocols;
|
|
9878
|
+
}
|
|
9879
|
+
};
|
|
9880
|
+
// 3. 执行更新
|
|
9881
|
+
if (forceRefresh) {
|
|
9882
|
+
await syncLogic();
|
|
9883
|
+
}
|
|
9884
|
+
else {
|
|
9885
|
+
// 异步执行,不阻塞返回
|
|
9886
|
+
syncLogic().catch((err) => log.error("同步协议失败:", err));
|
|
9869
9887
|
}
|
|
9870
9888
|
return this.getSelectList();
|
|
9871
9889
|
}
|
|
9890
|
+
/**
|
|
9891
|
+
* 从 IndexedDB 加载所有已存储的协议到内存
|
|
9892
|
+
*/
|
|
9893
|
+
async loadAllProtocolsFromLocal() {
|
|
9894
|
+
return new Promise((resolve) => {
|
|
9895
|
+
log.debug("[IndexedDB读取] 开始全量加载协议");
|
|
9896
|
+
const request = indexedDB.open("ProtocolDB", 1);
|
|
9897
|
+
request.onsuccess = (event) => {
|
|
9898
|
+
const db = event.target.result;
|
|
9899
|
+
try {
|
|
9900
|
+
if (!db.objectStoreNames.contains("protocols")) {
|
|
9901
|
+
db.close();
|
|
9902
|
+
resolve();
|
|
9903
|
+
return;
|
|
9904
|
+
}
|
|
9905
|
+
const transaction = db.transaction("protocols", "readonly");
|
|
9906
|
+
const store = transaction.objectStore("protocols");
|
|
9907
|
+
const getAllRequest = store.getAll();
|
|
9908
|
+
getAllRequest.onsuccess = () => {
|
|
9909
|
+
const results = getAllRequest.result;
|
|
9910
|
+
if (results && results.length > 0) {
|
|
9911
|
+
ProtocolBasic.storeProtocols = results;
|
|
9912
|
+
log.debug(`[IndexedDB读取] 成功加载 ${results.length} 条协议`);
|
|
9913
|
+
}
|
|
9914
|
+
db.close();
|
|
9915
|
+
resolve();
|
|
9916
|
+
};
|
|
9917
|
+
getAllRequest.onerror = () => {
|
|
9918
|
+
log.error(`[IndexedDB读取] getAllRequest 错误: ${getAllRequest.error}`);
|
|
9919
|
+
db.close();
|
|
9920
|
+
resolve();
|
|
9921
|
+
};
|
|
9922
|
+
}
|
|
9923
|
+
catch (e) {
|
|
9924
|
+
log.error("[IndexedDB读取] 加载失败", e);
|
|
9925
|
+
db.close();
|
|
9926
|
+
resolve();
|
|
9927
|
+
}
|
|
9928
|
+
};
|
|
9929
|
+
request.onerror = () => {
|
|
9930
|
+
log.error(`[IndexedDB读取] 数据库打开失败: ${request.error}`);
|
|
9931
|
+
resolve();
|
|
9932
|
+
};
|
|
9933
|
+
});
|
|
9934
|
+
}
|
|
9872
9935
|
/**
|
|
9873
9936
|
* 刷新协议缓存
|
|
9874
9937
|
*/
|
|
@@ -9889,34 +9952,36 @@ class ProtocolBasic {
|
|
|
9889
9952
|
* @param apiProtocol
|
|
9890
9953
|
* @param localProtocol
|
|
9891
9954
|
* @param key
|
|
9955
|
+
* @param targetStore 目标存储数组
|
|
9892
9956
|
*/
|
|
9893
|
-
async updateProtocolIfNeeded(apiProtocol, localProtocol, key) {
|
|
9957
|
+
async updateProtocolIfNeeded(apiProtocol, localProtocol, key, targetStore) {
|
|
9894
9958
|
if (localProtocol.md5.toLowerCase() !== apiProtocol.md5.toLowerCase()) {
|
|
9895
9959
|
log.debug(`[更新协议]${apiProtocol.name}|${apiProtocol.md5}`);
|
|
9896
9960
|
try {
|
|
9897
9961
|
const updatedProtocol = await this.getStoreProtocol(apiProtocol); // 获取更新后的协议
|
|
9898
9962
|
await this.saveProtocol(key, updatedProtocol); // 保存协议到本地存储
|
|
9899
|
-
|
|
9963
|
+
targetStore.push(updatedProtocol); // 更新目标协议列表
|
|
9900
9964
|
}
|
|
9901
9965
|
catch (error) {
|
|
9902
9966
|
log.error(error); // 记录错误
|
|
9903
9967
|
}
|
|
9904
9968
|
}
|
|
9905
9969
|
else {
|
|
9906
|
-
|
|
9970
|
+
targetStore.push(localProtocol); // 如果 md5 匹配,则直接添加到目标协议列表
|
|
9907
9971
|
}
|
|
9908
9972
|
}
|
|
9909
9973
|
/**
|
|
9910
9974
|
* 新增协议并存储到 storeProtocols 和本地缓存中
|
|
9911
9975
|
* @param apiProtocol
|
|
9912
9976
|
* @param key
|
|
9977
|
+
* @param targetStore 目标存储数组
|
|
9913
9978
|
*/
|
|
9914
|
-
async addNewProtocol(apiProtocol, key) {
|
|
9979
|
+
async addNewProtocol(apiProtocol, key, targetStore) {
|
|
9915
9980
|
log.debug(`[新增协议]${apiProtocol.name}|${apiProtocol.md5}`);
|
|
9916
9981
|
try {
|
|
9917
9982
|
const newProtocol = await this.getStoreProtocol(apiProtocol); // 获取新协议
|
|
9918
9983
|
await this.saveProtocol(key, newProtocol); // 保存协议到本地存储
|
|
9919
|
-
|
|
9984
|
+
targetStore.push(newProtocol); // 添加到目标协议列表
|
|
9920
9985
|
}
|
|
9921
9986
|
catch (error) {
|
|
9922
9987
|
log.error(error); // 记录错误
|
|
@@ -19,6 +19,10 @@ export default abstract class ProtocolBasic implements ProtocolInterface {
|
|
|
19
19
|
* 对外提供下载下拉框渲染的数据
|
|
20
20
|
*/
|
|
21
21
|
list(forceRefresh?: boolean | false): Promise<SelectProtocol[]>;
|
|
22
|
+
/**
|
|
23
|
+
* 从 IndexedDB 加载所有已存储的协议到内存
|
|
24
|
+
*/
|
|
25
|
+
private loadAllProtocolsFromLocal;
|
|
22
26
|
/**
|
|
23
27
|
* 刷新协议缓存
|
|
24
28
|
*/
|
|
@@ -34,12 +38,14 @@ export default abstract class ProtocolBasic implements ProtocolInterface {
|
|
|
34
38
|
* @param apiProtocol
|
|
35
39
|
* @param localProtocol
|
|
36
40
|
* @param key
|
|
41
|
+
* @param targetStore 目标存储数组
|
|
37
42
|
*/
|
|
38
43
|
private updateProtocolIfNeeded;
|
|
39
44
|
/**
|
|
40
45
|
* 新增协议并存储到 storeProtocols 和本地缓存中
|
|
41
46
|
* @param apiProtocol
|
|
42
47
|
* @param key
|
|
48
|
+
* @param targetStore 目标存储数组
|
|
43
49
|
*/
|
|
44
50
|
private addNewProtocol;
|
|
45
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolBasic.d.ts","sourceRoot":"","sources":["../../../websdk/protocol/common/ProtocolBasic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AA8DzD;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,aAAc,YAAW,iBAAiB;IACtE;;OAEG;aACa,eAAe,IAAI,UAAU;IAE7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc,CAAuB;IAEpD;;OAEG;YACW,aAAa;IAmC3B;;OAEG;IACU,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ProtocolBasic.d.ts","sourceRoot":"","sources":["../../../websdk/protocol/common/ProtocolBasic.ts"],"names":[],"mappings":"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"}
|