mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-15 11:14:31 +08:00
## 背景 表格行号单击后可以选中当前行,但再次单击同一行时仍保持选中,无法通过相同入口取消选择。本次让行号选择行为支持双向切换。 Fixes #910 ## 变更点 - 使用函数式状态更新判断当前是否仅选中目标行,再次点击时清空选择。 - 扩展 DataGrid 交互测试,覆盖连续点击同一行号后取消选择。 ## 影响范围 - 仅调整表数据和查询结果中行号列的单击选择行为。 - 复选框单选、多选、行号双击文本查看以及数据操作逻辑保持不变。 ## 验证 - `npm --prefix frontend test -- src/components/DataGrid.ddl.test.tsx src/components/DataGrid.layout.test.tsx`:125 项测试通过。 - `npm --prefix frontend test`:全量前端测试通过;首次运行有 1 个无关 hydration 用例超时,单独复跑及第二次全量复跑均通过。 - `npm --prefix frontend run build`:TypeScript 检查及 Vite 生产构建通过。 - 用户自测:通过。
Lite DB Client
一个基于 Electron、React 和 Ant Design 构建的轻量级 MySQL 数据库客户端。
✨ 功能特性
- 连接管理: 轻松创建和保存 MySQL 数据库连接。
- 结构浏览: 通过树形视图快速查看数据库和表结构。
- 数据查看: 双击表名即可查看数据(支持分页/滚动加载)。
- SQL 编辑器: 集成 Monaco Editor,提供强大的 SQL 编写和执行体验(支持语法高亮)。
- 多标签页: 支持多窗口并行操作,类似 Navicat 的使用体验。
🛠️ 技术栈
- Electron: 桌面端运行环境。
- React + Vite: 前端框架与极速构建工具。
- Ant Design: 企业级 UI 组件库。
- Zustand: 轻量级状态管理。
- MySQL2: 高性能 Node.js MySQL 驱动。
- Monaco Editor: VS Code 同款代码编辑器。
🚀 快速开始
-
安装依赖
npm install -
启动开发模式
npm run electron:dev这将启动 Vite 开发服务器并打开 Electron 窗口。
-
构建生产版本
npm run build构建完成的安装包(dmg/exe/deb)将位于
dist/或release/目录下。
⚠️ 说明
- 本项目目前处于 MVP (最小可行性产品) 阶段。
- 当前版本主要支持 MySQL 数据库。
- 密码目前保存在内存/本地存储中,请注意在生产环境中的安全性。
希望这款轻量级工具能成为你开发路上的好帮手!