feat: multi-format viewer (Text/Hex/JSON/Binary/Gzip/Deflate/Brotli)

- New format.ts: decodeValue + detectFormat using Node.js zlib
- IPC: redis:decodeValue, redis:detectFormat
- StringEditor: format selector dropdown with auto-detect
- Monaco editor shows decoded value, read-only for compressed formats
- Auto-detect: JSON, Gzip (1f 8b), Deflate (78 xx), non-printable → Hex
- i18n keys for all formats (zh-CN + en)
This commit is contained in:
2026-07-07 21:48:52 +08:00
parent 76f8f6ddec
commit e63940b548
9 changed files with 163 additions and 17 deletions
+5
View File
@@ -130,6 +130,11 @@ const electronAPI = {
ipcRenderer.invoke('redis:getCommandLog'),
clearCommandLog: (): Promise<void> =>
ipcRenderer.invoke('redis:clearCommandLog'),
// Format
decodeValue: (value: string, format: string): Promise<string> =>
ipcRenderer.invoke('redis:decodeValue', value, format),
detectFormat: (value: string): Promise<string> =>
ipcRenderer.invoke('redis:detectFormat', value),
// Pub/Sub
subscribe: (id: string, channels: string[], isPattern: boolean): Promise<any> =>
ipcRenderer.invoke('redis:subscribe', id, channels, isPattern),