vome-core 0.3.57 → 0.3.59

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 (73) hide show
  1. package/dist/admin/components/ui/avatar/index.js +1 -1
  2. package/dist/admin/components/ui/checkbox/index.js +1 -1
  3. package/dist/admin/components/ui/dialog/index.js +1 -1
  4. package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
  5. package/dist/admin/components/ui/input/index.js +1 -1
  6. package/dist/admin/components/ui/label/index.js +1 -1
  7. package/dist/admin/components/ui/scroll-area/index.js +1 -1
  8. package/dist/admin/components/ui/select/index.js +1 -1
  9. package/dist/admin/components/ui/separator/index.js +1 -1
  10. package/dist/admin/components/ui/sheet/index.js +1 -1
  11. package/dist/admin/components/ui/sonner/index.js +1 -1
  12. package/dist/admin/components/ui/table/index.js +1 -1
  13. package/dist/admin/components/ui/tabs/index.js +1 -1
  14. package/dist/admin/components/ui/tooltip/index.js +1 -1
  15. package/dist/admin/crud/auto-fields.js +1 -1
  16. package/dist/admin/crud/components/vm-json-kv-editor.vue +23 -2
  17. package/dist/admin/crud/config.js +1 -1
  18. package/dist/admin/crud/confirm.js +1 -1
  19. package/dist/admin/crud/crud-page-request.js +1 -1
  20. package/dist/admin/crud/data-i18n.js +1 -1
  21. package/dist/admin/crud/dict.js +1 -1
  22. package/dist/admin/crud/export-fetch.js +1 -1
  23. package/dist/admin/crud/key.js +1 -1
  24. package/dist/admin/crud/plugins.js +1 -1
  25. package/dist/admin/crud/span.js +1 -1
  26. package/dist/admin/crud/style.js +1 -1
  27. package/dist/admin/crud/validate.js +1 -1
  28. package/dist/admin/directives/perm.js +1 -1
  29. package/dist/admin/hooks/useUpload.js +1 -1
  30. package/dist/admin/lib/browser.js +1 -1
  31. package/dist/admin/lib/cn.js +1 -1
  32. package/dist/admin/lib/dialog-float.js +1 -1
  33. package/dist/admin/lib/export-excel.js +1 -1
  34. package/dist/admin/lib/import-excel.js +1 -1
  35. package/dist/admin/lib/json.js +1 -1
  36. package/dist/admin/lib/menu.js +1 -1
  37. package/dist/admin/lib/micro-locale.js +1 -1
  38. package/dist/admin/lib/micro-theme.js +1 -1
  39. package/dist/admin/lib/shell.js +1 -1
  40. package/dist/admin/lib/theme-color-options.js +1 -1
  41. package/dist/admin/lib/tree.js +1 -1
  42. package/dist/admin/lib/upload.js +1 -1
  43. package/dist/admin/lib/video-frame.js +1 -1
  44. package/dist/admin/router/create.js +1 -1
  45. package/dist/admin/router/guards.js +1 -1
  46. package/dist/ai/index.js +1 -1
  47. package/dist/client/ai-model-registry.js +1 -1
  48. package/dist/client/base.js +1 -1
  49. package/dist/client/configure.js +1 -1
  50. package/dist/client/dict.js +1 -1
  51. package/dist/client/eps-payload.js +1 -1
  52. package/dist/client/eps.js +1 -1
  53. package/dist/client/index.js +1 -1
  54. package/dist/client/locale-change.js +1 -1
  55. package/dist/client/locale-store.js +1 -1
  56. package/dist/client/service.js +1 -1
  57. package/dist/client/vite-admin.js +1 -1
  58. package/dist/client/vite-auto-import.js +1 -1
  59. package/dist/client/vite-micro-proxy.js +1 -1
  60. package/dist/client/vite-plugin-eps.js +1 -1
  61. package/dist/client/vite-resolve.js +1 -1
  62. package/dist/config/index.js +1 -1
  63. package/dist/index.js +1 -1
  64. package/dist/orm/entity-cache.d.ts +18 -11
  65. package/dist/orm/service.d.ts +4 -3
  66. package/dist/server/index.js +1 -1
  67. package/dist/shared/datetime-picker.js +1 -1
  68. package/dist/shared/decimal.js +1 -1
  69. package/dist/shared/excel.js +1 -1
  70. package/dist/shared/index.js +1 -1
  71. package/dist/shared/locale-json.js +1 -1
  72. package/dist/shared/tree.js +1 -1
  73. package/package.json +1 -1
