from dataclasses import dataclass @dataclass(frozen=True) class UserContext: """用户上下文:承载 Django 用户中心认证后的用户 ID 和入口元数据。""" user_id: str tenant_id: str | None = None role: str | None = None class_id: str | None = None institution_id: int | None = None department_id: int | None = None entry_scene: str | None = None request_id: str | None = None ip_address: str | None = None user_agent: str | None = None username: str | None = None display_name: str | None = None phone: str | None = None major: str | None = None training_stage: str | None = None learning_target: str | None = None auth_source: str = "django_user_center" profile: dict | None = None