namespace go moment enum Code { Success = 1 ParamInvalid = 2 DBErr = 3 ServerError = 4 } // 动态可见性枚举 enum MomentVisibility { VISIBILITY_PUBLIC = 1 // 公开 VISIBILITY_FANS_ONLY = 2 // 仅关注可见 VISIBILITY_SELF_ONLY = 3 // 仅自己可见 } // 动态/评论状态枚举 enum ContentStatus { CONTENT_STATUS_DELETED = 0 // 已删除 CONTENT_STATUS_NORMAL = 1 // 正常 } // 动态图片结构体 struct MomentFile { 1: i64 id // ID 2: i64 moment_id // 所属动态ID 3: string file_url // 文件URL 4: string file_type // 文件类型 5: i8 sort_order //文件顺序 } // 动态点赞结构体 struct MomentLike { 1: i64 id // 点赞ID 2: i64 moment_id // 动态ID 3: string user_id // 点赞用户ID 4: string created_at // 点赞时间 } // 评论文件结构体 struct CommentFile { 1: i64 id // ID 2: i64 comment_id // 所属评论ID 3: string file_url // 文件URL 4: string file_type // 文件类型 5: i8 sort_order //文件顺序 } // 动态评论结构体 struct MomentComment { 1: i64 id // 评论ID 2: i64 moment_id // 动态ID 3: string user_id // 评论用户ID 4: string content // 评论内容 5: i64 parent_id // 父评论ID,用于回复 6: string created_at // 创建时间 7: list files //评论文件 } // 动态结构体 struct Moment { 1: i64 id // 动态ID 2: string user_id // 发布者用户ID 5: string content // 动态内容 6: MomentVisibility visibility // 可见性 7: string location // 发布地点 8: ContentStatus status // 状态 9: i32 like_count // 点赞数 10: i32 comment_count // 评论数 11: list files // 动态文件列表 12: string created_at // 创建时间 13: string updated_at // 更新时间 } // 发布动态请求 struct CreateMomentRequest { 1: string user_id // 发布者用户ID 2: string content // 动态内容 3: MomentVisibility visibility // 可见性,默认公开 4: string location // 发布地点 5: list file_urls // 图片URL列表 } // 发布动态响应 struct CreateMomentResponse { 1: Code code 2: string msg } // 获取动态列表请求 struct ListMomentsRequest { 1: string user_id // 当前用户ID 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量,默认10 } // 获取动态列表响应 struct ListMomentsResponse { 1: Code code 2: list moments // 动态列表 3: i32 total // 总数量 } // 删除动态请求 struct DeleteMomentRequest { 1: string user_id // 当前用户ID 2: i64 moment_id // 动态ID } // 删除动态响应 struct DeleteMomentResponse { 1: Code code 2: string msg } // 点赞动态请求 struct LikeMomentRequest { 1: string user_id // 当前用户ID 2: i64 moment_id // 动态ID } // 点赞动态响应 struct LikeMomentResponse { 1: Code code 2: string msg // 提示信息 } // 取消点赞请求 struct UnlikeMomentRequest { 1: string user_id // 当前用户ID 2: i64 moment_id // 动态ID } // 取消点赞响应 struct UnlikeMomentResponse { 1: Code code 2: string msg } // 获取动态点赞列表请求 struct ListMomentLikesRequest { 1: i64 moment_id // 动态ID 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量,默认20 } // 获取动态点赞列表响应 struct ListMomentLikesResponse { 1: Code code 2: list likes // 点赞列表 3: i32 total // 总数量 } //获取指定用户喜欢动态列表请求 struct ListUserLikesRequest{ 1: i64 user_id // ID 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量,默认20 } // 获取指定用户喜欢动态列表响应 struct ListUserLikesResponse { 1: Code code 2: list likes // 点赞列表 3: i32 total // 总数量 } // 收藏动态请求 struct CollectMomentRequest { 1: string user_id // 当前用户ID 2: i64 moment_id // 动态ID } // 收藏动态响应 struct CollectMomentResponse { 1: Code code 2: string msg // 提示信息 } // 取消收藏动态请求 struct UnCollectMomentRequest { 1: string user_id // 当前用户ID 2: i64 moment_id // 动态ID } // 取消收藏动态响应 struct UnCollectMomentResponse { 1: Code code 2: string msg // 提示信息 } //获取指定用户收藏动态列表请求 struct ListUserCollectsRequest{ 1: i64 user_id // ID 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量,默认20 } // 获取指定用户收藏动态列表响应 struct ListUserCollectsResponse { 1: Code code 2: list likes // 点赞列表 3: i32 total // 总数量 } // 评论动态请求 struct CommentMomentRequest { 1: string user_id // 当前用户ID 2: i64 moment_id // 动态ID 3: string content // 评论内容 4: i64 parent_id // 父评论ID,用于回复 5: list files //评论文件 } // 评论动态响应 struct CommentMomentResponse { 1: Code code // 是否成功 2: string msg // 提示信息 } // 获取动态评论列表请求 struct ListMomentCommentsRequest { 1: i64 moment_id // 动态ID 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量,默认10 } // 获取动态评论列表响应 struct ListMomentCommentsResponse { 1: Code code 2: list comments // 评论列表 3: i32 total // 总数量 4: string msg // 提示信息 } // 删除评论请求 struct DeleteCommentRequest { 1: string user_id // 当前用户ID 2: i64 comment_id // 评论ID } // 删除评论响应 struct DeleteCommentResponse { 1: Code code 2: string msg } struct ListMomentsAppointRequest { 1: string user_id // 当前用户ID 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量,默认10 } // 获取动态列表响应 struct ListMomentsAppointResponse { 1: Code code 2: list moments // 动态列表 3: i32 total // 总数量 } struct TagInfo{ 1: i32 id 2: string tag_name } struct CreateTagResponse { 1: Code code 2: string msg } struct CreateTagRequest { 1: string tag_name 2: string user_id } struct DeleteTagResponse { 1: Code code 2: string msg } struct DeleteTagRequest { 1: string tag_name 2: string user_id } struct ListTagResponse{ 1: Code code 2: string msg 3: list tags 4: i32 total } struct ListTagRequest{ 1: string user_id 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量 } struct FindTagRequest{ 1: string keyword // 关键字 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量 } struct FindTagResponse{ 1: Code code 2: list tags 3: i32 total } struct BindTagResponse{ 1: Code code 2: string msg } struct BindTagRequest{ 1: i32 moment_id 2: list tag_id } // 获取指定tag动态列表请求 struct ListMomentsByTagRequest { 1: i32 tag_id 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量,默认10 } // 获取指定tag动态列表响应 struct ListMomentsByTagResponse { 1: Code code 2: list moments // 动态列表 3: i32 total // 总数量 } struct CategoryInfo{ 1: i32 id 2: string category_name } struct ListCategoryResponse{ 1: Code code 2: string msg 3: list categorys } struct ListCategoryRequest{ 1: string user_id } struct BindCategoryResponse{ 1: Code code 2: string msg } struct BindCategoryRequest{ 1: i32 moment_id 2: list category_id } // 获取指定分类动态列表请求 struct ListMomentsByCategoryRequest { 1: i32 category_id 2: i32 page // 页码,默认1 3: i32 page_size // 每页数量,默认10 } // 获取指定分类动态列表响应 struct ListMomentsByCategoryResponse { 1: Code code 2: list moments // 动态列表 3: i32 total // 总数量 } // 动态服务接口 service MomentsService { // 发布动态 CreateMomentResponse CreateMoment(1: CreateMomentRequest req)(api.post="/v1/weMedia/moments/") // 获取动态列表 ListMomentsResponse ListMoments(1: ListMomentsRequest req)(api.get="/v1/weMedia/moments/list/") //获取指定用户动态列表 ListMomentsAppointResponse ListMomentsAppoint(1: ListMomentsAppointRequest req)(api.get="/v1/weMedia/moments/user/list/") // 删除动态 DeleteMomentResponse DeleteMoment(1: DeleteMomentRequest req)(api.delete="/v1/weMedia/moments/") // 点赞动态 LikeMomentResponse LikeMoment(1: LikeMomentRequest req)(api.post="/v1/weMedia/moments/like/") // 取消点赞 UnlikeMomentResponse UnlikeMoment(1: UnlikeMomentRequest req)(api.post="/v1/weMedia/moments/dislike/") // 获取动态点赞列表 ListMomentLikesResponse ListMomentLikes(1: ListMomentLikesRequest req)(api.get="/v1/weMedia/moments/like/list/") //获取指定用户喜欢列表 ListUserLikesResponse ListUserLikes(1: ListUserLikesRequest req)(api.get="/v1/weMedia/moments/userlike/list/") // 收藏动态 CollectMomentResponse CollectMoment(1: CollectMomentRequest req)(api.post="/v1/weMedia/moments/collect/") // 取消收藏 UnCollectMomentResponse UnCollectMoment(1: UnCollectMomentRequest req)(api.post="/v1/weMedia/moments/unCollect/") //获取指定用户喜欢列表 ListUserCollectsResponse ListUserCollects(1: ListUserCollectsRequest req)(api.get="/v1/weMedia/moments/userCollects/list/") // 评论动态 CommentMomentResponse CommentMoment(1: CommentMomentRequest req)(api.post="/v1/weMedia/moments/comment/") // 获取动态评论列表 ListMomentCommentsResponse ListMomentComments(1: ListMomentCommentsRequest req)(api.get="/v1/weMedia/moments/comment/list/") // 删除评论 DeleteCommentResponse DeleteComment(1: DeleteCommentRequest req)(api.delete="/v1/weMedia/moments/comment/") //新增tag CreateTagResponse CreateTag(1: CreateTagRequest req)(api.post="/v1/weMedia/moments/tag/") //删除tag DeleteTagResponse DeleteTag(1: DeleteTagRequest req)(api.delete="/v1/weMedia/moments/tag/") //获取tag列表 ListTagResponse ListTag(1: ListTagRequest req)(api.get="/v1/weMedia/moments/tag/") //获取tag列表 FindTagResponse FandTag(1: FindTagRequest req)(api.get="/v1/weMedia/moments/tag/find/") //绑定tag BindTagResponse BindTag(1: BindTagRequest req)(api.post="/v1/weMedia/moments/tag/bind/") //通过tag获取文章列表 ListMomentsByTagResponse ListMomentsByTag(1: ListMomentsByTagRequest req)(api.get="/v1/weMedia/moments/tag/list/") //获取分类列表 ListCategoryResponse ListCategory(1: ListCategoryRequest req)(api.get="/v1/weMedia/moments/category/") //绑定分类 BindCategoryResponse BindCategory(1: BindCategoryRequest req)(api.post="/v1/weMedia/moments/category/") //通过分类获取文章列表 ListMomentsByCategoryResponse ListMomentsByCategory(1: ListMomentsByCategoryRequest req)(api.get="/v1/weMedia/moments/category/list/") }