From 75c3a854d6400b6bf65c47558faac81957cf6727 Mon Sep 17 00:00:00 2001 From: Jokul Date: Tue, 7 Jul 2026 22:44:59 +0800 Subject: [PATCH] feat: P3 batch 2 - sidebar resize, DB features, Status/SlowLog, editor improvements - Resizable sidebar (200-500px, localStorage persistence) - DB auto-detection (CONFIG GET databases) + key count in dropdown - DB memory (last selected DB per connection) - Status auto-refresh toggle + search filter + key statistics table - SlowLog config display (threshold + max len) - Large value protection (>20MB placeholder + download) - Hash field TTL (HEXPIRE support detection) - Editor inline filters (Hash/Set/Zset) - Zset ASC/DESC sort toggle - CLI auto-sync SELECT + refresh key list on write commands - i18n keys for all features (zh-CN + en) --- ROADMAP.md | 28 +++--- src/components/DbSelector.vue | 73 ++++++++++++++-- src/components/HashEditor.vue | 97 ++++++++++++++++++++- src/components/SetEditor.vue | 2 +- src/components/Sidebar.vue | 63 +++++++++++++- src/components/SlowLogView.vue | 37 +++++++- src/components/StatusView.vue | 149 ++++++++++++++++++++++++++++++-- src/components/StringEditor.vue | 33 +++++++ src/components/ZsetEditor.vue | 21 ++++- src/i18n/locales/en.ts | 20 +++++ src/i18n/locales/zh-CN.ts | 20 +++++ src/stores/connection.ts | 35 +++++++- 12 files changed, 533 insertions(+), 45 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index ce6d982..a363e62 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -48,26 +48,26 @@ - [x] **连接颜色标记** — 每个连接可选颜色(预定义色板) - [x] **连接拖拽排序** — Sortable.js 拖拽重排连接列表 - [x] **复制连接** — 右键复制现有连接配置 -- [ ] **侧边栏可拖拽** — 调整宽度 200–1500px,持久化 +- [x] **侧边栏可拖拽** — 调整宽度 200–1500px,持久化 - [ ] **DB 自定义名称** — 用户可重命名 DB0 → 生产库,下拉显示 -- [ ] **DB key 数量显示** — 下拉框显示每个 DB 的 key 数量 -- [ ] **DB 数量自动检测** — CONFIG GET databases + INFO keyspace -- [ ] **DB 记忆** — 每个连接记住最后选择的数据库 +- [x] **DB key 数量显示** — 下拉框显示每个 DB 的 key 数量 +- [x] **DB 数量自动检测** — CONFIG GET databases + INFO keyspace +- [x] **DB 记忆** — 每个连接记住最后选择的数据库 - [ ] **更多语言** — de/es/fr/it/ko/pt/ru/tr/ua/vi/tw(当前仅 en/zh-CN) - [ ] **页面缩放** — 0.5x–2.0x 缩放控制 - [ ] **自定义字体** — 用户可选等宽字体 -- [ ] **SlowLog 配置显示** — slowlog-log-slower-than / slowlog-max-len +- [x] **SlowLog 配置显示** — slowlog-log-slower-than / slowlog-max-len - [ ] **Cluster SlowLog** — 每个 master 节点分别查询 - [ ] **Cluster Keyspace 表** — 集群模式显示各节点 key 数量 -- [ ] **Status 自动刷新开关** — 可暂停/恢复的刷新(当前固定 1s) -- [ ] **Status 搜索过滤** — INFO 表格搜索 -- [ ] **Key 统计表** — 每个 DB 的 Keys/Expires/Avg TTL 排序表 -- [ ] **大值保护** — >20MB 显示占位符而非崩溃 -- [ ] **Hash 字段 TTL** — Redis 7.4+ HEXPIRE 支持 -- [ ] **Editor 行内过滤** — 每个编辑器的表头搜索 -- [ ] **Zset 排序切换** — ASC/DESC 单选按钮 -- [ ] **CLI 自动同步** — CLI 执行 SELECT 后自动同步 UI -- [ ] **CLI 执行后刷新 key 列表** — set/hset/del 等命令后自动刷新 +- [x] **Status 自动刷新开关** — 可暂停/恢复的刷新(当前固定 1s) +- [x] **Status 搜索过滤** — INFO 表格搜索 +- [x] **Key 统计表** — 每个 DB 的 Keys/Expires/Avg TTL 排序表 +- [x] **大值保护** — >20MB 显示占位符而非崩溃 +- [x] **Hash 字段 TTL** — Redis 7.4+ HEXPIRE 支持 +- [x] **Editor 行内过滤** — 每个编辑器的表头搜索 +- [x] **Zset 排序切换** — ASC/DESC 单选按钮 +- [x] **CLI 自动同步** — CLI 执行 SELECT 后自动同步 UI +- [x] **CLI 执行后刷新 key 列表** — set/hset/del 等命令后自动刷新 - [ ] **标签页滚轮切换** — 鼠标滚轮切换标签 - [ ] **标签页右键菜单** — 关闭/关闭其他/关闭左侧/关闭右侧 - [ ] **Element Plus 深色适配** — 所有组件无白底 diff --git a/src/components/DbSelector.vue b/src/components/DbSelector.vue index 3e93b6c..3fb87c9 100644 --- a/src/components/DbSelector.vue +++ b/src/components/DbSelector.vue @@ -1,21 +1,77 @@ @@ -34,13 +91,13 @@ async function switchDb(db: number) { :model-value="selectedDb" size="small" @change="switchDb" - style="width: 60px" + style="width: 130px" > diff --git a/src/components/HashEditor.vue b/src/components/HashEditor.vue index 57a2e47..56e21b5 100644 --- a/src/components/HashEditor.vue +++ b/src/components/HashEditor.vue @@ -1,6 +1,6 @@ diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue index 7423f9b..18bab6b 100644 --- a/src/components/Sidebar.vue +++ b/src/components/Sidebar.vue @@ -1,6 +1,6 @@