社区交流模块接口文档 ================ 基础信息 ------- - 基础路径: /api/v1/community - 请求方式: REST - 数据格式: JSON - 认证方式: Bearer Token 数据结构 ------- Post 帖子对象: { id: number, // 帖子ID title: string, // 标题 content: string, // 内容 createTime: string, // 发布时间 author: { // 作者信息 id: number, name: string, avatar: string }, images?: string[], // 图片列表 tags: string[], // 标签 likes: number, // 点赞数 comments: number, // 评论数 isLiked: boolean, // 是否已点赞 isFollowing: boolean // 是否已关注作者 } Topic 话题对象: { id: number, // 话题ID rank: number, // 排名 title: string, // 标题 hot: string // 热度 } Comment 评论对象: { id: number, // 评论ID postId: number, // 帖子ID userId: number, // 用户ID userName: string, // 用户名 content: string, // 评论内容 time: string, // 评论时间 likes: number, // 点赞数 replies?: Comment[] // 回复列表 } API 接口 ------- 1. 获取帖子列表 GET /api/v1/community/posts 请求参数: | 参数名 | 类型 | 必填 | 说明 | | category | string | 否 | 分类 | | page | number | 否 | 页码,默认1 | | size | number | 否 | 每页数量,默认10 | | keyword | string | 否 | 搜索关键词 | 响应示例: { "code": 200, "message": "success", "data": { "total": 100, "records": [ { "id": 1, "title": "今天参加了太极拳课程", "content": "今天和社区的老朋友们一起学习太极拳,感觉特别好!", "createTime": "2024-03-20 10:30", "author": { "id": 1, "name": "张大爷", "avatar": "https://example.com/avatar1.jpg" }, "images": [ "https://example.com/taichi1.jpg", "https://example.com/taichi2.jpg" ], "tags": ["太极拳", "健康运动", "社区活动"], "likes": 28, "comments": 12, "isLiked": false, "isFollowing": false } ] } } 2. 发布帖子 POST /api/v1/community/posts 请求参数: { "title": "分享一个养生小妙方", "content": "每天坚持喝一杯蜂蜜水,对身体很有好处...", "tags": ["养生", "健康", "生活分享"], "images": ["base64图片数据"] } 3. 获取热门话题 GET /api/v1/community/topics/hot 响应示例: { "code": 200, "message": "success", "data": [ { "id": 1, "rank": 1, "title": "健康养生", "hot": "999+" } ] } 4. 获取活跃用户 GET /api/v1/community/users/active 响应示例: { "code": 200, "message": "success", "data": [ { "id": 1, "name": "李奶奶", "avatar": "https://example.com/avatar2.jpg", "signature": "快乐生活每一天", "isFollowing": true } ] } 5. 关注/取消关注用户 POST /api/v1/community/users/{id}/follow 6. 点赞/取消点赞帖子 POST /api/v1/community/posts/{id}/like 7. 获取评论列表 GET /api/v1/community/posts/{id}/comments 8. 添加评论 POST /api/v1/community/posts/{id}/comments 请求参数: { "content": "评论内容", "parentId": null // 回复其他评论时设置 } 9. 上传图片 POST /api/v1/community/upload Content-Type: multipart/form-data 10. 获取推荐帖子 GET /api/v1/community/posts/recommended 错误码说明 -------- | 错误码 | 说明 | | 200 | 成功 | | 400 | 请求参数错误 | | 401 | 未授权 | | 403 | 禁止访问 | | 404 | 资源不存在 | | 500 | 服务器内部错误 | 注意事项 ------- 1. 图片上传要求: - 支持格式:jpg、png、gif - 单张大小限制:5MB - 每篇帖子最多9张图片 2. 评论规则: - 支持多级回复 - 单条评论字数限制:200字 - 评论需遵守社区规范 3. 内容审核: - 帖子和评论发布前需经过敏感词过滤 - 图片需进行内容安全检测 - 违规内容将被自动屏蔽 4. 缓存策略: - 帖子列表缓存:5分钟 - 热门话题缓存:1小时 - 活跃用户缓存:30分钟 5. 访问频率限制: - 发帖:10次/小时 - 评论:20次/小时 - 点赞:100次/小时