Back to Blog

人大树洞的接口分析

2025-11-27

这两天反编译了"云上校友圈"小程序的源码,并把里面我看到的的API接口都记下来了,分享在这里,之后可能会用这些接口做一些更有趣的事情。仅供学习和交流,不得用于任何非法用途。

云上校友圈 - 完整API接口文档

📋 目录


基础信息

服务器地址

https://ys.qimiaoyuanfen.com

认证方式

  • 认证类型: Cookie认证
  • 请求头: 所有需要登录的接口都需要在Header中携带Cookie字段
  • 获取方式: 登录成功后,服务器会在响应中设置Cookie

请求格式

  • Content-Type: application/json (POST请求)
  • 登录接口: application/x-www-form-urlencoded
  • 文件上传: multipart/form-data

响应格式

{
  "code": "0000",      // 状态码,"0000"表示成功
  "message": "成功",   // 提示信息
  "data": {}          // 返回数据
}

常见错误码

  • 0000: 成功
  • 0003: 需要学校认证
  • 7001: 登录已过期,需要重新登录

认证登录类

1. 微信登录(无手机号)

接口: POST /weixin/weinxinlogin

请求格式: application/x-www-form-urlencoded

请求参数:

code: wx.login()获取的微信code
last_from: 来源标识(可选,通常为空字符串)

参数说明: - code: 字符串,微信小程序wx.login()获取的code,用于换取session_key - last_from: 字符串,来源标识,用于统计

响应示例:

{
  "code": "0000",
  "data": {
    "uid": "123456",
    "token": "...",
    ...
  }
}

使用场景: 用户首次登录,不需要手机号授权


2. 手机号绑定登录

接口: POST /weixin/binding

请求参数:

{
  "code": "微信code",
  "encryptedData": "加密数据",
  "iv": "初始向量",
  "last_from": ""
}

参数说明: - code: 字符串,微信登录code - encryptedData: 字符串,加密的用户信息 - iv: 字符串,加密算法的初始向量 - last_from: 字符串,来源标识

使用场景: 用户绑定手机号后登录


3. 模拟登录(开发用)

接口: POST /base/user/mock

请求参数:

{
  "uid": "用户ID"  // 可选,用于开发测试
}

使用场景: 开发/测试环境使用,不需要真实的微信code


用户相关

4. 获取当前用户信息

接口: POST /ysxy/user/my

请求参数:

{}  // 无参数,从Cookie中获取用户信息

响应示例:

{
  "code": "0000",
  "data": {
    "uid": "123456",
    "name": "用户名",
    "head_img_url": "头像URL",
    "school_code": "学校代码",
    "auth_status": 1,        // 认证状态:0=未认证,1=已认证
    "is_dark_mode": 0,       // 暗黑模式:0=关闭,1=开启
    "is_binding_phone": 1    // 是否绑定手机号:0=未绑定,1=已绑定
  }
}

使用场景: 获取当前登录用户的详细信息


5. 获取用户个人信息

接口: POST /ysxy/user/personal

请求参数:

{
  "uid": "123456"  // 用户ID(必填)
}

参数说明: - uid: 字符串/数字,要查询的用户ID

响应示例:

{
  "code": "0000",
  "data": {
    "uid": "123456",
    "name": "用户名",
    "head_img_url": "头像URL",
    "province_name": "省份",
    "city_name": "城市",
    "area_name": "区域",
    "school_name": "学校名称"
  }
}

使用场景: 查看其他用户的个人信息


6. 获取用户统计信息

接口: POST /ysxy/user/mystat

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "post_num": 10,        // 发帖数
    "comment_num": 50,     // 评论数
    "points_num": 100,     // 积分余额
    "count_star": 200      // 获赞数
  }
}

使用场景: 获取当前用户的统计数据


7. 编辑用户信息

接口: POST /ysxy/user/edit

请求参数:

{
  "name": "新昵称",           // 可选
  "head_img_url": "头像URL",  // 可选
  "province_name": "省份",    // 可选
  "city_name": "城市",        // 可选
  "area_name": "区域"         // 可选
}

参数说明: 所有参数都是可选的,只传需要修改的字段

使用场景: 修改个人资料


8. 注销账号

接口: POST /ysxy/user/cancelaccount

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "status": 1,  // 1=注销成功,0=注销失败
    "message": "注销成功"
  }
}

使用场景: 用户申请注销账号


9. 恢复账号

接口: POST /ysxy/user/backAccount

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "status": 1  // 1=恢复成功
  }
}

使用场景: 撤回注销申请,恢复账号


10. 设置用户范围

接口: POST /ysxy/user/setrange

请求参数:

{
  "range": "范围设置"  // 具体格式需查看代码
}