@@ -1,23 +1,30 @@
1
1
  /**
2
- * 实体行缓存:Redis 为重启后的来源,进程内再留一份,热路径不打 Redis。
3
- * 只有 Redis 和进程都没有时,才由调用方查库并写入。
2
+ * 实体行缓存:只放 Redis Hash,进程不留副本。
3
+ * 键 `vome:cache:{桶}`,字段是行 id,值是该行 JSON。
4
+ * 取一条 HGET,取多条 HMGET,取整桶 HGETALL;写入用一次 HSET。
5
+ * Hash 不存在才查库。空结果写占位字段,避免每次都打数据库。
4
6
  */
5
- type EntityCacheIo = {
6
- get(key: string): Promise<string | null>;
7
- set(key: string, value: string): Promise<void>;
7
+ export type EntityCacheIo = {
8
+ hget(key: string, field: string): Promise<string | null>;
9
+ hmget(key: string, fields: string[]): Promise<Array<string | null>>;
10
+ hgetall(key: string): Promise<Record<string, string>>;
11
+ hset(key: string, fields: Record<string, string>): Promise<void>;
12
+ hdel(key: string, fields: string[]): Promise<void>;
8
13
  del(key: string): Promise<void>;
14
+ exists(key: string): Promise<boolean>;
9
15
  };
10
16
  export declare function registerEntityCacheStore(store: EntityCacheIo | null): void;
11
- /** 全部行;Redis 没有且提供了 load 才查库 */
17
+ /** 整桶。Hash 没有且提供了 load 才查库,并一次 HSET 写回 */
12
18
  export declare function entityCacheGet<T>(bucket: string, load?: () => Promise<T[]>): Promise<T[]>;
13
- /** 按 id 取一行。缓存未建立时先走 get(可查库) */
19
+ /** 按 id 取一行。桶已存在但没有该字段则不再查库 */
14
20
  export declare function entityCacheGetById<T>(bucket: string, id: number | string, load?: () => Promise<T[]>): Promise<T | undefined>;
21
+ /** 按一批 id 取。一次 HMGET,不拉整桶 */
22
+ export declare function entityCacheGetByIds<T>(bucket: string, ids: Array<number | string>, load?: () => Promise<T[]>): Promise<T[]>;
15
23
  /**
16
24
  * 写入。
17
- * 数组:整桶替换。
18
- * 单条:按 id 合并进已有缓存。缓存还没有时不写残缺行,等下次 get 从库装全量。
25
+ * 数组:删键后一次 HSET 整桶替换。
26
+ * 单条:桶已存在才按 id HSET。桶还没有时不写残缺行。
19
27
  */
20
28
  export declare function entityCacheSet(bucket: string, data: unknown): Promise<void>;
21
- /** 删整桶,或按 id 删行 */
29
+ /** 删整桶,或按 id 删字段 */
22
30
  export declare function entityCacheDel(bucket: string, id?: number | string | Array<number | string>): Promise<void>;
23
- export {};
@@ -72,13 +72,14 @@ export declare abstract class BaseService {
72
72
  orderBy?: SQL[];
73
73
  } & CrudTrashQueryOptions): Promise<PageResult>;
74
74
  /**
75
- * 行缓存。Redis 有则直接用,没有才执行 load 查库并写入。
76
- * 省略 id 返回全部;传入 id 只取那一行。
75
+ * 行缓存。Redis Hash 有则直接用,没有才执行 load 查库并批量写入。
76
+ * 省略 id 返回整桶;传入 id 只取那一行;传入 id 数组一次取这些行。
77
77
  */
78
78
  cacheGet<T>(bucket: string, load: () => Promise<T[]>): Promise<T[]>;
79
79
  cacheGet<T>(bucket: string, id: number | string, load?: () => Promise<T[]>): Promise<T | undefined>;
80
+ cacheGet<T>(bucket: string, ids: Array<number | string>, load?: () => Promise<T[]>): Promise<T[]>;
80
81
  /**
81
- * 写入缓存。数组整桶替换;单条对象按 id 合并更新。
82
+ * 写入缓存。数组整桶替换(一次批量写入);单条对象按 id 更新。
82
83
  */
83
84
  cacheSet(bucket: string, data: unknown): Promise<void>;
84
85
  /** 删除整桶,或按 id 删除 */