antprotocol-websdk 1.0.0 → 1.0.1
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
|
@@ -9810,6 +9810,30 @@ const analysisCodeMap = buildAnalysisCodeMap();
|
|
|
9810
9810
|
* 协议核心实现抽象类
|
|
9811
9811
|
*/
|
|
9812
9812
|
class ProtocolBasic {
|
|
9813
|
+
/**
|
|
9814
|
+
* 判断当前是否为 Node 环境
|
|
9815
|
+
*/
|
|
9816
|
+
static isNode() {
|
|
9817
|
+
return typeof process !== "undefined" && process.versions != null && process.versions.node != null;
|
|
9818
|
+
}
|
|
9819
|
+
/**
|
|
9820
|
+
* 获取 LevelDB 实例
|
|
9821
|
+
*/
|
|
9822
|
+
static async getLevelDB() {
|
|
9823
|
+
if (!ProtocolBasic.levelDB) {
|
|
9824
|
+
if (ProtocolBasic.isNode()) {
|
|
9825
|
+
try {
|
|
9826
|
+
// @ts-ignore
|
|
9827
|
+
const { ClassicLevel } = await import(/* webpackIgnore: true */ "classic-level");
|
|
9828
|
+
ProtocolBasic.levelDB = new ClassicLevel("./antprotocol-db", { valueEncoding: "json" });
|
|
9829
|
+
}
|
|
9830
|
+
catch (error) {
|
|
9831
|
+
log.error("初始化 LevelDB 失败", error);
|
|
9832
|
+
}
|
|
9833
|
+
}
|
|
9834
|
+
}
|
|
9835
|
+
return ProtocolBasic.levelDB;
|
|
9836
|
+
}
|
|
9813
9837
|
/**
|
|
9814
9838
|
* 从API实时获取协议文件
|
|
9815
9839
|
*/
|
|
@@ -9882,6 +9906,9 @@ class ProtocolBasic {
|
|
|
9882
9906
|
* @returns
|
|
9883
9907
|
*/
|
|
9884
9908
|
async fetchLocalProtocol(key) {
|
|
9909
|
+
if (ProtocolBasic.isNode()) {
|
|
9910
|
+
return await this.getProtocolFromLevelDB(key);
|
|
9911
|
+
}
|
|
9885
9912
|
return await this.getProtocolFromIndexedDB(key); // 从 indexedDB 获取协议
|
|
9886
9913
|
}
|
|
9887
9914
|
/**
|
|
@@ -9928,7 +9955,12 @@ class ProtocolBasic {
|
|
|
9928
9955
|
* @param protocol
|
|
9929
9956
|
*/
|
|
9930
9957
|
async saveProtocol(key, protocol) {
|
|
9931
|
-
|
|
9958
|
+
if (ProtocolBasic.isNode()) {
|
|
9959
|
+
await this.saveProtocolToLevelDB(key, protocol);
|
|
9960
|
+
}
|
|
9961
|
+
else {
|
|
9962
|
+
await this.saveProtocolToIndexedDB(key, protocol); // 保存到 indexedDB
|
|
9963
|
+
}
|
|
9932
9964
|
}
|
|
9933
9965
|
/**
|
|
9934
9966
|
* 用于被渲染的Select数据
|
|
@@ -10022,6 +10054,46 @@ class ProtocolBasic {
|
|
|
10022
10054
|
request.onerror = () => reject(request.error);
|
|
10023
10055
|
});
|
|
10024
10056
|
}
|
|
10057
|
+
/**
|
|
10058
|
+
* 从 LevelDB 中获取协议数据
|
|
10059
|
+
*/
|
|
10060
|
+
async getProtocolFromLevelDB(key) {
|
|
10061
|
+
const db = await ProtocolBasic.getLevelDB();
|
|
10062
|
+
if (!db)
|
|
10063
|
+
return undefined;
|
|
10064
|
+
try {
|
|
10065
|
+
return await db.get(key);
|
|
10066
|
+
}
|
|
10067
|
+
catch (error) {
|
|
10068
|
+
if (error.code === "LEVEL_NOT_FOUND" || error.notFound) {
|
|
10069
|
+
return undefined;
|
|
10070
|
+
}
|
|
10071
|
+
throw error;
|
|
10072
|
+
}
|
|
10073
|
+
}
|
|
10074
|
+
/**
|
|
10075
|
+
* 将协议数据保存到 LevelDB
|
|
10076
|
+
*/
|
|
10077
|
+
async saveProtocolToLevelDB(key, protocol) {
|
|
10078
|
+
const db = await ProtocolBasic.getLevelDB();
|
|
10079
|
+
if (db) {
|
|
10080
|
+
await db.put(key, protocol);
|
|
10081
|
+
}
|
|
10082
|
+
}
|
|
10083
|
+
/**
|
|
10084
|
+
* 清空 LevelDB 缓存
|
|
10085
|
+
*/
|
|
10086
|
+
static async cleanLevelDBStore() {
|
|
10087
|
+
const db = await ProtocolBasic.getLevelDB();
|
|
10088
|
+
if (db) {
|
|
10089
|
+
try {
|
|
10090
|
+
await db.clear();
|
|
10091
|
+
}
|
|
10092
|
+
catch (error) {
|
|
10093
|
+
log.error("LevelDB 清空失败", error);
|
|
10094
|
+
}
|
|
10095
|
+
}
|
|
10096
|
+
}
|
|
10025
10097
|
/**
|
|
10026
10098
|
* 将协议数据保存到 indexedDB
|
|
10027
10099
|
*/
|
|
@@ -10049,6 +10121,10 @@ class ProtocolBasic {
|
|
|
10049
10121
|
* 清空缓存中的协议数据
|
|
10050
10122
|
*/
|
|
10051
10123
|
static cleanStore() {
|
|
10124
|
+
if (ProtocolBasic.isNode()) {
|
|
10125
|
+
ProtocolBasic.cleanLevelDBStore();
|
|
10126
|
+
return;
|
|
10127
|
+
}
|
|
10052
10128
|
const request = indexedDB.open("ProtocolDB", 1);
|
|
10053
10129
|
request.onsuccess = (event) => {
|
|
10054
10130
|
const db = event.target.result;
|
|
@@ -7,6 +7,18 @@ export default abstract class ProtocolBasic implements ProtocolInterface {
|
|
|
7
7
|
* 获取协议类型
|
|
8
8
|
*/
|
|
9
9
|
abstract getProtocolType(): DeviceType;
|
|
10
|
+
/**
|
|
11
|
+
* Node 环境下的 LevelDB 实例
|
|
12
|
+
*/
|
|
13
|
+
private static levelDB;
|
|
14
|
+
/**
|
|
15
|
+
* 判断当前是否为 Node 环境
|
|
16
|
+
*/
|
|
17
|
+
static isNode(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 获取 LevelDB 实例
|
|
20
|
+
*/
|
|
21
|
+
private static getLevelDB;
|
|
10
22
|
/**
|
|
11
23
|
* 本地存储的协议数据
|
|
12
24
|
*/
|
|
@@ -60,6 +72,18 @@ export default abstract class ProtocolBasic implements ProtocolInterface {
|
|
|
60
72
|
* 从 indexedDB 中获取协议数据
|
|
61
73
|
*/
|
|
62
74
|
private getProtocolFromIndexedDB;
|
|
75
|
+
/**
|
|
76
|
+
* 从 LevelDB 中获取协议数据
|
|
77
|
+
*/
|
|
78
|
+
private getProtocolFromLevelDB;
|
|
79
|
+
/**
|
|
80
|
+
* 将协议数据保存到 LevelDB
|
|
81
|
+
*/
|
|
82
|
+
private saveProtocolToLevelDB;
|
|
83
|
+
/**
|
|
84
|
+
* 清空 LevelDB 缓存
|
|
85
|
+
*/
|
|
86
|
+
private static cleanLevelDBStore;
|
|
63
87
|
/**
|
|
64
88
|
* 将协议数据保存到 indexedDB
|
|
65
89
|
*/
|
|
@@ -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;IAwB5E;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;YACW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"ProtocolBasic.d.ts","sourceRoot":"","sources":["../../../websdk/protocol/common/ProtocolBasic.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antprotocol-websdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "AntProtocol Web SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"license": "MIT",
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"buffer": "^6.0.3",
|
|
38
|
+
"classic-level": "^3.0.0",
|
|
38
39
|
"decimal.js": "^10.4.3",
|
|
39
40
|
"json-bigint": "^1.0.0"
|
|
40
41
|
},
|