使用场景: 设置用户可见范围


11. 举报用户

接口: POST /ysxy/user/report

请求参数:

{
  "uid": "123456",      // 被举报用户ID(必填)
  "reason": "1"         // 举报原因ID(必填)
}

参数说明: - uid: 字符串/数字,被举报的用户ID - reason: 字符串/数字,举报原因ID,需要先调用/base/report/config获取

使用场景: 举报违规用户


12. 暗黑模式设置

接口: POST /ysxy/user/dark

请求参数:

{
  "is_dark_mode": 1  // 0=关闭,1=开启(必填)
}

使用场景: 开启/关闭暗黑模式


13. 检查手机号绑定

接口: POST /base/user/checkPhone

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "result": 1  // 1=已绑定,0=未绑定
  },
  "message": "提示信息"
}

使用场景: 检查当前用户是否已绑定手机号


14. 检查iOS支付

接口: POST /base/user/checkios

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "result": true  // true=支持,false=不支持
  }
}

使用场景: 检查iOS设备是否支持支付


帖子/文章相关

15. 发布文章

接口: POST /article/article/publish

请求参数:

{
  "category_id": "分类ID",              // 可选,分类ID
  "category_name": "分类名称",           // 可选,分类名称(自定义话题时必填)
  "detail": "帖子内容",                 // 必填,帖子文字内容
  "images": "url1,url2,url3",          // 可选,图片URL,多个用逗号分隔
  "show_type": 3,                      // 必填,显示类型:1=分身,3=正常
  "is_auth": 2,                         // 必填,是否仅学校可见:1=是,2=否
  "type": 1,                           // 必填,帖子类型:1=普通帖子,2=交易帖子,3=生活圈
  "sub_type": 11,                      // 可选,子类型
  "is_bounty": 2,                      // 可选,是否悬赏:1=是,2=否
  "bounty_amount": 100,                 // 可选,悬赏积分(is_bounty=1时必填)
  "bounty_type": 1,                    // 可选,悬赏类型:1=作者指定,2=随机,3=最多点赞
  "bounty_count": 8,                    // 可选,随机悬赏数量(bounty_type=2时必填)
  "bounty_end_time": "2024-01-01 12:00:00",  // 可选,悬赏结束时间
  "is_top": 2,                         // 可选,是否置顶:1=是,2=否
  "top_config_id": "1",                 // 可选,置顶配置ID(is_top=1时必填)
  "mock_price": 100                    // 可选,交易价格(type=2时使用)
}

参数说明: - detail: 字符串,帖子内容(必填) - images: 字符串,图片URL列表,多个用英文逗号分隔 - show_type: 数字,1=分身模式(匿名),3=正常模式 - is_auth: 数字,1=仅学校可见,2=所有人可见 - type: 数字,1=普通帖子,2=交易帖子,3=生活圈 - is_bounty: 数字,1=悬赏帖,2=普通帖 - bounty_amount: 数字,悬赏的积分数 - bounty_type: 数字,1=作者指定最佳答案,2=随机分配,3=最多点赞 - is_top: 数字,1=置顶,2=不置顶 - top_config_id: 字符串,置顶配置ID,从/base/community/topconfig获取

使用场景: 发布新帖子


16. 编辑文章

接口: POST /article/article/edit

请求参数:

{
  "article_id": "123456",     // 必填,帖子ID
  "detail": "修改后的内容",    // 可选,帖子内容
  "images": "url1,url2"       // 可选,图片URL列表
}

使用场景: 编辑已发布的帖子


17. 获取文章列表

接口: POST /article/article/lists

请求参数:

{
  "page": 1,              // 必填,页码
  "pageSize": 10,         // 必填,每页数量
  "type": "reply"         // 可选,类型:空=最新,"reply"=新回,"my"=我发,"my_reply"=我回,"my_like"=我赞
}

参数说明: - page: 数字,页码,从1开始 - pageSize: 数字,每页数量 - type: 字符串,筛选类型 - 空字符串或不传:最新帖子 - "reply": 最新回复 - "my": 我发布的 - "my_reply": 我回复的 - "my_like": 我点赞的

响应示例:

{
  "code": "0000",
  "data": {
    "list": [
      {
        "id": "123456",
        "detail": "帖子内容",
        "images": "url1,url2",
        "show_images": [...],
        "count_star": 10,
        "count_comment": 5,
        "create_time": "2024-01-01 12:00:00"
      }
    ],
    "total": 100
  }
}

使用场景: 获取帖子列表


18. 搜索文章

接口: POST /article/article/search

请求参数:

