CNode API v1 完整接口文档(JSON 规范整理)

基础路径:CNode社区


一、主题相关接口

1. 获取主题列表

  • 接口名称:获取主题首页列表
  • 请求方式:GET
  • URL:/topics
  • 入参

json

复制代码
{
  "page": "Number 页数",
  "tab": "String 分类(ask/share/job/good)",
  "limit": "Number 每页数量",
  "mdrender": "String true/false 是否渲染markdown"
}

2. 获取主题详情

  • 接口名称:获取主题详情
  • 请求方式:GET
  • URL:/topic/:id
  • 入参

json

复制代码
{
  "mdrender": "String true/false",
  "accesstoken": "String 可选,用于判断收藏/点赞状态"
}

3. 新建主题

  • 接口名称:新建主题
  • 请求方式:POST
  • URL:/topics
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "title": "String 必填",
  "tab": "String ask/share/job/dev",
  "content": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "topic_id": "5433d5e4e737cbe96dcef312"
}

4. 编辑主题

  • 接口名称:编辑主题
  • 请求方式:POST
  • URL:/topics/update
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "topic_id": "String 必填",
  "title": "String 必填",
  "tab": "String ask/share/job",
  "content": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "topic_id": "5433d5e4e737cbe96dcef312"
}

二、主题收藏相关

1. 收藏主题

  • 接口名称:收藏主题
  • 请求方式:POST
  • URL:/topic_collect/collect
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "topic_id": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true
}

2. 取消收藏主题

  • 接口名称:取消收藏主题
  • 请求方式:POST
  • URL:/topic_collect/de_collect
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "topic_id": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true
}

3. 获取用户收藏的主题


三、评论相关

1. 新建评论

  • 接口名称:新建评论
  • 请求方式:POST
  • URL:/topic/:topic_id/replies
  • 入参

json

复制代码
{
  "accesstoken": "String 必填",
  "content": "String 必填",
  "reply_id": "String 可选,回复某条评论"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "reply_id": "5433d5e4e737cbe96dcef312"
}

2. 评论点赞 / 取消点赞

  • 接口名称:评论点赞
  • 请求方式:POST
  • URL:/reply/:reply_id/ups
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "action": "down/up"
}

四、用户相关

1. 获取用户详情

  • 接口名称:获取用户详情
  • 请求方式:GET
  • URL:/user/:loginname
  • 入参:无(路径参数用户名)
  • 出参:用户信息、积分、创建主题、回复等
  • 请求示例https://cnodejs.org/api/v1/user/alsotang

2. 验证 accessToken

  • 接口名称:验证 accessToken
  • 请求方式:POST
  • URL:/accesstoken
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "loginname": "用户名",
  "id": "用户ID",
  "avatar_url": "头像地址"
}
  • 失败:返回 403

五、消息通知相关

1. 获取未读消息数

  • 接口名称:获取未读消息数
  • 请求方式:GET
  • URL:/message/count
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "data": 3
}

2. 获取所有消息

  • 接口名称:获取已读 / 未读消息
  • 请求方式:GET
  • URL:/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?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"
        }
      }
    ]
  }
}

3. 标记全部消息已读

  • 接口名称:标记全部已读
  • 请求方式:POST
  • URL:/message/mark_all
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "marked_msgs": [{"id":"544ce385aeaeb5931556c6f9"}]
}

4. 标记单个消息已读

  • 接口名称:标记单个已读
  • 请求方式:POST
  • URL:/message/mark_one/:msg_id
  • 入参

json

复制代码
{
  "accesstoken": "String 必填"
}
  • 出参示例

json

复制代码
{
  "success": true,
  "marked_msg_id": "58ec7d39da8344a81eee0c14"
}

通用说明

  1. accessToken:登录 CNode → 设置页面获取
  2. mdrender:默认 true,渲染 markdown;false 则返回原始文本
  3. 所有需要登录的接口必须携带 accesstoken 参数
相关推荐
lee_curry9 小时前
第四章 jvm中的垃圾回收器
java·jvm·垃圾收集器
QQ1__81151751510 小时前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
钛态10 小时前
前端微前端架构:大项目的救命稻草还是自找麻烦?
前端·vue·react·web
一粒黑子10 小时前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
独角鲸网络安全实验室10 小时前
2026微信小程序抓包全解析:从实操落地到合规风控,解锁前端调试新范式
前端·微信小程序·小程序·抓包·系统代理绕过·https证书严格校验·进程隔离
紫微AI10 小时前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
GISer_Jing10 小时前
AI前端(From豆包)
前端·aigc·ai编程
IT枫斗者10 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
测试修炼手册10 小时前
[测试技术] 深入理解 JSON Web Token (JWT)
前端·json