feat: 添加视觉设计语言系统并重构认证页面UI
- 新增 visual_design_language.md 设计规范文档 - 新增 auth 设计 tokens (authBackground, authCard, authInput, feedback 系列等) - 重构登录/注册/验证码/重置密码页面为新设计系统 - 新增 AuthHeroHeader, AuthSurfaceCard, AuthSection, AuthField, PasswordField 组件 - 重构 AppBanner 和 Toast 支持多类型配置 (info/success/warning/error) - 后端 AgentScope: 重整 schemas/prompts/tools 作用域, 新增协议文档 - 更新 AGENTS.md 集成视觉设计语言约束
This commit is contained in:
@@ -11,6 +11,7 @@ from core.db.base_repository import BaseRepository
|
||||
from core.logging import get_logger
|
||||
from models.friendships import Friendship, FriendshipStatus
|
||||
from models.inbox_messages import InboxMessage, InboxMessageStatus, InboxMessageType
|
||||
from schemas.inbox.messages import FriendshipContent
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
@@ -80,7 +81,7 @@ class SQLAlchemyFriendshipRepository(BaseRepository[Friendship]):
|
||||
super().__init__(session, Friendship)
|
||||
|
||||
async def create_request(
|
||||
self, initiator_id: UUID, recipient_id: UUID, content: str | None = None
|
||||
self, initiator_id: UUID, recipient_id: UUID, message: str | None = None
|
||||
) -> tuple[Friendship, InboxMessage]:
|
||||
try:
|
||||
user_low_id = min(initiator_id, recipient_id)
|
||||
@@ -99,12 +100,13 @@ class SQLAlchemyFriendshipRepository(BaseRepository[Friendship]):
|
||||
self._session.add(friendship)
|
||||
await self._session.flush()
|
||||
|
||||
inbox_content = FriendshipContent(type="request", message=message)
|
||||
inbox = InboxMessage(
|
||||
recipient_id=recipient_id,
|
||||
sender_id=initiator_id,
|
||||
message_type=InboxMessageType.FRIEND_REQUEST,
|
||||
friendship_id=friendship.id,
|
||||
content=content,
|
||||
content=inbox_content.model_dump(),
|
||||
status=InboxMessageStatus.PENDING,
|
||||
created_by=initiator_id,
|
||||
)
|
||||
@@ -124,7 +126,7 @@ class SQLAlchemyFriendshipRepository(BaseRepository[Friendship]):
|
||||
self,
|
||||
friendship: Friendship,
|
||||
initiator_id: UUID,
|
||||
content: str | None = None,
|
||||
message: str | None = None,
|
||||
) -> tuple[Friendship, InboxMessage]:
|
||||
try:
|
||||
now = datetime.now(timezone.utc)
|
||||
@@ -133,6 +135,7 @@ class SQLAlchemyFriendshipRepository(BaseRepository[Friendship]):
|
||||
friendship.initiator_id = initiator_id
|
||||
friendship.updated_by = initiator_id
|
||||
|
||||
inbox_content = FriendshipContent(type="request", message=message)
|
||||
inbox = InboxMessage(
|
||||
recipient_id=(
|
||||
friendship.user_low_id
|
||||
@@ -142,7 +145,7 @@ class SQLAlchemyFriendshipRepository(BaseRepository[Friendship]):
|
||||
sender_id=initiator_id,
|
||||
message_type=InboxMessageType.FRIEND_REQUEST,
|
||||
friendship_id=friendship.id,
|
||||
content=content,
|
||||
content=inbox_content.model_dump(),
|
||||
status=InboxMessageStatus.PENDING,
|
||||
created_by=initiator_id,
|
||||
)
|
||||
|
||||
@@ -20,7 +20,7 @@ class FriendRequestResponse(BaseModel):
|
||||
id: UUID
|
||||
sender: UserContext
|
||||
recipient: UserContext
|
||||
content: str | None
|
||||
content: dict | None
|
||||
status: Literal["pending", "accepted", "rejected", "canceled"]
|
||||
created_at: datetime
|
||||
|
||||
|
||||
Reference in New Issue
Block a user