{
  "keyword": "搜索关键词",  // 必填,搜索关键词
  "page": 1,              // 可选,页码
  "pageSize": 10          // 可选,每页数量
}

使用场景: 搜索帖子


19. 获取文章详情

接口: POST /article/article/info

请求参数:

{
  "id": "123456",         // 必填,帖子ID
  "from_type": 1         // 可选,来源类型:1=正常查看
}

参数说明: - id: 字符串/数字,帖子ID - from_type: 数字,来源类型,通常为1

响应示例:

{
  "code": "0000",
  "data": {
    "id": "123456",
    "detail": "帖子内容",
    "images": "url1,url2,url3",
    "show_images": [...],
    "comment_list": [...],
    "community_id": "123",
    "count_star": 10,
    "count_comment": 5,
    "is_admin": 0,           // 是否为管理员:0=否,1=是
    "is_top": 0,            // 是否置顶:0=否,1=是
    "bounty_end_time": "2024-01-01 12:00:00"
  }
}

使用场景: 查看帖子详情


20. 删除文章

接口: POST /article/article/remove

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true,       // 是否删除成功
    "warn_text": "删除成功"
  }
}

使用场景: 删除自己发布的帖子(管理员可以删除任何帖子)


21. 点赞文章

接口: POST /article/article/star

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

功能: 如果已点赞则取消点赞,如果未点赞则点赞

使用场景: 点赞/取消点赞帖子


22. 追踪文章(蹲蹲)

接口: POST /article/article/trace

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

功能: 关注帖子,有新回复时通知

使用场景: 关注帖子动态


23. 举报文章

接口: POST /article/article/report

请求参数:

{
  "article_id": "123456",  // 必填,帖子ID
  "reason": "1"            // 必填,举报原因ID
}

参数说明: - article_id: 字符串/数字,要举报的帖子ID - reason: 字符串/数字,举报原因ID,需要先调用/base/report/config获取

使用场景: 举报违规帖子


24. 刷新文章(擦亮)

接口: POST /article/article/refresh

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true,              // 是否刷新成功
    "warn_text": "擦亮成功,你的帖子将被更多人看到"
  }
}

使用场景: 刷新帖子,让帖子重新出现在列表顶部(可能需要消耗积分)


25. 检查刷新权限

接口: POST /article/article/checkrefresh

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true,       // 是否可以刷新
    "message": "可以刷新"
  }
}

使用场景: 检查是否可以刷新帖子(可能有限制,如每天只能刷新一次)


26. 置顶文章

接口: POST /article/article/top

请求参数:

{
  "article_id": "123456",    // 必填,帖子ID
  "top_config_id": "1"       // 必填,置顶配置ID
}

参数说明: - article_id: 字符串/数字,要置顶的帖子ID - top_config_id: 字符串/数字,置顶配置ID,从/base/community/topconfig获取

使用场景: 置顶帖子(需要消耗积分,可能需要管理员审核)


27. 取消置顶

接口: POST /article/article/untop

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

使用场景: 取消帖子置顶


28. 个人主页置顶

接口: POST /article/article/topmine

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true,       // 是否成功
    "warn_text": "置顶成功"
  }
}

使用场景: 在个人主页置顶帖子(不消耗积分,不需要审核)


29. 获取用户文章列表

接口: POST /article/article/userarticles

请求参数:

{
  "uid": "123456",    // 可选,用户ID,不传则获取当前用户的
  "page": 1,          // 可选,页码
  "pageSize": 10      // 可选,每页数量
}

使用场景: 获取指定用户发布的帖子列表


30. 检查发布权限

接口: POST /article/article/checkpublish

请求参数:

{
  // 与发布文章相同的参数,用于检查是否可以发布
  "detail": "帖子内容",
  ...
}

使用场景: 发布前检查权限和内容是否符合要求


31. 检查权限

接口: POST /article/article/checkauth

请求参数:

{
  "community_id": "123"  // 可选,社区ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": 1  // 1=有权限,0=无权限
  }
}

错误响应:

{
  "code": "0003",
  "message": "需要学校认证"
}

使用场景: 检查是否有发帖/评论权限


32. 交易完成

接口: POST /article/article/tradefinish

请求参数:

{
  "article_id": "123456"  // 必填,交易帖子ID
}

使用场景: 标记交易帖子为已完成


33. 禁止用户发帖

接口: POST /article/article/forbiduser

请求参数:

{
  "article_id": "123456",  // 必填,帖子ID
  "time_type": "1"         // 必填,禁言时长:1=三天,2=七天,3=三十天,4=永久
}

权限: 仅管理员

使用场景: 管理员禁止用户在社区发帖


34. 获取小程序码

接口: POST /article/article/getxcxcode

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "xcxCode": "data:image/png;base64,..."  // Base64编码的小程序码
  }
}

