* feat: add like and favorite functionality for feeds - Implemented handleLikeFeed and handleFavoriteFeed methods in mcp_handlers.go to manage liking and favoriting feeds. - Added LikeFavoriteArgs struct in mcp_server.go for handling parameters. - Registered new MCP tools for liking and favoriting feeds in registerTools function. - Introduced LikeFeed and FavoriteFeed methods in XiaohongshuService to interact with the respective actions. - Created LikeFavoriteAction in a new file to encapsulate the logic for liking and favoriting feeds on the Xiaohongshu platform. * "Fix-build-errors" * refactor: streamline like and favorite actions in LikeFavoriteAction - Introduced a generic method `performInteractAction` to handle both liking and favoriting feeds, reducing code duplication. - Updated logging to reflect the action type being performed (like or favorite). - Enhanced state verification after interaction to ensure accurate feedback on success or failure. - Removed the `clickLastMatch` function, simplifying the interaction logic. * "Add-unlike-and-unfavorite-functionality" * "Refactor-performInteractAction-function" * "Refactor-split-LikeFavoriteAction-into-separate-actions" --------- Co-authored-by: chekayo <9827969+chekayo@user.noreply.gitee.com>
73 lines
1.9 KiB
Go
73 lines
1.9 KiB
Go
package main
|
|
|
|
// HTTP API 响应类型
|
|
|
|
// ErrorResponse 错误响应
|
|
type ErrorResponse struct {
|
|
Error string `json:"error"`
|
|
Code string `json:"code"`
|
|
Details any `json:"details,omitempty"`
|
|
}
|
|
|
|
// SuccessResponse 成功响应
|
|
type SuccessResponse struct {
|
|
Success bool `json:"success"`
|
|
Data any `json:"data"`
|
|
Message string `json:"message,omitempty"`
|
|
}
|
|
|
|
// MCP 相关类型(用于内部转换)
|
|
|
|
// MCPToolResult MCP 工具结果(内部使用)
|
|
type MCPToolResult struct {
|
|
Content []MCPContent `json:"content"`
|
|
IsError bool `json:"isError,omitempty"`
|
|
}
|
|
|
|
// MCPContent MCP 内容(内部使用)
|
|
type MCPContent struct {
|
|
Type string `json:"type"`
|
|
Text string `json:"text"`
|
|
MimeType string `json:"mimeType"`
|
|
Data string `json:"data"`
|
|
}
|
|
|
|
// FeedDetailRequest Feed详情请求
|
|
type FeedDetailRequest struct {
|
|
FeedID string `json:"feed_id" binding:"required"`
|
|
XsecToken string `json:"xsec_token" binding:"required"`
|
|
}
|
|
|
|
// FeedDetailResponse Feed详情响应
|
|
type FeedDetailResponse struct {
|
|
FeedID string `json:"feed_id"`
|
|
Data any `json:"data"`
|
|
}
|
|
|
|
// PostCommentRequest 发表评论请求
|
|
type PostCommentRequest struct {
|
|
FeedID string `json:"feed_id" binding:"required"`
|
|
XsecToken string `json:"xsec_token" binding:"required"`
|
|
Content string `json:"content" binding:"required"`
|
|
}
|
|
|
|
// PostCommentResponse 发表评论响应
|
|
type PostCommentResponse struct {
|
|
FeedID string `json:"feed_id"`
|
|
Success bool `json:"success"`
|
|
Message string `json:"message"`
|
|
}
|
|
|
|
// UserProfileRequest 用户主页请求
|
|
type UserProfileRequest struct {
|
|
UserID string `json:"user_id" binding:"required"`
|
|
XsecToken string `json:"xsec_token" binding:"required"`
|
|
}
|
|
|
|
// ActionResult 通用动作响应(点赞/收藏等)
|
|
type ActionResult struct {
|
|
FeedID string `json:"feed_id"`
|
|
Success bool `json:"success"`
|
|
Message string `json:"message"`
|
|
}
|