原文:https://cnodejs.org/api
update 2019-03-21: 涉及发帖和发评论的接口都已经下线了,太多人为了测试客户端乱发帖了。
主题
get /topics 主题首页
接收 get 参数
- page
Number页数 - tab
String主题分类。目前有asksharejobgood - limit
Number每一页的主题数量 - mdrender
String当为false时,不渲染。默认为true,渲染出现的所有 markdown 格式文本。
get /topic/:id 主题详情
接收 get 参数
- mdrender
String当为false时,不渲染。默认为true,渲染出现的所有 markdown 格式文本。 - accesstoken
String当需要知道一个主题是否被特定用户收藏以及对应评论是否被特定用户点赞时,才需要带此参数。会影响返回值中的is_collect以及replies列表中的is_uped值。
示例:/api/v1/topic/5433d5e4e737cbe96dcef312
主题收藏
post /topic_collect/collect 收藏主题
接收 post 参数
- accesstoken
String用户的 accessToken - topic_id
String主题的id
返回值示例
{"success": true}
post /topic_collect/de_collect 取消主题
接收 post 参数
- accesstoken
String用户的 accessToken - topic_id
String主题的id
返回值示例
{success: true}
get /topic_collect/:loginname 用户所收藏的主题
示例:/api/v1/topic_collect/alsotang
用户
get /user/:loginname 用户详情
post /accesstoken 验证 accessToken 的正确性
接收 post 参数
- accesstoken
String用户的 accessToken
如果成功匹配上用户,返回成功信息。否则 403。
返回值示例
{success: true, loginname: req.user.loginname, id: req.user.id, avatar_url: req.user.avatar_url}
消息通知
get /message/count 获取未读消息数
接收 get 参数
- accesstoken
String
返回值示例
{ data: 3 }
get /messages 获取已读和未读消息
接收 get 参数
- accesstoken
String - mdrender
String当为false时,不渲染。默认为true,渲染出现的所有 markdown 格式文本。
返回值示例
{ 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?v=2" }, 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" } }, ... ] } }
post /message/mark_all 标记全部已读
接收 post 参数
- accesstoken
String
返回值示例
{ success: true, marked_msgs: [ { id: '544ce385aeaeb5931556c6f9' } ] }
post /message/mark_one/:msg_id 标记单个消息为已读
请求示例:/message/mark_one/58ec7d39da8344a81eee0c14
接收 post 参数
- accesstoken
String
返回值示例
{ success: true, marked_msg_id: "58ec7d39da8344a81eee0c14" }
知识点
- 如何获取 accessToken? 用户登录后,在设置页面可以看到自己的 accessToken。 建议各移动端应用使用手机扫码的形式登录,验证使用
/accesstoken接口,登录后长期保存 accessToken。