使用场景: 生成帖子的小程序码,用于分享


35. 获取二维码

接口: POST /article/article/getqrcode

请求参数:

{
  "article_id": "123456"  // 必填,帖子ID
}

使用场景: 获取帖子的二维码


36. 审核置顶申请

接口: POST /article/article/audittop

请求参数:

{
  "article_id": "123456",      // 必填,帖子ID
  "action": "approve",         // 可选,操作类型
  "audit_reason": "审核通过"   // 可选,审核原因
}

权限: 仅管理员

使用场景: 管理员审核用户的置顶申请


37. 通过置顶申请

接口: POST /article/article/passtop

请求参数:

{
  "article_id": "123456",      // 必填,帖子ID
  "audit_reason": "审核通过"   // 可选,审核原因
}

权限: 仅管理员

使用场景: 管理员通过置顶申请


38. 拒绝置顶申请

接口: POST /article/article/failedtop

请求参数:

{
  "article_id": "123456",      // 必填,帖子ID
  "audit_reason": "审核不通过" // 可选,审核原因
}

权限: 仅管理员

使用场景: 管理员拒绝置顶申请


39. 热门文章(按日期)

接口: POST /article/article/datehot

请求参数:

{
  "community_id": "123"  // 可选,社区ID
}

使用场景: 获取指定日期的热门帖子


40. 日热门

接口: POST /article/article/dayhot

请求参数:

{
  "community_id": "123"  // 可选,社区ID
}

使用场景: 获取今日热门帖子


41. 周热门

接口: POST /article/article/weekhot

请求参数:

{
  "community_id": "123"  // 可选,社区ID
}

使用场景: 获取本周热门帖子


42. 月热门

接口: POST /article/article/monthhot

请求参数:

{
  "community_id": "123"  // 可选,社区ID
}

使用场景: 获取本月热门帖子


43. 年热门

接口: POST /article/article/yearhot

请求参数:

{
  "community_id": "123"  // 可选,社区ID
}

使用场景: 获取本年热门帖子


44. 总热门

接口: POST /article/article/totalhot

请求参数:

{
  "community_id": "123"  // 可选,社区ID
}

使用场景: 获取总热门帖子


45. 历史热门

接口: POST /article/article/historyhot

请求参数:

{
  "community_id": "123"  // 可选,社区ID
}

使用场景: 获取历史热门帖子


46. 分类文章

接口: POST /article/article/categoryarticles

请求参数:

{
  "category_id": "1",     // 可选,分类ID
  "page": 1,             // 可选,页码
  "pageSize": 10         // 可选,每页数量
}

使用场景: 获取指定分类的帖子列表


47. 追踪列表

接口: POST /article/article/tracelist

请求参数:

{
  "page": 1,         // 可选,页码
  "pageSize": 10     // 可选,每页数量
}

使用场景: 获取用户追踪(关注)的帖子列表


48. 已读所有评论

接口: POST /article/article/readallcomment

请求参数:

{}  // 无参数

使用场景: 标记所有评论为已读


49. 我的文章列表

接口: POST /article/article/mylist

请求参数:

{
  "page": 1,         // 可选,页码
  "pageSize": 10     // 可选,每页数量
}

使用场景: 获取当前用户发布的帖子列表


50. 检查用户认证

接口: POST /article/article/checkusercert

请求参数:

{
  "community_id": "123",      // 必填,社区ID
  "real_user_id": "123456",   // 可选,真实用户ID
  "show_user_id": "123456"    // 可选,显示用户ID
}

使用场景: 检查用户是否已认证


评论相关

51. 发表评论

接口: POST /article/article/comment

请求参数:

{
  "article_id": "123456",     // 必填,帖子ID
  "detail": "评论内容",       // 可选,评论文字内容(与images至少有一个不为空)
  "images": "url1,url2",      // 可选,图片URL,多个用逗号分隔
  "show_type": 3              // 必填,显示类型:1=分身,3=正常
}

参数说明: - article_id: 字符串/数字,要评论的帖子ID - detail: 字符串,评论的文字内容 - images: 字符串,图片URL列表,多个用英文逗号分隔 - show_type: 数字,1=分身模式,3=正常模式

注意事项: detailimages至少有一个不为空

使用场景: 对帖子发表评论


52. 回复评论

接口: POST /article/article_comment/comment

请求参数:

{
  "comment_id": "789012",     // 必填,被回复的评论ID
  "detail": "回复内容",       // 可选,回复文字内容
  "images": "url1,url2",      // 可选,图片URL
  "show_type": 3              // 必填,显示类型:1=分身,3=正常
}

