@smart-link/im-base 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.
Files changed (185) hide show
  1. package/REMAD.md +2 -0
  2. package/dist/DBAdapter.d.ts +60 -0
  3. package/dist/DBAdapter.js +151 -0
  4. package/dist/DBAdapter.js.map +1 -0
  5. package/dist/ImManager.d.ts +116 -0
  6. package/dist/ImManager.js +400 -0
  7. package/dist/ImManager.js.map +1 -0
  8. package/dist/api/api.config.d.ts +35 -0
  9. package/dist/api/api.config.js +40 -0
  10. package/dist/api/api.config.js.map +1 -0
  11. package/dist/api/index.d.ts +32 -0
  12. package/dist/api/index.js +29 -0
  13. package/dist/api/index.js.map +1 -0
  14. package/dist/constants.d.ts +192 -0
  15. package/dist/constants.js +181 -0
  16. package/dist/constants.js.map +1 -0
  17. package/dist/db/indexdb/index.d.ts +82 -0
  18. package/dist/db/indexdb/index.js +591 -0
  19. package/dist/db/indexdb/index.js.map +1 -0
  20. package/dist/db/indexdb/indexdb.config.d.ts +18 -0
  21. package/dist/db/indexdb/indexdb.config.js +117 -0
  22. package/dist/db/indexdb/indexdb.config.js.map +1 -0
  23. package/dist/db/sqlite/index.d.ts +65 -0
  24. package/dist/db/sqlite/index.js +687 -0
  25. package/dist/db/sqlite/index.js.map +1 -0
  26. package/dist/db/sqlite/scripts/db-script-1.0.0.d.ts +2 -0
  27. package/dist/db/sqlite/scripts/db-script-1.0.0.js +77 -0
  28. package/dist/db/sqlite/scripts/db-script-1.0.0.js.map +1 -0
  29. package/dist/db/sqlite/scripts/db-script-1.0.1.d.ts +2 -0
  30. package/dist/db/sqlite/scripts/db-script-1.0.1.js +7 -0
  31. package/dist/db/sqlite/scripts/db-script-1.0.1.js.map +1 -0
  32. package/dist/db/sqlite/sqlite.config.d.ts +11 -0
  33. package/dist/db/sqlite/sqlite.config.js +24 -0
  34. package/dist/db/sqlite/sqlite.config.js.map +1 -0
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.js +39 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/interface.d.ts +386 -0
  39. package/dist/interface.js +3 -0
  40. package/dist/interface.js.map +1 -0
  41. package/dist/locales/en/im.d.ts +3 -0
  42. package/dist/locales/en/im.js +305 -0
  43. package/dist/locales/en/im.js.map +1 -0
  44. package/dist/locales/index.d.ts +4 -0
  45. package/dist/locales/index.js +28 -0
  46. package/dist/locales/index.js.map +1 -0
  47. package/dist/locales/lao/im.d.ts +3 -0
  48. package/dist/locales/lao/im.js +305 -0
  49. package/dist/locales/lao/im.js.map +1 -0
  50. package/dist/locales/zh/im.d.ts +303 -0
  51. package/dist/locales/zh/im.js +307 -0
  52. package/dist/locales/zh/im.js.map +1 -0
  53. package/dist/slice/call/call.action.d.ts +1 -0
  54. package/dist/slice/call/call.action.js +518 -0
  55. package/dist/slice/call/call.action.js.map +1 -0
  56. package/dist/slice/call/call.slice.d.ts +29 -0
  57. package/dist/slice/call/call.slice.js +107 -0
  58. package/dist/slice/call/call.slice.js.map +1 -0
  59. package/dist/slice/collection/collection.action.d.ts +4 -0
  60. package/dist/slice/collection/collection.action.js +28 -0
  61. package/dist/slice/collection/collection.action.js.map +1 -0
  62. package/dist/slice/collection/collection.slice.d.ts +10 -0
  63. package/dist/slice/collection/collection.slice.js +33 -0
  64. package/dist/slice/collection/collection.slice.js.map +1 -0
  65. package/dist/slice/collection/index.d.ts +8 -0
  66. package/dist/slice/collection/index.js +30 -0
  67. package/dist/slice/collection/index.js.map +1 -0
  68. package/dist/slice/conversation/conversation.action.d.ts +47 -0
  69. package/dist/slice/conversation/conversation.action.js +507 -0
  70. package/dist/slice/conversation/conversation.action.js.map +1 -0
  71. package/dist/slice/conversation/conversation.slice.d.ts +39 -0
  72. package/dist/slice/conversation/conversation.slice.js +79 -0
  73. package/dist/slice/conversation/conversation.slice.js.map +1 -0
  74. package/dist/slice/conversation/index.d.ts +60 -0
  75. package/dist/slice/conversation/index.js +30 -0
  76. package/dist/slice/conversation/index.js.map +1 -0
  77. package/dist/slice/forward/forward.action.d.ts +8 -0
  78. package/dist/slice/forward/forward.action.js +100 -0
  79. package/dist/slice/forward/forward.action.js.map +1 -0
  80. package/dist/slice/forward/forward.slice.d.ts +17 -0
  81. package/dist/slice/forward/forward.slice.js +29 -0
  82. package/dist/slice/forward/forward.slice.js.map +1 -0
  83. package/dist/slice/forward/index.d.ts +11 -0
  84. package/dist/slice/forward/index.js +30 -0
  85. package/dist/slice/forward/index.js.map +1 -0
  86. package/dist/slice/getState.d.ts +8 -0
  87. package/dist/slice/getState.js +12 -0
  88. package/dist/slice/getState.js.map +1 -0
  89. package/dist/slice/group/group.action.d.ts +2 -0
  90. package/dist/slice/group/group.action.js +24 -0
  91. package/dist/slice/group/group.action.js.map +1 -0
  92. package/dist/slice/group/group.slice.d.ts +10 -0
  93. package/dist/slice/group/group.slice.js +33 -0
  94. package/dist/slice/group/group.slice.js.map +1 -0
  95. package/dist/slice/group/index.d.ts +8 -0
  96. package/dist/slice/group/index.js +32 -0
  97. package/dist/slice/group/index.js.map +1 -0
  98. package/dist/slice/index.d.ts +28 -0
  99. package/dist/slice/index.js +60 -0
  100. package/dist/slice/index.js.map +1 -0
  101. package/dist/slice/message/index.d.ts +47 -0
  102. package/dist/slice/message/index.js +31 -0
  103. package/dist/slice/message/index.js.map +1 -0
  104. package/dist/slice/message/message.action.d.ts +16 -0
  105. package/dist/slice/message/message.action.js +269 -0
  106. package/dist/slice/message/message.action.js.map +1 -0
  107. package/dist/slice/message/message.panel.action.d.ts +23 -0
  108. package/dist/slice/message/message.panel.action.js +234 -0
  109. package/dist/slice/message/message.panel.action.js.map +1 -0
  110. package/dist/slice/message/message.slice.d.ts +66 -0
  111. package/dist/slice/message/message.slice.js +119 -0
  112. package/dist/slice/message/message.slice.js.map +1 -0
  113. package/dist/slice/setting/index.d.ts +20 -0
  114. package/dist/slice/setting/index.js +31 -0
  115. package/dist/slice/setting/index.js.map +1 -0
  116. package/dist/slice/setting/setting.action.d.ts +8 -0
  117. package/dist/slice/setting/setting.action.js +94 -0
  118. package/dist/slice/setting/setting.action.js.map +1 -0
  119. package/dist/slice/setting/setting.slice.d.ts +18 -0
  120. package/dist/slice/setting/setting.slice.js +64 -0
  121. package/dist/slice/setting/setting.slice.js.map +1 -0
  122. package/dist/socket/emitter-call.d.ts +1 -0
  123. package/dist/socket/emitter-call.js +290 -0
  124. package/dist/socket/emitter-call.js.map +1 -0
  125. package/dist/socket/emitter-message.d.ts +15 -0
  126. package/dist/socket/emitter-message.js +341 -0
  127. package/dist/socket/emitter-message.js.map +1 -0
  128. package/dist/socket/listener/busi-notify.d.ts +3 -0
  129. package/dist/socket/listener/busi-notify.js +49 -0
  130. package/dist/socket/listener/busi-notify.js.map +1 -0
  131. package/dist/socket/listener/c2c.d.ts +5 -0
  132. package/dist/socket/listener/c2c.js +95 -0
  133. package/dist/socket/listener/c2c.js.map +1 -0
  134. package/dist/socket/listener/c2g.d.ts +4 -0
  135. package/dist/socket/listener/c2g.js +35 -0
  136. package/dist/socket/listener/c2g.js.map +1 -0
  137. package/dist/socket/listener/conversation.d.ts +3 -0
  138. package/dist/socket/listener/conversation.js +83 -0
  139. package/dist/socket/listener/conversation.js.map +1 -0
  140. package/dist/socket/listener/group-operate.d.ts +13 -0
  141. package/dist/socket/listener/group-operate.js +102 -0
  142. package/dist/socket/listener/group-operate.js.map +1 -0
  143. package/dist/socket/listener/index.d.ts +33 -0
  144. package/dist/socket/listener/index.js +33 -0
  145. package/dist/socket/listener/index.js.map +1 -0
  146. package/dist/socket/listener/one-2-one-call.d.ts +1 -0
  147. package/dist/socket/listener/one-2-one-call.js +200 -0
  148. package/dist/socket/listener/one-2-one-call.js.map +1 -0
  149. package/dist/socket/listener/session.d.ts +8 -0
  150. package/dist/socket/listener/session.js +91 -0
  151. package/dist/socket/listener/session.js.map +1 -0
  152. package/dist/socket/message-handler.d.ts +27 -0
  153. package/dist/socket/message-handler.js +436 -0
  154. package/dist/socket/message-handler.js.map +1 -0
  155. package/dist/socket/sync-subscribe.d.ts +8 -0
  156. package/dist/socket/sync-subscribe.js +408 -0
  157. package/dist/socket/sync-subscribe.js.map +1 -0
  158. package/dist/utils/carousel-lock.d.ts +7 -0
  159. package/dist/utils/carousel-lock.js +35 -0
  160. package/dist/utils/carousel-lock.js.map +1 -0
  161. package/dist/utils/conversation.d.ts +9 -0
  162. package/dist/utils/conversation.js +58 -0
  163. package/dist/utils/conversation.js.map +1 -0
  164. package/dist/utils/file.d.ts +3 -0
  165. package/dist/utils/file.js +53 -0
  166. package/dist/utils/file.js.map +1 -0
  167. package/dist/utils/guid.d.ts +1 -0
  168. package/dist/utils/guid.js +15 -0
  169. package/dist/utils/guid.js.map +1 -0
  170. package/dist/utils/message.d.ts +14 -0
  171. package/dist/utils/message.js +242 -0
  172. package/dist/utils/message.js.map +1 -0
  173. package/dist/utils/request.d.ts +41 -0
  174. package/dist/utils/request.js +72 -0
  175. package/dist/utils/request.js.map +1 -0
  176. package/dist/utils/time.d.ts +6 -0
  177. package/dist/utils/time.js +45 -0
  178. package/dist/utils/time.js.map +1 -0
  179. package/dist/utils/url.d.ts +1 -0
  180. package/dist/utils/url.js +22 -0
  181. package/dist/utils/url.js.map +1 -0
  182. package/dist/utils/version.d.ts +1 -0
  183. package/dist/utils/version.js +15 -0
  184. package/dist/utils/version.js.map +1 -0
  185. package/package.json +35 -0
