feat(phase3): key browser MVP
- useKeyStore (Pinia): scan, tree view, key data cache, db switching - KeyBrowser: split pane with KeyList + KeyDetail - KeyList: SCAN pagination, filter, tree toggle, load more - KeyDetail: type badge, TTL display, delete, type-based editor dispatch - StringEditor: view/edit with JSON auto-format - HashEditor: field table, add/edit/delete fields - StatusView: INFO dashboard with stat cards + section grid - MainArea: tab host (Status / Keys) - RedisService: selectDb, dbSize - Preload: selectDb, dbSize IPC channels - App.vue updated with MainArea layout
This commit is contained in:
Vendored
+2
@@ -68,6 +68,8 @@ export interface ElectronAPI {
|
||||
hashSet: (id: string, key: string, field: string, value: string) => Promise<void>
|
||||
hashDel: (id: string, key: string, field: string) => Promise<void>
|
||||
setTTL: (id: string, key: string, ttl: number) => Promise<void>
|
||||
selectDb: (id: string, db: number) => Promise<void>
|
||||
dbSize: (id: string) => Promise<number>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,9 @@ const electronAPI = {
|
||||
ipcRenderer.invoke('redis:hashDel', id, key, field),
|
||||
setTTL: (id: string, key: string, ttl: number): Promise<void> =>
|
||||
ipcRenderer.invoke('redis:setTTL', id, key, ttl),
|
||||
selectDb: (id: string, db: number): Promise<void> =>
|
||||
ipcRenderer.invoke('redis:selectDb', id, db),
|
||||
dbSize: (id: string): Promise<number> => ipcRenderer.invoke('redis:dbSize', id),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user