taolib.testing.analytics.models#

分析模块数据模型。

导出所有 Pydantic 模型和枚举。

Submodules#

Classes#

DeviceType

设备类型。

EventType

事件类型。

EventBase

事件基础字段。

EventBatchCreate

批量创建事件的输入模型。

EventCreate

创建事件的输入模型。

EventDocument

事件的 MongoDB 文档模型。

EventResponse

事件的 API 响应模型。

SessionDocument

聚合会话的 MongoDB 文档模型。

Package Contents#

class taolib.testing.analytics.models.DeviceType#

Bases: enum.StrEnum

设备类型。

DESKTOP = 'desktop'#
MOBILE = 'mobile'#
TABLET = 'tablet'#
UNKNOWN = 'unknown'#
class taolib.testing.analytics.models.EventType#

Bases: enum.StrEnum

事件类型。

PAGE_VIEW = 'page_view'#
CLICK = 'click'#
FEATURE_USE = 'feature_use'#
SESSION_START = 'session_start'#
SESSION_END = 'session_end'#
NAVIGATION = 'navigation'#
TIME_ON_SECTION = 'time_on_section'#
CUSTOM = 'custom'#
class taolib.testing.analytics.models.EventBase#

Bases: pydantic.BaseModel

事件基础字段。

event_type: taolib.testing.analytics.models.enums.EventType#
app_id: str#
session_id: str#
user_id: str | None#
timestamp: datetime.datetime#
page_url: str#
page_title: str#
referrer: str | None#
device_type: taolib.testing.analytics.models.enums.DeviceType#
user_agent: str | None#
screen_width: int | None#
screen_height: int | None#
metadata: dict[str, Any]#
class taolib.testing.analytics.models.EventBatchCreate#

Bases: pydantic.BaseModel

批量创建事件的输入模型。

events: list[EventCreate]#
class taolib.testing.analytics.models.EventCreate#

Bases: EventBase

创建事件的输入模型。

class taolib.testing.analytics.models.EventDocument#

Bases: EventBase

事件的 MongoDB 文档模型。

id: str#
model_config#
to_response() EventResponse#

转换为 API 响应。

class taolib.testing.analytics.models.EventResponse#

Bases: EventBase

事件的 API 响应模型。

id: str#
model_config#
class taolib.testing.analytics.models.SessionDocument#

Bases: pydantic.BaseModel

聚合会话的 MongoDB 文档模型。

id: str#
app_id: str#
user_id: str | None#
device_type: taolib.testing.analytics.models.enums.DeviceType#
started_at: datetime.datetime#
ended_at: datetime.datetime | None#
duration_seconds: float | None#
page_count: int#
event_count: int#
entry_page: str#
exit_page: str | None#
pages_visited: list[str]#
model_config#