使用场景: 回复评论


53. 点赞评论

接口: POST /article/article_comment/star

请求参数:

{
  "comment_id": "789012"  // 必填,评论ID
}

功能: 如果已点赞则取消点赞,如果未点赞则点赞

使用场景: 点赞/取消点赞评论


54. 删除评论

接口: POST /article/article_comment/remove

请求参数:

{
  "comment_id": "789012"  // 必填,评论ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true,       // 是否删除成功
    "warn_text": "删除成功"
  }
}

使用场景: 删除自己的评论(管理员可以删除任何评论)


55. 举报评论

接口: POST /article/article_comment/report

请求参数:

{
  "comment_id": "789012",  // 必填,评论ID
  "reason": "1"            // 必填,举报原因ID
}

使用场景: 举报违规评论


56. 禁止用户评论

接口: POST /article/article_comment/forbiduser

请求参数:

{
  "comment_id": "789012",  // 必填,评论ID
  "time_type": "1"         // 必填,禁言时长:1=三天,2=七天,3=三十天,4=永久
}

权限: 仅管理员

使用场景: 管理员禁止用户发表评论


57. 指定悬赏

接口: POST /article/article_comment/bountysure

请求参数:

{
  "comment_id": "789012"  // 必填,评论ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true  // 是否成功
  }
}

使用场景: 将某个评论标记为悬赏帖子的最佳答案,分配悬赏积分


58. 我的评论列表

接口: POST /article/article_comment/mylist

请求参数:

{
  "page": 1,         // 可选,页码
  "pageSize": 10     // 可选,每页数量
}

使用场景: 获取当前用户发表的评论列表


59. 评论我的

接口: POST /article/article_comment/commentme

请求参数:

{
  "page": 1,         // 可选,页码
  "pageSize": 10     // 可选,每页数量
}

使用场景: 获取回复我的评论列表


60. 已读所有追踪

接口: POST /article/article_comment/readalltrace

请求参数:

{}  // 无参数

使用场景: 标记所有追踪通知为已读


消息相关

61. 获取消息统计

接口: POST /message/message/getstat

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "total": 10,        // 总消息数
    "unread": 5         // 未读消息数
  }
}

使用场景: 获取消息统计信息


62. 发送消息

接口: POST /message/message/send

请求参数:

{
  "to_uid": "123456",   // 必填,接收用户ID
  "content": "消息内容", // 必填,消息内容
  "images": "url1"      // 可选,图片URL
}

使用场景: 发送私信


63. 获取私信列表

接口: POST /message/message/personlist

请求参数:

{
  "page": 1,         // 可选,页码
  "pageSize": 10     // 可选,每页数量
}

使用场景: 获取私信会话列表


64. 获取消息列表

接口: POST /message/message/lists

请求参数:

{
  "page": 1,         // 可选,页码
  "pageSize": 10     // 可选,每页数量
}

使用场景: 获取所有消息列表(包括系统消息、私信等)


65. 获取点赞列表

接口: POST /message/message/goodlist

请求参数:

{
  "page": 1,         // 可选,页码
  "pageSize": 10     // 可选,每页数量
}

使用场景: 获取点赞通知列表


66. 已读所有消息

接口: POST /message/message/readallmessage

请求参数:

{}  // 无参数

使用场景: 标记所有消息为已读


67. 已读所有点赞

接口: POST /message/message/readallstar

请求参数:

{}  // 无参数

使用场景: 标记所有点赞通知为已读


68. 是否发送

接口: POST /message/message/issend

请求参数:

{
  "to_uid": "123456"  // 必填,接收用户ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true  // true=可以发送,false=不能发送
  }
}

使用场景: 检查是否可以给指定用户发送消息


69. 获取消息

接口: POST /message/message/getmessage

请求参数:

{
  "to_uid": "123456",  // 可选,对方用户ID
  "page": 1,           // 可选,页码
  "pageSize": 10       // 可选,每页数量
}

使用场景: 获取与指定用户的私信记录


70. 消息数量

接口: POST /message/message/count

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "count": 10  // 未读消息数
  }
}

使用场景: 获取未读消息数量


71. 删除消息

接口: POST /message/message/delete

请求参数:

{
  "message_id": "123456"  // 必填,消息ID
}

使用场景: 删除消息


72. 举报消息

接口: POST /message/message/report

请求参数:

{
  "message_id": "123456",  // 必填,消息ID
  "reason": "1"           // 必填,举报原因ID
}

使用场景: 举报违规消息


73. 获取历史消息

接口: POST /message/message/gethistorymessage

请求参数:

{
  "to_uid": "123456",  // 可选,对方用户ID
  "page": 1,           // 可选,页码
  "pageSize": 10       // 可选,每页数量
}

