Files
congsh 5c028d7952 Initial commit: snapAna 截图智能整理工具
包含 FastAPI 后端、React 前端、队列/OCR/标签/待办等完整功能。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 15:45:50 +08:00

33 lines
1.6 KiB
Python

"""截图分类。预置常见类目,AI 命中即可写回。"""
from __future__ import annotations
from sqlalchemy import Integer, String, Text, UniqueConstraint
from sqlalchemy.orm import Mapped, mapped_column
from app.core.db import Base
class Category(Base):
"""截图分类。"""
__tablename__ = "categories"
__table_args__ = (UniqueConstraint("name", name="uq_categories_name"),)
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
name: Mapped[str] = mapped_column(String(64), nullable=False)
color: Mapped[str | None] = mapped_column(String(16), nullable=True)
prompt_hint: Mapped[str | None] = mapped_column(Text, nullable=True)
# 首次启动时灌入的默认分类
DEFAULT_CATEGORIES: list[dict[str, str | None]] = [
{"name": "知识技术", "color": "#3b82f6", "prompt_hint": "技术文章、代码、教程、文档截图"},
{"name": "梗图幽默", "color": "#f59e0b", "prompt_hint": "搞笑图、表情包、梗图"},
{"name": "小说文字", "color": "#8b5cf6", "prompt_hint": "长段文字、小说阅读、电子书"},
{"name": "聊天记录", "color": "#10b981", "prompt_hint": "微信/QQ/Slack 等聊天截图"},
{"name": "UI 设计", "color": "#ec4899", "prompt_hint": "界面设计、网页/App 灵感参考"},
{"name": "生活记录", "color": "#22c55e", "prompt_hint": "日常照片、生活记录、票据"},
{"name": "购物商品", "color": "#ef4444", "prompt_hint": "商品截图、价格、订单"},
{"name": "其他", "color": "#6b7280", "prompt_hint": "无法明确归类"},
]