基础路径CNode社区一、主题相关接口1. 获取主题列表接口名称获取主题首页列表请求方式GETURL/topics入参json{ page: Number 页数, tab: String 分类(ask/share/job/good), limit: Number 每页数量, mdrender: String true/false 是否渲染markdown }出参主题列表数组含 id、title、author、create_at 等请求示例https://cnodejs.org/api/v1/topics2. 获取主题详情接口名称获取主题详情请求方式GETURL/topic/:id入参json{ mdrender: String true/false, accesstoken: String 可选用于判断收藏/点赞状态 }出参主题完整信息、回复列表、is_collect、replies.is_uped请求示例https://cnodejs.org/api/v1/topic/5433d5e4e737cbe96dcef3123. 新建主题接口名称新建主题请求方式POSTURL/topics入参json{ accesstoken: String 必填, title: String 必填, tab: String ask/share/job/dev, content: String 必填 }出参示例json{ success: true, topic_id: 5433d5e4e737cbe96dcef312 }4. 编辑主题接口名称编辑主题请求方式POSTURL/topics/update入参json{ accesstoken: String 必填, topic_id: String 必填, title: String 必填, tab: String ask/share/job, content: String 必填 }出参示例json{ success: true, topic_id: 5433d5e4e737cbe96dcef312 }二、主题收藏相关1. 收藏主题接口名称收藏主题请求方式POSTURL/topic_collect/collect入参json{ accesstoken: String 必填, topic_id: String 必填 }出参示例json{ success: true }2. 取消收藏主题接口名称取消收藏主题请求方式POSTURL/topic_collect/de_collect入参json{ accesstoken: String 必填, topic_id: String 必填 }出参示例json{ success: true }3. 获取用户收藏的主题接口名称获取用户收藏主题请求方式GETURL/topic_collect/:loginname入参无路径参数用户名出参收藏主题列表请求示例https://cnodejs.org/api/v1/topic_collect/alsotang三、评论相关1. 新建评论接口名称新建评论请求方式POSTURL/topic/:topic_id/replies入参json{ accesstoken: String 必填, content: String 必填, reply_id: String 可选回复某条评论 }出参示例json{ success: true, reply_id: 5433d5e4e737cbe96dcef312 }2. 评论点赞 / 取消点赞接口名称评论点赞请求方式POSTURL/reply/:reply_id/ups入参json{ accesstoken: String 必填 }出参示例json{ success: true, action: down/up }四、用户相关1. 获取用户详情接口名称获取用户详情请求方式GETURL/user/:loginname入参无路径参数用户名出参用户信息、积分、创建主题、回复等请求示例https://cnodejs.org/api/v1/user/alsotang2. 验证 accessToken接口名称验证 accessToken请求方式POSTURL/accesstoken入参json{ accesstoken: String 必填 }出参示例json{ success: true, loginname: 用户名, id: 用户ID, avatar_url: 头像地址 }失败返回 403五、消息通知相关1. 获取未读消息数接口名称获取未读消息数请求方式GETURL/message/count入参json{ accesstoken: String 必填 }出参示例json{ data: 3 }2. 获取所有消息接口名称获取已读 / 未读消息请求方式GETURL/messages入参json{ accesstoken: String 必填, mdrender: String true/false }出参示例json{ data: { has_read_messages: [], hasnot_read_messages: [ { id: 543fb7abae523bbc80412b26, type: at, has_read: false, author: { loginname: alsotang, avatar_url: https://avatars.githubusercontent.com/u/1147375?v2 }, topic: { id: 542d6ecb9ecb3db94b2b3d0f, title: adfadfadfasdf, last_reply_at: 2014-10-18T07:47:22.563Z }, reply: { id: 543fb7abae523bbc80412b24, content: [alsotang](/user/alsotang) 哈哈, ups: [], create_at: 2014-10-16T12:18:51.566Z } } ] } }3. 标记全部消息已读接口名称标记全部已读请求方式POSTURL/message/mark_all入参json{ accesstoken: String 必填 }出参示例json{ success: true, marked_msgs: [{id:544ce385aeaeb5931556c6f9}] }4. 标记单个消息已读接口名称标记单个已读请求方式POSTURL/message/mark_one/:msg_id入参json{ accesstoken: String 必填 }出参示例json{ success: true, marked_msg_id: 58ec7d39da8344a81eee0c14 }通用说明accessToken登录 CNode → 设置页面获取mdrender默认 true渲染 markdownfalse 则返回原始文本所有需要登录的接口必须携带accesstoken参数