重构:文件系统模块化架构,优化应用启动流程
This commit is contained in:
118
docs/04-功能迭代/GO-DESK-2.数据库客户端/设计文档/功能设计/书签模板历史功能定位设计.md
Normal file
118
docs/04-功能迭代/GO-DESK-2.数据库客户端/设计文档/功能设计/书签模板历史功能定位设计.md
Normal 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)
|
||||
Reference in New Issue
Block a user