"""截图分类。预置常见类目,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": "无法明确归类"}, ]