xiuno api插件,输出json格式,支持带安全key访问(cf_api_json) 3P 1F
CF
管理员组 管理员组
2024-06-27 17:11
楼主

通过 AJAX 请求返回 JSON 格式的论坛数据。可用于开发App。

相较于xn_json插件,添加了安全访问功能,支持消息信息输出。

image.webp

image.webp

image.webp

 

API文档

以下是针对 Xiuno BBS 4.0 的 API 接口文档整理,包含 GET 和 POST 方法的详细说明:


GET 接口文档

1. 最新主题列表

  • URL/index-{page}.htm
  • 请求方法: GET
  • 参数:
    • page (可选): 页码,默认为 1
  • 返回示例:
    {
      "code": 0,
      "message": {
        "list": [
          {"tid": 1, "subject": "主题标题", "fid": 10, "author": "用户名", "replies": 5},
          // 更多主题数据...
        ],
        "page": 1,
        "pagecount": 20
      }
    }

2. 最新精华主题

  • URL/index-{page}-1.htm
  • 请求方法: GET
  • 参数:
    • page (可选): 页码,默认为 1
  • 说明-1 表示精华主题

3. 版块最新主题

  • URL/forum-{fid}-{page}.htm
  • 请求方法: GET
  • 参数:
    • fid (必填): 版块 ID
    • page (可选): 页码,默认为 1

4. 版块精华主题

  • URL/forum-{fid}-{page}-1.htm
  • 请求方法: GET
  • 参数:
    • fid (必填): 版块 ID
    • page (可选): 页码,默认为 1

5. 用户最新主题

  • URL/user-{uid}-{page}.htm
  • 请求方法: GET
  • 参数:
    • uid (必填): 用户 ID
    • page (可选): 页码,默认为 1

6. 用户精华主题

  • URL/user-{uid}-{page}-1.htm
  • 请求方法: GET
  • 参数:
    • uid (必填): 用户 ID
    • page (可选): 页码,默认为 1

7. 我的最新主题

  • URL/my-thread-{page}.htm
  • 请求方法: GET
  • 参数:
    • page (可选): 页码,默认为 1

8. 我的精华主题

  • URL/my-thread-{page}-1.htm
  • 请求方法: GET
  • 参数:
    • page (可选): 页码,默认为 1

9. 主题+回帖列表

  • URL/thread-{tid}-{page}.htm
  • 请求方法: GET
  • 参数:
    • tid (必填): 主题 ID
    • page (可选): 页码,默认为 1

10. 搜索接口

  • URL/search-{keyword}.htm
  • 请求方法: GET
  • 参数:
    • keyword (必填): 搜索关键词(URL 编码后)

POST 接口文档

从技术角度,post接口开发不依赖本插件,而是需要自己适配自己的主题和插件,以下内容仅供参考。

1. 用户登录

  • URL/user-login.htm
  • 请求方法: POST
  • 参数:
    • email (必填): 用户邮箱
    • password (必填): 密码(需先进行 MD5 加密)
  • 返回示例:
     
    json
     
    {
    "code": 0,
    "message": "登录成功"
    }
     

2. 用户注册

  • URL/user-create.htm
  • 请求方法: POST
  • 参数:
    • email (必填): 用户邮箱
    • username (必填): 用户名
    • password (必填): 密码(明文)
  • 返回示例:
     
    json
     
    {
    "code": 0,
    "message": "注册成功"
    }
     

3. 发表新主题

  • URL/thread-create.htm
  • 请求方法: POST
  • 参数:
    • fid (必填): 版块 ID
    • subject (必填): 主题标题
    • doctype (必填): 帖子类型(参考 install/install.sql
    • message (必填): 帖子内容(支持 HTML)
  • 返回示例:
     
    json
     
    {
    "code": 0,
    "message": "发帖成功",
    "data": {"tid": 1001}
    }
     

4. 发表回复

  • URL/post-create.htm
  • 请求方法: POST
  • 参数:
    • tid (必填): 主题 ID
    • doctype (必填): 回复类型(通常为 0
    • message (必填): 回复内容
  • 返回示例:
     
    json
     
    {
    "code": 0,
    "message": "回复成功",
    "data": {"pid": 5001}
    }
     

5. 编辑帖子

  • URL/post-update-{pid}.htm
  • 请求方法: POST
  • 参数:
    • pid (必填): 帖子 ID(路径参数)
    • subject (可选): 修改后的标题
    • message (可选): 修改后的内容
  • 返回示例:
     
    json
     
    {
    "code": 0,
    "message": "编辑成功"
    }
     

6. 删除帖子

  • URL/post-delete-{pid}.htm
  • 请求方法: POST
  • 参数:
    • pid (必填): 帖子 ID(路径参数)
  • 返回示例:
     
    json
     
    {
    "code": 0,
    "message": "删除成功"
    }
     

7. 版主管理接口

  • 说明: 具体接口需参考 route/mod.php 文件,常见操作包括:
    • 封禁用户
    • 移动主题
    • 加精/取消加精
    • 删除主题/回复

全局说明

  1. 认证机制:
    • 用户登录后会返回一个 key(如 Cookie 或 Token),需在后续请求中携带此凭证。
    • 敏感操作(如发帖、编辑)需验证用户权限。
  2. 错误码规范:
    • code: 0 表示成功。
    • code: -1 表示失败(如登录失败)。
    • code: 'username' 表示用户名错误(具体字段名作为错误码)。
  3. 数据格式:
    • 所有接口返回 JSON 格式数据。
    • 分页接口返回 list(数据列表)、page(当前页)、pagecount(总页数)。
  4. 安全建议:
    • 对用户输入进行严格过滤(如 XSS、SQL 注入)。
    • 密码传输必须使用 MD5 加密(建议后续升级为 HTTPS + 动态盐值)。

如需进一步扩展接口(如文件上传、私信功能),可参考 route/*.php 文件中的路由逻辑。

最后于 8小时前 被CF编辑 ,原因:
上传的附件:
找不到工作/(ㄒoㄒ)/~~

 收藏 分享
最新回复 (0)
    暂无回复,快来抢沙发吧

    暂无回复,快来抢沙发吧

  • 游客
    沙发
    登录 后参与评论
返回
CF
管理员组
主题数
帖子数
精华数