@steedos/service-cachers-manager 2.5.5 → 2.6.1-beta.2

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 (2) hide show
  1. package/package.json +4 -4
  2. package/package.service.js +47 -20
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@steedos/service-cachers-manager",
3
- "version": "2.5.5",
3
+ "version": "2.6.1-beta.2",
4
4
  "main": "package.service.js",
5
5
  "license": "MIT",
6
6
  "private": false,
7
7
  "dependencies": {
8
- "@steedos/cachers": "2.5.5",
9
- "@steedos/metadata-registrar": "2.5.5"
8
+ "@steedos/cachers": "2.6.1-beta.2",
9
+ "@steedos/metadata-registrar": "2.6.1-beta.2"
10
10
  },
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
- "gitHead": "f1e15b667da1e140e3003bf836d56cd6e36c79e3"
14
+ "gitHead": "9051772a001ba99aeaf026680ef171d508e92b8f"
15
15
  }
@@ -1,8 +1,8 @@
1
1
  /*
2
2
  * @Author: baozhoutao@steedos.com
3
3
  * @Date: 2022-03-28 09:35:35
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2023-06-09 11:44:06
4
+ * @LastEditors: baozhoutao@steedos.com
5
+ * @LastEditTime: 2023-06-21 12:07:00
6
6
  * @Description: 维护内存缓存
7
7
  */
8
8
  "use strict";
@@ -22,6 +22,7 @@ module.exports = {
22
22
  namespace: "steedos",
23
23
  translationsChangeTimeoutId: null,
24
24
  objectTranslationsChangeTimeoutId: null,
25
+ tabsChangeTimeoutId: null,
25
26
  /**
26
27
  * Settings
27
28
  */
@@ -63,6 +64,16 @@ module.exports = {
63
64
  // 代码定义的简档
64
65
  cache.set(doc.name, doc);
65
66
  }
67
+ },
68
+ loadTabs: async function (broker) {
69
+ const cache = cachers.getCacher('tabs');
70
+ broker.call('tabs.getAll').then((res) => {
71
+ for (const item of res) {
72
+ if(item?.metadata){
73
+ cache.set(item.metadata.name, item);
74
+ }
75
+ }
76
+ })
66
77
  }
67
78
  },
68
79
 
@@ -78,7 +89,7 @@ module.exports = {
78
89
  this.translationsChangeTimeoutId = setTimeout(() => {
79
90
  core.loadTranslations()
80
91
  this.translationsChangeTimeoutId = null;
81
- }, 2000)
92
+ }, 3000)
82
93
  }
83
94
  },
84
95
  "translations.object.change": {
@@ -91,7 +102,7 @@ module.exports = {
91
102
  cachers.getCacher('lru.translations.objects').clear();
92
103
  })
93
104
  this.objectTranslationsChangeTimeoutId = null;
94
- }, 2000)
105
+ }, 3000)
95
106
 
96
107
  }
97
108
  },
@@ -161,24 +172,28 @@ module.exports = {
161
172
  const objects = {}
162
173
  const objectConfigs = await this.broker.call("objects.getAll");
163
174
  for (const object of objectConfigs) {
164
- const objectConfig = object.metadata
165
- const objectName = objectConfig.name
166
- // 排除 __MONGO_BASE_OBJECT __SQL_BASE_OBJECT
167
- if (['__MONGO_BASE_OBJECT', '__SQL_BASE_OBJECT'].includes(objectName)) {
168
- continue
169
- }
170
-
171
- const obj = getObject(objectName);
172
- if (!objects[objectName]) {
173
- objects[objectName] = {}
174
- }
175
+ try {
176
+ const objectConfig = object.metadata
177
+ const objectName = objectConfig.name
178
+ // 排除 __MONGO_BASE_OBJECT __SQL_BASE_OBJECT
179
+ if (['__MONGO_BASE_OBJECT', '__SQL_BASE_OBJECT'].includes(objectName)) {
180
+ continue
181
+ }
175
182
 
176
- //TODO 确认 delete\directDelete 功能
177
- _.each(['find', 'count', 'findOne', 'insert', 'update', 'delete', 'directFind', 'directInsert', 'directUpdate', 'directDelete'], (funKey) => {
178
- objects[objectName][funKey] = function (...args) {
179
- return obj[funKey].apply(obj, args) // 重写this为obj, 防止this异常
183
+ const obj = getObject(objectName);
184
+ if (!objects[objectName]) {
185
+ objects[objectName] = {}
180
186
  }
181
- })
187
+
188
+ //TODO 确认 delete\directDelete 功能
189
+ _.each(['find', 'count', 'findOne', 'insert', 'update', 'delete', 'directFind', 'directInsert', 'directUpdate', 'directDelete'], (funKey) => {
190
+ objects[objectName][funKey] = function (...args) {
191
+ return obj[funKey].apply(obj, args) // 重写this为obj, 防止this异常
192
+ }
193
+ })
194
+ } catch (ex) {
195
+ console.error(`====>`,ex)
196
+ }
182
197
  };
183
198
  // console.log('===========global.objects===========');
184
199
  // console.log(objects)
@@ -217,6 +232,17 @@ module.exports = {
217
232
  this.profilesChangeTimeoutId = null;
218
233
  }, 2000)
219
234
  }
235
+ },
236
+ 'tabs.change': {
237
+ async handler(ctx) {
238
+ if (this.tabsChangeTimeoutId) {
239
+ clearTimeout(this.tabsChangeTimeoutId)
240
+ }
241
+ this.tabsChangeTimeoutId = setTimeout(() => {
242
+ this.loadTabs(this.broker);
243
+ this.tabsChangeTimeoutId = null;
244
+ }, 2000)
245
+ }
220
246
  }
221
247
  },
222
248
 
@@ -247,5 +273,6 @@ module.exports = {
247
273
  core.loadObjectTranslations();
248
274
  this.loadActionTriggers(this.broker);
249
275
  this.loadTriggers(this.broker);
276
+ this.loadTabs(this.broker);
250
277
  },
251
278
  };