人大树洞的接口分析
这两天反编译了"云上校友圈"小程序的源码,并把里面我看到的的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=正常模式
注意事项: detail和images至少有一个不为空
使用场景: 对帖子发表评论
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=不显示
}
}
使用场景: 检查是否显示公众号关注码
请求流程示例
发布帖子流程
- 检查权限:
POST /article/article/checkauth - 获取分类:
POST /article/category/lists - 获取置顶配置:
POST /base/community/topconfig(如果需要置顶) - 上传图片:
POST /upload/articleupload(如果有图片) - 检查积分:
POST /points/points/checkpoints(如果需要积分) - 充值积分(如果不足):
POST /points/order/packagelistPOST /points/order/wxpayPOST /points/order/wxpaysign- 发布帖子:
POST /article/article/publish
评论流程
- 检查权限:
POST /article/article/checkauth - 上传图片:
POST /upload/commentUpload(如果有图片) - 发表评论:
POST /article/article/comment
置顶流程
- 检查置顶权限:
POST /base/community/checktop - 获取置顶配置:
POST /base/community/topconfig - 检查积分:
POST /points/points/checkpoints - 充值积分(如果不足)
- 置顶帖子:
POST /article/article/top - 等待审核(如果需要):
POST /article/article/audittop
注意事项
- 认证要求: 大部分接口需要登录,请求header中需要携带
Cookie - 参数类型: 所有ID参数可以是字符串或数字,建议统一使用字符串
- 图片上传: 图片需要先上传获取URL,再在请求中使用
- 积分消耗: 置顶、刷新等操作可能需要消耗积分
- 权限检查: 某些操作需要先检查权限(如置顶、刷新)
- 必填参数: 标记为"必填"的参数必须提供,否则请求会失败
总接口数: 119个