@@ -0,0 +1,591 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const lodash_1 = require("lodash");
16
+ const indexdb_config_1 = __importDefault(require("./indexdb.config"));
17
+ class IndexDBStorage {
18
+ constructor() { }
19
+ createStores(userId) {
20
+ return new Promise((resolve, reject) => {
21
+ const dbRequest = window.indexedDB.open(indexdb_config_1.default.dbName + '_' + userId, indexdb_config_1.default.dbVersion);
22
+ dbRequest.onupgradeneeded = event => {
23
+ this.db = event.target.result;
24
+ indexdb_config_1.default.dbStores.forEach(store => {
25
+ if (!this.db.objectStoreNames.contains(store.name)) {
26
+ const dbStore = this.db.createObjectStore(store.name, store.keyOptions);
27
+ store.index.forEach(index => {
28
+ dbStore.createIndex(index.indexName, index.indexKey, index.indexOptions);
29
+ });
30
+ }
31
+ });
32
+ };
33
+ dbRequest.onsuccess = event => {
34
+ this.db = event.target.result;
35
+ resolve();
36
+ };
37
+ dbRequest.onerror = event => {
38
+ reject(event);
39
+ };
40
+ });
41
+ }
42
+ // 头像操作-----start
43
+ getAvatar(id) {
44
+ return this.getDataById('T_AVATARS', id);
45
+ }
46
+ insertAvatar(avatar) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ yield this.insertData('T_AVATARS', avatar);
49
+ });
50
+ }
51
+ updateAvatar(avatar) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ yield this.updateData('T_AVATARS', avatar);
54
+ });
55
+ }
56
+ selectAvatar() {
57
+ return this.getList('T_AVATARS', '', 'next');
58
+ }
59
+ // 头像操作-----end
60
+ // 收藏操作----start
61
+ insertCollection(collection) {
62
+ return this.insertData('T_COLLECTION', collection);
63
+ }
64
+ isCollection(messageSeq) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const data = yield this.getDataByIndex('T_COLLECTION', 'messageSeq', messageSeq);
67
+ return !!data;
68
+ });
69
+ }
70
+ selectCollections(keyword) {
71
+ return this.searchData('T_COLLECTION', { searchText: keyword });
72
+ }
73
+ // 收藏操作----end
74
+ // 会话操作----start
75
+ cleanConversations() {
76
+ return __awaiter(this, void 0, void 0, function* () { });
77
+ }
78
+ selectConversations() {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ const data = yield this.getList('T_CONVERSATION', 'time', 'prev');
81
+ // 排序置顶的
82
+ return data.sort((a, b) => {
83
+ if (a.enableTop === 'on' && b.enableTop === 'off') {
84
+ return -1;
85
+ }
86
+ else if (a.enableTop === 'off' && b.enableTop === 'on') {
87
+ return 1;
88
+ }
89
+ else {
90
+ return 0;
91
+ }
92
+ });
93
+ });
94
+ }
95
+ selectConversationByType(type) {
96
+ return this.searchData('T_CONVERSATION', { type });
97
+ }
98
+ selectConversationById(id) {
99
+ return this.getDataById('T_CONVERSATION', id);
100
+ }
101
+ insertConversation(conversation) {
102
+ return this.insertData('T_CONVERSATION', conversation);
103
+ }
104
+ updateConversationById(conversation) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ // 取出数据进行合并更新
107
+ const old = yield this.getDataById('T_CONVERSATION', conversation.id);
108
+ return this.updateData('T_CONVERSATION', Object.assign(Object.assign({}, old), conversation));
109
+ });
110
+ }
111
+ deleteConversation(id) {
112
+ return this.deleteById('T_CONVERSATION', id);
113
+ }
114
+ // 会话操作----end
115
+ // 消息操作----start
116
+ insertMessage(message) {
117
+ return this.insertData('T_MESSAGE', message);
118
+ }
119
+ insertMessageEmitting(message) {
120
+ return this.insertData('T_MESSAGE_EMITTING', message);
121
+ }
122
+ updateMessageEmitting(message) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ const old = yield this.getDataById('T_MESSAGE_EMITTING', message.messageSeq);
125
+ return this.updateData('T_MESSAGE_EMITTING', Object.assign(Object.assign({}, old), message));
126
+ });
127
+ }
128
+ deleteMessageEmittingByPK(messageSeq) {
129
+ return this.deleteById('T_MESSAGE_EMITTING', messageSeq);
130
+ }
131
+ deleteMessageEmittingByPKBatch(messageSeqs) {
132
+ return this.deleteByIds('T_MESSAGE_EMITTING', messageSeqs);
133
+ }
134
+ selectMessageEmitting(cond) {
135
+ return this.searchData('T_MESSAGE_EMITTING', cond);
136
+ }
137
+ selectConversationMessageCount(keyword) {
138
+ return Promise.resolve([]);
139
+ }
140
+ selectMessage(cond) {
141
+ return this.getDataByPage('T_MESSAGE', {
142
+ cond,
143
+ limit: 25,
144
+ offset: 0,
145
+ sort: 'prev',
146
+ });
147
+ }
148
+ selectBeforeMessages(cond, after) {
149
+ return this.getDataByPage('T_MESSAGE', {
150
+ cond: {
151
+ conversationId: cond.conversationId,
152
+ busiNotifyType: cond.busiNotifyType,
153
+ },
154
+ limit: cond.limit || 25,
155
+ offset: 0,
156
+ compareWith: {
157
+ key: 'messageSeq',
158
+ value: cond.messageSeq,
159
+ include: cond.include || false,
160
+ },
161
+ sort: after ? 'next' : 'prev',
162
+ });
163
+ }
164
+ selectAfterMessages(cond) {
165
+ return this.selectBeforeMessages(cond, true);
166
+ }
167
+ selectRangeMessage(cond) {
168
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
169
+ // 处理范围
170
+ const data = [];
171
+ const dbStore = this.db.transaction('T_MESSAGE', 'readonly').objectStore('T_MESSAGE');
172
+ const indexStore = dbStore.index('messageSeq');
173
+ const cursorRequest = indexStore.openCursor(IDBKeyRange.bound(cond.messageSeqBegin, cond.messageSeqEnd, true, true));
174
+ cursorRequest.onsuccess = event => {
175
+ const cursor = event.target.result;
176
+ if (cursor) {
177
+ const value = cursor.value;
178
+ if (value.conversationId === cond.conversationId) {
179
+ data.push(value);
180
+ }
181
+ cursor.continue();
182
+ }
183
+ else {
184
+ resolve(data);
185
+ }
186
+ };
187
+ cursorRequest.onerror = event => {
188
+ reject(event);
189
+ };
190
+ }));
191
+ }
192
+ selectMessageForBackup(cond) {
193
+ return __awaiter(this, void 0, void 0, function* () {
194
+ return {
195
+ data: [],
196
+ lastMessageSeq: ''
197
+ };
198
+ });
199
+ }
200
+ countMessageAfterSeq(messageSeq) {
201
+ return __awaiter(this, void 0, void 0, function* () {
202
+ return 0;
203
+ });
204
+ }
205
+ existMessage(messageSeq) {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ const target = yield this.getDataById('T_MESSAGE', messageSeq);
208
+ return !!target;
209
+ });
210
+ }
211
+ deleteMessageByPK(messageSeq) {
212
+ return this.deleteById('T_MESSAGE', messageSeq);
213
+ }
214
+ deleteMessageByPKBatch(messageSeqs) {
215
+ return this.deleteByIds('T_MESSAGE', messageSeqs);
216
+ }
217
+ updateMessageStatus(message) {
218
+ return this.updateMessage(message);
219
+ }
220
+ updateMyMessageStatus(message) {
221
+ return __awaiter(this, void 0, void 0, function* () {
222
+ const list = yield this.getListByIndex('T_MESSAGE', {
223
+ name: 'conversationId',
224
+ value: message.conversationId,
225
+ }, 'prev', {
226
+ messageFrom: message.messageFrom,
227
+ });
228
+ for (let index = 0; index < list.length; index++) {
229
+ const element = list[index];
230
+ yield this.updateData('T_MESSAGE', Object.assign(Object.assign({}, element), { messageStatus: message.messageStatus }));
231
+ }
232
+ });
233
+ }
234
+ updateMessage(message) {
235
+ return __awaiter(this, void 0, void 0, function* () {
236
+ const old = yield this.getDataById('T_MESSAGE', message.messageSeq);
237
+ return this.updateData('T_MESSAGE', Object.assign(Object.assign({}, old), message));
238
+ });
239
+ }
240
+ searchMessages(cond) {
241
+ console.log('searchMessages: ', cond);
242
+ return this.getDataByPage('T_MESSAGE', {
243
+ cond: {
244
+ conversationId: cond.conversationId,
245
+ busiNotifyType: cond.busiNotifyType,
246
+ payloadType: cond.payloadType,
247
+ },
248
+ limit: cond.limit || 10,
249
+ offset: cond.offset || 0,
250
+ sort: 'prev',
251
+ });
252
+ }
253
+ addReceiptBackList(messageSeq, receiptBack) {
254
+ return __awaiter(this, void 0, void 0, function* () {
255
+ const data = yield this.getDataById('T_MESSAGE', messageSeq);
256
+ if (data) {
257
+ data.receiptBackList = data.receiptBackList || [];
258
+ data.receiptBackList = [
259
+ ...(data.receiptBackList || []).filter(item => item.receiptBackMessageStatus !== receiptBack.receiptBackMessageStatus),
260
+ receiptBack,
261
+ ];
262
+ yield this.updateData('T_MESSAGE', data);
263
+ return data;
264
+ }
265
+ });
266
+ }
267
+ deleteConversationMessageEmitting(conversationId) {
268
+ return __awaiter(this, void 0, void 0, function* () {
269
+ yield this.deleteByIndex('T_MESSAGE_EMITTING', 'conversationId', conversationId);
270
+ });
271
+ }
272
+ deleteConversationMessage(conversationId) {
273
+ return __awaiter(this, void 0, void 0, function* () {
274
+ yield this.deleteByIndex('T_MESSAGE', 'conversationId', conversationId);
275
+ });
276
+ }
277
+ // 消息操作----end
278
+ // 本地资源
279
+ selectResource(cond) {
280
+ return this.searchData('T_RESOURCE', cond);
281
+ }
282
+ insertResource(resource) {
283
+ return this.insertData('T_RESOURCE', resource);
284
+ }
285
+ updateResource(resource) {
286
+ return __awaiter(this, void 0, void 0, function* () {
287
+ yield this.updateData('T_RESOURCE', resource);
288
+ });
289
+ }
290
+ // 消息订阅
291
+ selectSubscribeMessageSeq(cond) {
292
+ return this.searchData('T_SUBSCRIBE_MESSAGE_SEQ', cond);
293
+ }
294
+ insertOrUpdateSubscribeMessageSeq(subscribe) {
295
+ return __awaiter(this, void 0, void 0, function* () {
296
+ const data = yield this.getDataById('T_SUBSCRIBE_MESSAGE_SEQ', subscribe.subscribeId);
297
+ if (data) {
298
+ if (data.lastMessageSeq > subscribe.lastMessageSeq) {
299
+ return;
300
+ }
301
+ yield this.updateData('T_SUBSCRIBE_MESSAGE_SEQ', subscribe);
302
+ }
303
+ else {
304
+ yield this.insertData('T_SUBSCRIBE_MESSAGE_SEQ', subscribe);
305
+ }
306
+ });
307
+ }
308
+ deleteSubscribeMessageSeq(subscribeId) {
309
+ return this.deleteById('T_SUBSCRIBE_MESSAGE_SEQ', subscribeId);
310
+ }
311
+ close() {
312
+ this.db.close();
313
+ }
314
+ // indexdb操作-----start
315
+ getDataByIndex(table, indexName, value) {
316
+ return __awaiter(this, void 0, void 0, function* () {
317
+ return new Promise((resolve, reject) => {
318
+ const dbStore = this.db.transaction(table, 'readonly').objectStore(table);
319
+ const indexStore = dbStore.index(indexName);
320
+ const request = indexStore.get(value);
321
+ request.onsuccess = event => {
322
+ resolve(event.target.result);
323
+ };
324
+ request.onerror = event => {
325
+ reject(event);
326
+ };
327
+ });
328
+ });
329
+ }
330
+ getDataById(table, id) {
331
+ return __awaiter(this, void 0, void 0, function* () {
332
+ return new Promise((resolve, reject) => {
333
+ const dbStore = this.db.transaction(table, 'readonly').objectStore(table);
334
+ const request = dbStore.get(id);
335
+ request.onsuccess = event => {
336
+ resolve(event.target.result);
337
+ };
338
+ request.onerror = event => {
339
+ reject(event);
340
+ };
341
+ });
342
+ });
343
+ }
344
+ insertData(table, data) {
345
+ return __awaiter(this, void 0, void 0, function* () {
346
+ return new Promise((resolve, reject) => {
347
+ const dbStore = this.db.transaction(table, 'readwrite').objectStore(table);
348
+ const request = dbStore.add(data);
349
+ request.onsuccess = () => {
350
+ // console.log('insertData: ', table, data);
351
+ resolve();
352
+ };
353
+ request.onerror = event => {
354
+ reject(event);
355
+ };
356
+ });
357
+ });
358
+ }
359
+ updateData(table, data) {
360
+ return __awaiter(this, void 0, void 0, function* () {
361
+ return new Promise((resolve, reject) => {
362
+ const dbStore = this.db.transaction(table, 'readwrite').objectStore(table);
363
+ const request = dbStore.put(data);
364
+ request.onsuccess = () => {
365
+ // console.log('updateData: ', table, data);
366
+ resolve();
367
+ };
368
+ request.onerror = event => {
369
+ reject(event);
370
+ };
371
+ });
372
+ });
373
+ }
374
+ getList(table, indexName, sort, searchMap) {
375
+ return __awaiter(this, void 0, void 0, function* () {
376
+ return new Promise((resolve, reject) => {
377
+ const data = [];
378
+ const dbStore = this.db.transaction(table, 'readonly').objectStore(table);
379
+ const index = indexName ? dbStore.index(indexName) : null;
380
+ // 通过游标搜索关键字
381
+ const cursorRequest = index ? index.openCursor(null, sort) : dbStore.openCursor(null, sort);
382
+ cursorRequest.onsuccess = event => {
383
+ const cursor = event.target.result;
384
+ if (cursor) {
385
+ this.dealCursorValue(cursor, data, searchMap);
386
+ }
387
+ else {
388
+ resolve(data);
389
+ }
390
+ };
391
+ cursorRequest.onerror = event => {
392
+ reject(event);
393
+ };
394
+ });
395
+ });
396
+ }
397
+ getListByIndex(table, index, sort, searchMap) {
398
+ return __awaiter(this, void 0, void 0, function* () {
399
+ return new Promise((resolve, reject) => {
400
+ const data = [];
401
+ const dbStore = this.db.transaction(table, 'readonly').objectStore(table);
402
+ const idbIndex = index ? dbStore.index(index.name) : null;
403
+ const range = index ? IDBKeyRange.only(index.value) : null;
404
+ // 通过游标搜索关键字
405
+ const cursorRequest = idbIndex ? idbIndex.openCursor(range, sort) : dbStore.openCursor(null, sort);
406
+ cursorRequest.onsuccess = event => {
407
+ const cursor = event.target.result;
408
+ if (cursor) {
409
+ this.dealCursorValue(cursor, data, searchMap);
410
+ }
411
+ else {
412
+ resolve(data);
413
+ }
414
+ };
415
+ cursorRequest.onerror = event => {
416
+ reject(event);
417
+ };
418
+ });
419
+ });
420
+ }
421
+ searchData(table, searchMap) {
422
+ return __awaiter(this, void 0, void 0, function* () {
423
+ return new Promise((resolve, reject) => {
424
+ const data = [];
425
+ const dbStore = this.db.transaction(table, 'readonly').objectStore(table);
426
+ // 通过游标搜索关键字
427
+ const cursorRequest = dbStore.openCursor(null, 'prev');
428
+ cursorRequest.onsuccess = event => {
429
+ const cursor = event.target.result;
430
+ if (cursor) {
431
+ const currentData = cursor.value;
432
+ const isMatch = Object.keys(searchMap).every(key => !(0, lodash_1.isEmpty)(searchMap[key]) ? currentData[key] === searchMap[key] : true);
433
+ if (isMatch) {
434
+ data.push(currentData);
435
+ }
436
+ cursor.continue();
437
+ }
438
+ else {
439
+ resolve(data);
440
+ }
441
+ };
442
+ cursorRequest.onerror = event => {
443
+ reject(event);
444
+ };
445
+ });
446
+ });
447
+ }
448
+ deleteByIndex(table, indexName, indexValue) {
449
+ return __awaiter(this, void 0, void 0, function* () {
450
+ return new Promise((resolve, reject) => {
451
+ const dbStore = this.db.transaction(table, 'readwrite').objectStore(table);
452
+ const index = dbStore.index(indexName);
453
+ const request = index.openCursor(IDBKeyRange.only(indexValue));
454
+ request.onsuccess = event => {
455
+ const cursor = event.target.result;
456
+ if (cursor) {
457
+ cursor.delete();
458
+ cursor.continue();
459
+ }
460
+ else {
461
+ resolve();
462
+ }
463
+ };
464
+ request.onerror = event => {
465
+ reject(event);
466
+ };
467
+ });
468
+ });
469
+ }
470
+ deleteById(table, id) {
471
+ return __awaiter(this, void 0, void 0, function* () {
472
+ return new Promise((resolve, reject) => {
473
+ const dbStore = this.db.transaction(table, 'readwrite').objectStore(table);
474
+ const request = dbStore.delete(id);
475
+ request.onsuccess = () => {
476
+ resolve();
477
+ };
478
+ request.onerror = event => {
479
+ reject(event);
480
+ };
481
+ });
482
+ });
483
+ }
484
+ deleteByIds(table, ids) {
485
+ return __awaiter(this, void 0, void 0, function* () {
486
+ return new Promise((resolve, reject) => {
487
+ const transaction = this.db.transaction(table, 'readwrite');
488
+ const dbStore = transaction.objectStore(table);
489
+ ids.forEach(id => {
490
+ const request = dbStore.delete(id);
491
+ request.onsuccess = () => {
492
+ console.log('deleteByIds: ', table, id);
493
+ };
494
+ request.onerror = event => {
495
+ reject(event);
496
+ };
497
+ });
498
+ transaction.oncomplete = () => {
499
+ resolve();
500
+ };
501
+ });
502
+ });
503
+ }
504
+ // 分页查询
505
+ getDataByPage(table, options) {
506
+ return new Promise((resolve, reject) => {
507
+ const { cond, limit, offset, sort, compareWith } = options;
508
+ const data = [];
509
+ const start = offset * limit;
510
+ const end = start + limit;
511
+ const dbStore = this.db.transaction(table, 'readonly').objectStore(table);
512
+ let indexName = null;
513
+ // 找出符合条件的索引
514
+ for (let i = 0; i < dbStore.indexNames.length; i++) {
515
+ const key = dbStore.indexNames.item(i);
516
+ if (cond && typeof cond[key] !== 'undefined') {
517
+ indexName = key;
518
+ break;
519
+ }
520
+ }
521
+ const index = indexName ? dbStore.index(indexName) : null;
522
+ const cursorRequest = index
523
+ ? index.openCursor(IDBKeyRange.only(cond[indexName]), sort)
524
+ : dbStore.openCursor(null, sort);
525
+ let currentIndex = 0;
526
+ cursorRequest.onsuccess = event => {
527
+ const cursor = event.target.result;
528
+ if (cursor) {
529
+ const currentData = cursor.value;
530
+ if (cond) {
531
+ const isMatch = Object.keys(cond).every(key => !(0, lodash_1.isEmpty)(cond[key]) ? currentData[key] === cond[key] : true);
532
+ if (!isMatch) {
533
+ cursor.continue();
534
+ return;
535
+ }
536
+ }
537
+ if (compareWith) {
538
+ const targetValue = cursor.value[compareWith.key];
539
+ if (compareWith.include) {
540
+ if (sort === 'prev' && targetValue <= compareWith.value) {
541
+ data.push(currentData);
542
+ }
543
+ else if (sort === 'next' && targetValue >= compareWith.value) {
544
+ data.push(currentData);
545
+ }
546
+ }
547
+ else {
548
+ if (sort === 'prev' && targetValue < compareWith.value) {
549
+ data.push(currentData);
550
+ }
551
+ else if (sort === 'next' && targetValue > compareWith.value) {
552
+ data.push(currentData);
553
+ }
554
+ }
555
+ // 判断数据量是否超出限制
556
+ if (data.length >= limit) {
557
+ resolve(data);
558
+ return;
559
+ }
560
+ }
561
+ else if (currentIndex >= start && currentIndex < end) {
562
+ data.push(cursor.value);
563
+ currentIndex++;
564
+ }
565
+ cursor.continue();
566
+ }
567
+ else {
568
+ resolve(data);
569
+ }
570
+ };
571
+ cursorRequest.onerror = event => {
572
+ reject(event);
573
+ };
574
+ });
575
+ }
576
+ dealCursorValue(cursor, data, searchMap) {
577
+ const currentData = cursor.value;
578
+ if ((0, lodash_1.isEmpty)(searchMap)) {
579
+ data.push(currentData);
580
+ cursor.continue();
581
+ return;
582
+ }
583
+ const isMatch = Object.keys(searchMap).every(key => !(0, lodash_1.isEmpty)(searchMap[key]) ? currentData[key] === searchMap[key] : true);
584
+ if (isMatch) {
585
+ data.push(currentData);
586
+ }
587
+ cursor.continue();
588
+ }
589
+ }
590
+ exports.default = IndexDBStorage;
591
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/indexdb/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ declare const _default: {
2
+ dbName: string;
3
+ dbVersion: number;
4
+ dbStores: {
5
+ name: string;
6
+ keyOptions: {
7
+ keyPath: string;
8
+ };
9
+ index: {
10
+ indexName: string;
11
+ indexKey: string;
12
+ indexOptions: {
13
+ unique: boolean;
14
+ };
15
+ }[];
16
+ }[];
17
+ };
18
+ export default _default;