使用场景: 获取历史私信记录


74. 上传消息图片

接口: POST /upload/message

请求方式: multipart/form-data

请求参数: - file: 图片文件(必填)

响应示例:

{
  "code": "0000",
  "data": {
    "fileName": "https://example.com/image.jpg"
  }
}

使用场景: 上传私信中的图片


社区相关

75. 获取社区列表

接口: POST /base/community/lists

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "current_community_id": "123",
    "current_community_name": "当前社区",
    "community_list": [
      {
        "id": "123",
        "name": "社区名称",
        "school_name": "学校名称"
      }
    ]
  }
}

使用场景: 获取所有社区列表和当前社区信息


76. 切换社区

接口: POST /base/community/change

请求参数:

{
  "community_id": "123"  // 必填,社区ID
}

使用场景: 切换当前社区


77. 获取社区信息

接口: POST /base/community/info

请求参数:

{
  "community_id": "123"  // 必填,社区ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "id": "123",
    "name": "社区名称",
    "school_name": "学校名称"
  }
}

使用场景: 获取指定社区的详细信息


78. 获取置顶配置

接口: POST /base/community/topconfig

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "list": [
      {
        "id": "1",
        "name": "置顶1天",
        "duration": "1天",
        "monery": 10,      // 所需积分
        "configid": "1"    // 配置ID,用于置顶请求
      }
    ]
  }
}

使用场景: 获取置顶选项和价格


79. 检查置顶权限

接口: POST /base/community/checktop

请求参数:

{
  "community_id": "123"  // 必填,社区ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true  // true=有权限,false=无权限
  }
}

使用场景: 检查是否有置顶权限


80. 检查隐藏设置

接口: POST /base/community/checkhide

请求参数:

{
  "community_id": "123"  // 必填,社区ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true  // true=隐藏分身,false=显示分身
  }
}

使用场景: 检查是否隐藏分身功能


81. 检查悬赏

接口: POST /base/community/checkbounty

请求参数:

{
  "community_id": "123"  // 必填,社区ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": true  // true=禁用悬赏,false=启用悬赏
  }
}

使用场景: 检查是否禁用悬赏功能


82. 获取认证类型

接口: POST /base/community/getcerttype

请求参数:

{
  "community_id": "123"  // 必填,社区ID
}

使用场景: 获取社区的认证类型


83. 搜索社区列表

接口: POST /base/community/searchlists

请求参数:

{
  "name": "搜索关键词"  // 必填,搜索关键词
}

使用场景: 搜索社区


84. 获取默认社区

接口: POST /base/community/getdeafultcom

请求参数:

{}  // 无参数

使用场景: 获取默认社区


85. 获取学校邮箱后缀

接口: POST /base/community/schoolemailsuffixes

请求参数:

{
  "community_id": "123",   // 必填,社区ID
  "school_code": "学校代码" // 必填,学校代码
}

响应示例:

{
  "code": "0000",
  "data": [
    {
      "text": "@example.edu.cn"
    }
  ]
}

使用场景: 获取学校邮箱后缀列表,用于邮箱认证


上传相关

86. 上传认证文件

接口: POST /upload/certificationupload

请求方式: multipart/form-data

请求参数: - file: 文件(必填)

使用场景: 上传认证相关文件


87. 上传头像

接口: POST /upload/iconupload

请求方式: multipart/form-data

请求参数: - file: 图片文件(必填)

响应示例:

{
  "code": "0000",
  "data": {
    "fileName": "https://example.com/avatar.jpg"
  }
}

使用场景: 上传用户头像


88. 上传评论图片

接口: POST /upload/commentUpload

请求方式: multipart/form-data

请求参数: - file: 图片文件(必填) - article_id: 帖子ID(可选) - comment_id: 评论ID(可选)

响应示例:

{
  "code": "0000",
  "data": {
    "fileName": "https://example.com/image.jpg"
  }
}

使用场景: 上传评论中的图片


89. 上传文章图片

接口: POST /upload/articleupload

请求方式: multipart/form-data

请求参数: - file: 图片文件(必填)

响应示例:

{
  "code": "0000",
  "data": {
    "fileName": "https://example.com/image.jpg"
  }
}

使用场景: 上传帖子中的图片

注意事项: - 图片大小不能超过20MB - 支持格式:jpg, png, gif等


积分/订单相关

90. 获取积分价格

接口: POST /points/points/price

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "prices": {
      "article_refresh": 10,  // 刷新帖子所需积分
      ...
    }
  }
}

使用场景: 获取各种操作所需的积分价格


91. 检查积分是否足够

接口: POST /points/points/checkpoints

请求参数:

{
  "top_config_id": "",           // 可选,置顶配置ID(置顶时使用)
  "bounty_fee": "100",           // 可选,悬赏费用(悬赏时使用)
  "price_name": "article_refresh" // 可选,价格名称:article_refresh=刷新帖子
}

响应示例:

{
  "code": "0000",
  "data": {
    "is_enough": true,       // 积分是否足够
    "total_price": 10,       // 所需总积分
    "need_points": 5         // 如果不足,需要补充的积分
  }
}

使用场景: 检查积分是否足够执行某个操作


92. 获取积分明细

接口: POST /points/points/statement

请求参数:

{
  "page": 1,         // 可选,页码
  "pageSize": 10     // 可选,每页数量
}

使用场景: 获取积分收支明细


93. 获取充值套餐列表

接口: POST /points/order/packagelist

请求参数:

{
  "need_points": 50  // 必填,需要补充的积分数
}

响应示例:

{
  "code": "0000",
  "data": {
    "list": [
      {
        "id": "1",
        "name": "10积分",
        "price": 1.00,
        "points": 10,
        "package_id": "1"
      }
    ]
  }
}

使用场景: 获取积分充值套餐列表


94. 发起支付

接口: POST /points/order/wxpay

请求参数:

{
  "package_id": "123",       // 必填,套餐ID
  "type": 3,                 // 必填,支付类型:3=帖子相关操作
  "article_id": "123456"     // 可选,关联的帖子ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "result": 1,             // 1=成功
    "prepay_id": "wx123456"  // 预支付ID,用于后续签名
  }
}

使用场景: 发起微信支付,购买积分


95. 获取支付签名

接口: POST /points/order/wxpaysign

请求参数:

{
  "prepay_id": "wx123456"  // 必填,预支付ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "sign_result": {
      "appId": "...",
      "timeStamp": "...",
      "nonceStr": "...",
      "package": "...",
      "signType": "MD5",
      "paySign": "..."
    }
  }
}

使用场景: 获取支付签名,用于调用微信支付


举报相关

96. 获取举报配置

接口: POST /base/report/config

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "list": [
      {
        "id": "1",
        "text": "垃圾信息"
      },
      {
        "id": "2",
        "text": "违法违规"
      }
    ]
  }
}

使用场景: 获取举报原因列表


97. 处理举报

接口: POST /ysxy/report/deal

请求参数:

{
  "report_id": "1",         // 必填,举报ID
  "action": "approve",      // 可选,操作:approve=通过,reject=拒绝
  "reason": "处理原因"      // 可选,处理原因
}

权限: 仅管理员

使用场景: 管理员处理举报


98. 处理用户举报

接口: POST /ysxy/report/dealuser

请求参数:

{
  "report_id": "1",         // 必填,举报ID
  "user_id": "123456",      // 必填,被举报用户ID
  "action": "ban",          // 可选,操作:ban=封禁
  "ban_days": 7             // 可选,封禁天数
}

权限: 仅管理员

使用场景: 管理员处理对用户的举报,可以封禁用户


99. 删除举报

接口: POST /ysxy/report/delete

请求参数:

{
  "report_id": "1"  // 必填,举报ID
}

权限: 仅管理员

使用场景: 删除举报记录


100. 举报详情

接口: POST /ysxy/report/detail

请求参数:

{
  "report_id": "1"  // 必填,举报ID
}

使用场景: 获取举报详情


黑名单相关

101. 获取黑名单列表

接口: POST /ysxy/block/lists

请求参数:

{
  "pageNum": 1,     // 可选,页码
  "pageSize": 20    // 可选,每页数量
}

使用场景: 获取黑名单列表


102. 更新黑名单

接口: POST /ysxy/block/update

请求参数:

{
  "uid": "123456",      // 必填,用户ID
  "action": "add"       // 可选,操作:add=添加,remove=移除
}

使用场景: 添加/移除黑名单


认证相关

103. 添加邮箱认证

接口: POST /ysxy/user/addemailcertification

请求参数:

{
  "email": "user@example.edu.cn",  // 必填,邮箱地址
  "code": "123456",                // 必填,验证码
  "community_id": "123"            // 必填,社区ID
}

使用场景: 通过邮箱认证


104. 添加认证

接口: POST /ysxy/user/addcertification

请求参数:

{
  "certification_type": "1",  // 必填,认证类型
  "certification_data": {}    // 必填,认证数据
}

使用场景: 添加其他类型的认证


105. 获取认证信息

接口: POST /ysxy/user/getcertifications

请求参数:

{}  // 无参数

使用场景: 获取当前用户的所有认证信息


106. 获取认证配置

接口: POST /base/cert/config

请求参数:

