Private
Public Access
1
0

重构:文件系统模块化架构,优化应用启动流程

This commit is contained in:
2026-01-28 00:28:54 +08:00
parent 4a9b25a505
commit 8c577f70e7
123 changed files with 32030 additions and 967 deletions

View File

@@ -0,0 +1,118 @@
# SQL历史功能设计
**设计日期**2025-01-28
**设计目标**明确SQL历史功能的设计SQL由SQL编辑区保存得到
---
## 一、功能定位
### 1.1 核心概念
**SQL历史**自动记录SQL编辑区的Tab历史用于追溯和恢复之前编辑的SQL内容。
### 1.2 功能特征
-**自动记录**系统自动记录SQL编辑区的Tab内容
-**时间序列**:按时间顺序记录
-**追溯功能**查看之前编辑了什么SQL
-**快速恢复**双击历史记录恢复到SQL编辑器
---
## 二、数据来源
### 2.1 数据来源
SQL历史数据来源于 **SQL编辑区的Tab**
- 每个SQL编辑Tab的内容自动保存到SQLite
- Tab的创建、更新、删除都会同步到历史记录
- 历史记录显示所有已保存的Tab内容
### 2.2 数据结构
```typescript
interface SqlHistory {
id: number
title: string // Tab标题如"查询 1"
content: string // SQL内容
connectionId?: number // 关联的连接ID可选
tabId?: string // 关联Tab ID
createdAt: number // 创建时间
updatedAt: number // 更新时间
}
```
---
## 三、功能实现
### 3.1 数据同步
SQL历史与SQL编辑区的Tab实时同步
```typescript
// index.vue
watch(() => sqlEditorRef.value, (editor: any) => {
if (editor && typeof editor.getTabs === 'function') {
sqlEditorTabs.value = editor.getTabs()
}
}, { immediate: true, deep: true })
```
### 3.2 使用流程
```
用户双击历史记录
SqlHistoryList → emit('use-history', content)
ResourcePanel → emit('use-resource', content)
index.vue → handleUseResource(content)
SqlEditor.insertSQL(content) → 替换当前Tab内容
```
---
## 四、UI展示
### 4.1 显示位置
SQL历史显示在左侧资源管理面板的"SQL历史"Tab中。
### 4.2 显示内容
- Tab标题
- 相对时间刚刚、X分钟前、X小时前
- 连接信息(如果有)
### 4.3 交互方式
- **双击**使用历史记录加载到当前Tab
- **右键菜单**:编辑、删除等(待实现)
---
## 五、后续扩展
### 5.1 待实现功能
- SQL执行历史记录记录执行的SQL、结果、时间
- 历史搜索功能
- 历史删除功能
- 从历史"保存为书签"(待书签功能实现后)
### 5.2 其他概念
- **书签**个人收藏的常用SQL待实现
- **模板**标准SQL模板待实现
---
## 六、相关文档
- [左侧资源管理面板设计.md](./左侧资源管理面板设计.md)
- [需求设计/需求.md](../需求设计/需求.md)