mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-12 09:34:05 +08:00
## 背景 Issue #873 中,Windows 安装包内的 SQL 编辑器通过右键菜单执行“粘贴”时,浏览器剪贴板 API 会受到 WebView 权限限制,导致 Monaco 无法取得剪贴板内容。 ## 变更点 - 在 Wails 运行环境中覆盖 Monaco 的粘贴命令,优先读取 Wails 原生剪贴板 - 将原生剪贴板文本交回 Monaco 的 paste handler,保留选区、多光标和撤销行为 - 使用引用计数管理全局命令生命周期,并保留浏览器剪贴板回退 - 增加原生读取、浏览器回退、多编辑器卸载及只读编辑器回归测试 ## 影响范围 - 仅影响 Wails 环境下 SQL 编辑器的右键粘贴 - 普通浏览器环境继续使用 Monaco 默认粘贴逻辑 - 不涉及后端接口、配置、依赖或生成文件变更 ## 验证 - 定向单元测试:14/14 通过 - TypeScript 类型检查通过 - 前端生产构建通过(7981 modules transformed) - Wails runtime 实际验证右键粘贴可插入剪贴板文本 - 前端全量测试中 3 个测试文件因并发资源争用超时,隔离重跑 131/131 通过 Closes #873
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 数据库。
- 密码目前保存在内存/本地存储中,请注意在生产环境中的安全性。
希望这款轻量级工具能成为你开发路上的好帮手!