{}  // 无参数

使用场景: 获取认证配置信息


107. 发送邮件

接口: POST /email/send

请求参数:

{
  "email": "user@example.edu.cn",  // 必填,邮箱地址
  "type": "verify"                 // 必填,邮件类型:verify=验证码
}

使用场景: 发送验证码邮件


其他功能

108. 获取分类列表

接口: POST /article/category/lists

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "list": [
      {
        "id": "1",
        "name": "分类名称"
      }
    ]
  }
}

使用场景: 获取帖子分类列表


109. 获取卡片列表

接口: POST /article/card/lists

请求参数:

{}  // 无参数

使用场景: 获取首页卡片列表


110. 获取首页卡片

接口: POST /article/card/homecards

请求参数:

{}  // 无参数

使用场景: 获取首页展示的卡片


111. 获取广告图片列表

接口: POST /article/for_image/lists

请求参数:

{
  "community_id": "123"  // 必填,社区ID
}

响应示例:

{
  "code": "0000",
  "data": {
    "list": [
      {
        "pic_url": "图片URL",
        "click_type": "1",  // 1=预览图片,2=跳转网页,3=跳转小程序,4=跳转页面
        "extra": "{\"url\":\"...\",\"appId\":\"...\",\"path\":\"...\"}"
      }
    ]
  }
}

使用场景: 获取社区广告图片


112. 获取群组列表

接口: POST /article/group/lists

请求参数:

{}  // 无参数

使用场景: 获取群组列表


113. 获取群组信息

接口: POST /article/group/info

请求参数:

{
  "group_id": "123"  // 必填,群组ID
}

使用场景: 获取群组详细信息


114. 关注群组

接口: POST /article/group/care

请求参数:

{
  "group_id": "123",   // 必填,群组ID
  "action": "add"      // 可选,操作:add=关注,remove=取消关注
}

使用场景: 关注/取消关注群组


115. 获取群组文章

接口: POST /article/article/grouparticles

请求参数:

{
  "group_id": "123",   // 必填,群组ID
  "page": 1,          // 可选,页码
  "pageSize": 10      // 可选,每页数量
}

使用场景: 获取群组内的文章列表


116. 获取热门关键词

接口: POST /article/article/hotwords

请求参数:

{}  // 无参数

使用场景: 获取搜索热门关键词


117. 获取模板ID

接口: POST /base/touch/gettemplates

请求参数:

{
  "type": 1  // 可选,类型:1=消息,3=帖子,4=认证
}

使用场景: 获取微信订阅消息模板ID


118. 授权模板

接口: POST /base/touch/authtemplates

请求参数:

{
  "templateIds": ["模板ID1", "模板ID2"]  // 必填,模板ID数组
}

使用场景: 授权订阅消息模板


119. 检查显示公众号码

接口: POST /base/user/checkshowpubliccode

请求参数:

{}  // 无参数

响应示例:

{
  "code": "0000",
  "data": {
    "is_care": 3  // 1=已关注,2=未关注,3=不显示
  }
}

使用场景: 检查是否显示公众号关注码


请求流程示例

发布帖子流程

  1. 检查权限: POST /article/article/checkauth
  2. 获取分类: POST /article/category/lists
  3. 获取置顶配置: POST /base/community/topconfig(如果需要置顶)
  4. 上传图片: POST /upload/articleupload(如果有图片)
  5. 检查积分: POST /points/points/checkpoints(如果需要积分)
  6. 充值积分(如果不足):
  7. POST /points/order/packagelist
  8. POST /points/order/wxpay
  9. POST /points/order/wxpaysign
  10. 发布帖子: POST /article/article/publish

评论流程

  1. 检查权限: POST /article/article/checkauth
  2. 上传图片: POST /upload/commentUpload(如果有图片)
  3. 发表评论: POST /article/article/comment

置顶流程

  1. 检查置顶权限: POST /base/community/checktop
  2. 获取置顶配置: POST /base/community/topconfig
  3. 检查积分: POST /points/points/checkpoints
  4. 充值积分(如果不足)
  5. 置顶帖子: POST /article/article/top
  6. 等待审核(如果需要): POST /article/article/audittop

注意事项

  1. 认证要求: 大部分接口需要登录,请求header中需要携带Cookie
  2. 参数类型: 所有ID参数可以是字符串或数字,建议统一使用字符串
  3. 图片上传: 图片需要先上传获取URL,再在请求中使用
  4. 积分消耗: 置顶、刷新等操作可能需要消耗积分
  5. 权限检查: 某些操作需要先检查权限(如置顶、刷新)
  6. 必填参数: 标记为"必填"的参数必须提供,否则请求会失败

总接口数: 119个