AIDeveloper-PC/gui_ai_developer/models/document.py

51 lines
1.3 KiB
Python
Raw Normal View History

2026-01-31 09:32:00 +00:00
"""
文档模型
"""
from datetime import datetime
from typing import Dict, Any
class Document:
"""文档数据模型"""
def __init__(self, name: str, doc_type: str, size: str = "0 KB"):
"""
初始化文档
Args:
name: 文档名称
doc_type: 文档类型
size: 文件大小
"""
self.name = name
self.doc_type = doc_type
self.size = size
self.created_at = datetime.now()
self.icon = self._get_icon()
def _get_icon(self) -> str:
"""根据文档类型获取图标"""
icon_map = {
'SRS': '📄',
'功能设计': '📋',
'概要设计': '🏗️',
'详细设计': '📐',
'API': '📖',
'数据库': '🗄️',
'测试': '',
'用户手册': '📚'
}
return icon_map.get(self.doc_type, '📄')
def to_dict(self) -> Dict[str, Any]:
"""转换为字典"""
return {
'name': self.name,
'type': self.doc_type,
'size': self.size,
'created_at': self.created_at.strftime('%Y-%m-%d %H:%M')
}
def __str__(self) -> str:
return f"{self.icon} {self.name}"