60 lines
2.7 KiB
Python
60 lines
2.7 KiB
Python
|
|
# =============================================================================
|
|||
|
|
# 企微IT智能服务台 — 会议室操作指南模型
|
|||
|
|
# =============================================================================
|
|||
|
|
# 说明:存储会议室设备操作指南数据
|
|||
|
|
# 终端大屏展示简要步骤 + 二维码指向详细文档
|
|||
|
|
# =============================================================================
|
|||
|
|
|
|||
|
|
from datetime import datetime
|
|||
|
|
|
|||
|
|
from sqlalchemy import Boolean, DateTime, Integer, String, Text, func
|
|||
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|||
|
|
|
|||
|
|
from app.database import Base
|
|||
|
|
|
|||
|
|
|
|||
|
|
class MeetingroomGuide(Base):
|
|||
|
|
"""会议室操作指南模型。
|
|||
|
|
|
|||
|
|
按设备类型分类,每条指南包含终端大屏展示的简要说明
|
|||
|
|
和二维码指向的详细文档URL。
|
|||
|
|
|
|||
|
|
Attributes:
|
|||
|
|
id: 自增主键
|
|||
|
|
category: 设备类型(projector/video_conf/aircon/phone/other)
|
|||
|
|
title: 指南标题(如"投影仪使用指南")
|
|||
|
|
brief: 简要操作步骤(终端大屏展示,支持多行文本)
|
|||
|
|
detail_url: 详细文档URL(二维码指向的链接)
|
|||
|
|
icon: 图标emoji(如"📽️")
|
|||
|
|
sort_order: 排序序号(越小越靠前)
|
|||
|
|
is_active: 是否启用
|
|||
|
|
created_at: 创建时间
|
|||
|
|
updated_at: 更新时间
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
__tablename__ = "meetingroom_guide"
|
|||
|
|
|
|||
|
|
# 自增主键
|
|||
|
|
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
|
|||
|
|
# 设备类型分类
|
|||
|
|
category: Mapped[str] = mapped_column(String(50), index=True, nullable=False, comment="设备类型")
|
|||
|
|
# 指南标题
|
|||
|
|
title: Mapped[str] = mapped_column(String(100), nullable=False, comment="指南标题")
|
|||
|
|
# 简要操作步骤(终端大屏展示)
|
|||
|
|
brief: Mapped[str] = mapped_column(Text, nullable=False, default="", comment="简要操作步骤")
|
|||
|
|
# 详细文档URL(二维码指向)
|
|||
|
|
detail_url: Mapped[str] = mapped_column(String(500), nullable=False, default="", comment="详细文档URL")
|
|||
|
|
# 图标emoji
|
|||
|
|
icon: Mapped[str] = mapped_column(String(50), nullable=False, default="📋", comment="图标emoji")
|
|||
|
|
# 排序序号
|
|||
|
|
sort_order: Mapped[int] = mapped_column(Integer, nullable=False, default=0, comment="排序序号")
|
|||
|
|
# 是否启用
|
|||
|
|
is_active: Mapped[bool] = mapped_column(Boolean, nullable=False, default=True, comment="是否启用")
|
|||
|
|
# 创建时间
|
|||
|
|
created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), nullable=False)
|
|||
|
|
# 更新时间
|
|||
|
|
updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), onupdate=func.now(), nullable=False)
|
|||
|
|
|
|||
|
|
def __repr__(self) -> str:
|
|||
|
|
return f"<MeetingroomGuide(id={self.id}, category='{self.category}', title='{self.title}')>"
|