taolib.testing.analytics.models.event#

事件数据模型。

定义 Event 的 4-tier Pydantic 模型: Base → Create/BatchCreate → Response → Document

以及 SessionDocument 聚合会话模型。

Classes#

EventBase

事件基础字段。

EventCreate

创建事件的输入模型。

EventBatchCreate

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

EventResponse

事件的 API 响应模型。

EventDocument

事件的 MongoDB 文档模型。

SessionDocument

聚合会话的 MongoDB 文档模型。

Module Contents#

class taolib.testing.analytics.models.event.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.event.EventCreate#

Bases: EventBase

创建事件的输入模型。

class taolib.testing.analytics.models.event.EventBatchCreate#

Bases: pydantic.BaseModel

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

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

Bases: EventBase

事件的 API 响应模型。

id: str#
model_config#
class taolib.testing.analytics.models.event.EventDocument#

Bases: EventBase

事件的 MongoDB 文档模型。

id: str#
model_config#
to_response() EventResponse#

转换为 API 响应。

class taolib.testing.analytics.models.event.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#