antprotocol-websdk 1.0.7 → 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); // 记录错误
|
|
@@ -10005,29 +10070,41 @@ class ProtocolBasic {
|
|
|
10005
10070
|
*/
|
|
10006
10071
|
async getProtocolFromIndexedDB(key) {
|
|
10007
10072
|
return new Promise((resolve, reject) => {
|
|
10073
|
+
log.debug(`[IndexedDB读取] 开始读取 key: ${key}`);
|
|
10008
10074
|
const request = indexedDB.open("ProtocolDB", 1);
|
|
10009
10075
|
request.onupgradeneeded = (event) => {
|
|
10076
|
+
log.debug(`[IndexedDB读取] 触发 onupgradeneeded`);
|
|
10010
10077
|
const db = event.target.result;
|
|
10011
10078
|
if (!db.objectStoreNames.contains("protocols")) {
|
|
10012
10079
|
db.createObjectStore("protocols");
|
|
10080
|
+
log.debug(`[IndexedDB读取] 创建了新的 objectStore`);
|
|
10013
10081
|
}
|
|
10014
10082
|
};
|
|
10015
|
-
let result;
|
|
10016
10083
|
request.onsuccess = (event) => {
|
|
10017
10084
|
const db = event.target.result;
|
|
10085
|
+
log.debug(`[IndexedDB读取] 数据库打开成功, version: ${db.version}`);
|
|
10018
10086
|
const transaction = db.transaction("protocols", "readonly");
|
|
10019
10087
|
const store = transaction.objectStore("protocols");
|
|
10020
10088
|
const getRequest = store.get(key);
|
|
10021
|
-
getRequest.onsuccess = () =>
|
|
10022
|
-
|
|
10023
|
-
|
|
10089
|
+
getRequest.onsuccess = () => {
|
|
10090
|
+
const result = getRequest.result;
|
|
10091
|
+
log.debug(`[IndexedDB读取] 读取${result ? '成功' : '失败'}, key: ${key}, 有数据: ${!!result}`);
|
|
10092
|
+
if (result) {
|
|
10093
|
+
log.debug(`[IndexedDB读取] 数据详情: uniqueId=${result.uniqueId}, md5=${result.md5}`);
|
|
10094
|
+
}
|
|
10095
|
+
db.close();
|
|
10024
10096
|
resolve(result);
|
|
10025
10097
|
};
|
|
10026
|
-
|
|
10027
|
-
|
|
10098
|
+
getRequest.onerror = () => {
|
|
10099
|
+
log.error(`[IndexedDB读取] getRequest 错误: ${getRequest.error}`);
|
|
10100
|
+
db.close();
|
|
10101
|
+
reject(getRequest.error);
|
|
10028
10102
|
};
|
|
10029
10103
|
};
|
|
10030
|
-
request.onerror = () =>
|
|
10104
|
+
request.onerror = () => {
|
|
10105
|
+
log.error(`[IndexedDB读取] 数据库打开失败: ${request.error}`);
|
|
10106
|
+
reject(request.error);
|
|
10107
|
+
};
|
|
10031
10108
|
});
|
|
10032
10109
|
}
|
|
10033
10110
|
/**
|
|
@@ -10035,22 +10112,37 @@ class ProtocolBasic {
|
|
|
10035
10112
|
*/
|
|
10036
10113
|
async saveProtocolToIndexedDB(key, protocol) {
|
|
10037
10114
|
return new Promise((resolve, reject) => {
|
|
10115
|
+
log.debug(`[IndexedDB保存] 开始保存 key: ${key}, uniqueId: ${protocol.uniqueId}`);
|
|
10038
10116
|
const request = indexedDB.open("ProtocolDB", 1);
|
|
10039
10117
|
request.onupgradeneeded = (event) => {
|
|
10118
|
+
log.debug(`[IndexedDB保存] 触发 onupgradeneeded`);
|
|
10040
10119
|
const db = event.target.result;
|
|
10041
10120
|
if (!db.objectStoreNames.contains("protocols")) {
|
|
10042
10121
|
db.createObjectStore("protocols");
|
|
10122
|
+
log.debug(`[IndexedDB保存] 创建了新的 objectStore`);
|
|
10043
10123
|
}
|
|
10044
10124
|
};
|
|
10045
10125
|
request.onsuccess = (event) => {
|
|
10046
10126
|
const db = event.target.result;
|
|
10127
|
+
log.debug(`[IndexedDB保存] 数据库打开成功, version: ${db.version}`);
|
|
10047
10128
|
const transaction = db.transaction("protocols", "readwrite");
|
|
10048
10129
|
const store = transaction.objectStore("protocols");
|
|
10049
10130
|
const putRequest = store.put(protocol, key);
|
|
10050
|
-
putRequest.onsuccess = () =>
|
|
10051
|
-
|
|
10131
|
+
putRequest.onsuccess = () => {
|
|
10132
|
+
log.debug(`[IndexedDB保存] 保存成功 key: ${key}`);
|
|
10133
|
+
db.close();
|
|
10134
|
+
resolve();
|
|
10135
|
+
};
|
|
10136
|
+
putRequest.onerror = () => {
|
|
10137
|
+
log.error(`[IndexedDB保存] 保存失败: ${putRequest.error}`);
|
|
10138
|
+
db.close();
|
|
10139
|
+
reject(putRequest.error);
|
|
10140
|
+
};
|
|
10141
|
+
};
|
|
10142
|
+
request.onerror = () => {
|
|
10143
|
+
log.error(`[IndexedDB保存] 数据库打开失败: ${request.error}`);
|
|
10144
|
+
reject(request.error);
|
|
10052
10145
|
};
|
|
10053
|
-
request.onerror = () => reject(request.error);
|
|
10054
10146
|
});
|
|
10055
10147
|
}
|
|
10056
10148
|
/**
|
|
@@ -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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"}
|
package/package.json
CHANGED