Files
cutThenThink/docs/database_quick_ref.md
congsh c4a77f8aa4 feat: 实现CutThenThink P0阶段核心功能
项目初始化
- 创建完整项目结构(src/, data/, docs/, examples/, tests/)
- 配置requirements.txt依赖
- 创建.gitignore

P0基础框架
- 数据库模型:Record模型,6种分类类型
- 配置管理:YAML配置,支持AI/OCR/云存储/UI配置
- OCR模块:PaddleOCR本地识别,支持云端扩展
- AI模块:支持OpenAI/Claude/通义/Ollama,6种分类
- 存储模块:完整CRUD,搜索,统计,导入导出
- 主窗口框架:侧边栏导航,米白配色方案
- 图片处理:截图/剪贴板/文件选择/图片预览
- 处理流程整合:OCR→AI→存储串联,Markdown展示,剪贴板复制
- 分类浏览:卡片网格展示,分类筛选,搜索,详情查看

技术栈
- PyQt6 + SQLAlchemy + PaddleOCR + OpenAI/Claude SDK
- 共47个Python文件,4000+行代码

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 18:21:31 +08:00

72 lines
1.3 KiB
Markdown

# 数据库模型快速参考
## 导入
```python
from src.models import (
init_database, # 初始化数据库
get_db, # 获取会话
Record, # 记录模型
RecordCategory, # 分类常量
)
```
## 分类类型
```python
RecordCategory.TODO # 待办事项
RecordCategory.NOTE # 笔记
RecordCategory.IDEA # 灵感
RecordCategory.REF # 参考资料
RecordCategory.FUNNY # 搞笑文案
RecordCategory.TEXT # 纯文本
```
## 常用操作
### 创建记录
```python
session = get_db()
record = Record(
image_path="/path/to/image.png",
ocr_text="识别文本",
category=RecordCategory.NOTE,
tags=["标签"]
)
session.add(record)
session.commit()
```
### 查询记录
```python
session = get_db()
record = session.query(Record).filter_by(id=1).first()
records = session.query(Record).all()
```
### 更新记录
```python
record.notes = "新备注"
record.add_tag("新标签")
session.commit()
```
### 转换字典
```python
data = record.to_dict()
```
## Record 字段
| 字段 | 类型 | 说明 |
|------|------|------|
| id | int | 主键 |
| image_path | str | 图片路径 |
| ocr_text | str | OCR结果 |
| category | str | 分类 |
| ai_result | str | AI内容 |
| tags | list | 标签列表 |
| notes | str | 备注 |
| created_at | datetime | 创建时间 |
| updated_at | datetime | 更新时间 |