mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-07 07:03:34 +08:00
## 问题背景 `frontend/src/components/Sidebar.locate-toolbar.test.tsx` 中的 saved-query / external SQL 本地化用例仍通过 `indexOf` 检查旧的 `const loadTables = async ...` 源码签名。Sidebar 加载器已重构为 `runLoadTables` 加调度包装,等价行为保持不变,但该源码字符串门禁返回 `-1`,导致当前 `dev` 的前端全量测试失败。 该失败已在通过 `git archive upstream/dev` 导出的纯净快照中执行 `npm ci` 后独立复现,与其他功能分支无关。 ## 修复方案 - 删除该用例中已经没有断言消费方的源码读取、字符串切片、index 门禁和空循环。 - 保留 14 个 saved-query / external SQL 翻译键在全部 6 种支持语言中的实际解析断言。 - 更新测试名称,使其准确描述仍在验证的行为。 不修改 Sidebar 生产代码,也不恢复已被调度器替代的旧函数签名。 ## 验证结果 | 验证项 | 命令 | 结果 | | --- | --- | --- | | 目标回归测试 | `npm --prefix frontend test -- src/components/Sidebar.locate-toolbar.test.tsx -t 'resolves saved-query and external SQL localization keys for every supported language'` | 通过,1/1 | | Sidebar 测试文件 | `npm --prefix frontend test -- src/components/Sidebar.locate-toolbar.test.tsx` | 通过,85/85 | | 测试策略门禁 | `npm --prefix frontend test -- src/testPolicy.test.ts` | 通过,3/3 | | 依赖补丁测试 | `npm --prefix frontend test -- src/utils/rcResizeObserverSidebarLifecycle.test.ts` | 通过,4/4 | | 前端全量测试 | `npm --prefix frontend test` | 通过,444/444 个测试文件、3739/3739 个测试 | | 生产构建 | `npm --prefix frontend run build` | 通过 | | 差异检查 | `git diff --check`、`git diff --cached --check` | 通过 | ## 风险与兼容性 - 仅修改测试,不影响生产运行行为、公共 API、数据或配置。 - 删除的是未使用变量、空循环和对实现排版敏感的源码字符串门禁。 - 翻译键覆盖范围未减少,实际跨语言解析断言完整保留。 ## 回滚方式 回滚提交 `1a95b8c7c5bbf576660d1300fc8ce90947122981` 即可恢复原测试。回滚不影响生产数据或配置。
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 数据库。
- 密码目前保存在内存/本地存储中,请注意在生产环境中的安全性。
希望这款轻量级工具能成为你开发路上的好帮手!