Skip to content

CNB 后端使用指南

纳雍万能墙使用 CNB Git 仓库作为后端,本文档说明具体用法。

基础配置

API 地址https://api.cnb.cool
仓库路径cnbnn/nayong-wall
默认分支main
鉴权方式Authorization: Bearer {token}

数据目录结构

data/
  config.json          # 系统配置
  posts/               # 帖子数据
    {category}-{id}.json
  users/               # 用户数据
    user-{openid}.json
  towns/               # 乡镇配置

API 使用

读取配置

bash
curl -H "Authorization: Bearer {token}" \
  "https://api.cnb.cool/cnbnn/nayong-wall/-/git/raw/main/data/config.json"

读取帖子列表

bash
# 列出 posts 目录下的文件
curl -H "Authorization: Bearer {token}" \
  "https://api.cnb.cool/cnbnn/nayong-wall/-/git/contents/data/posts"

# 读取单个帖子
curl -H "Authorization: Bearer {token}" \
  "https://api.cnb.cool/cnbnn/nayong-wall/-/git/raw/main/data/posts/job-001.json"

创建帖子(Issue 方式)

bash
curl -X POST \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "招奶茶店店员",
    "body": "分类: job\n乡镇: yongxi\n联系人: 张先生\n电话: 138xxxx1234\n\n详细描述:\n纳雍雍熙街道新开奶茶店招聘店员2名...",
    "labels": ["job", "yongxi", "pending"]
  }' \
  "https://api.cnb.cool/cnbnn/nayong-wall/-/issues"

评论(互动)

bash
curl -X POST \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"body":"请问还招吗?"}' \
  "https://api.cnb.cool/cnbnn/nayong-wall/-/issues/{number}/comments"

图片上传

bash
# 1. 获取上传 URL
UPLOAD=$(curl -s -X POST \
  -H "Authorization: Bearer {token}" \
  "https://api.cnb.cool/cnbnn/nayong-wall/-/upload/imgs" \
  | python3 -c "import sys,json; print(json.load(sys.stdin).get('upload_url',''))")

# 2. PUT 上传
curl -X PUT \
  -H "Content-Type: image/jpeg" \
  --data-binary @photo.jpg \
  "$UPLOAD"

查询 Issues

bash
# 查询所有帖子(Issue)
curl -H "Authorization: Bearer {token}" \
  "https://api.cnb.cool/cnbnn/nayong-wall/-/issues"

# 按标签筛选
curl -H "Authorization: Bearer {token}" \
  "https://api.cnb.cool/cnbnn/nayong-wall/-/issues?labels=job"

标签体系

分类标签

标签含义
job招聘求职
house房屋租售
secondhand二手交易
carpool拼车出行
missing寻人寻物
shop店铺推广
event活动召集

状态标签

标签含义
pending待审核
active已发布
rejected已拒绝
report被举报
pinned已置顶

乡镇标签

以乡镇拼音作为标签,如:yongxizhaileweixin 等。

错误码

errcode说明处理
5资源不存在检查路径
7Token 权限不足检查令牌授权范围
16未登录检查 Authorization
10009路径冲突仓库/文件已存在

详细 API 文档

完整 API 端点列表见 cnb-as-backend API 速查手册

由云锦鸿维护