Appearance
论坛待审核评论列表接口
用于查询指定帖子下的待审核评论列表(状态为“待审核”的评论),支持分页查询,根据应用配置的身份验证模式动态选择验证方式(令牌启用时用token验证,令牌未启用时用user+pass验证),仅版主可访问该接口。
请求地址 GET / POST
http
https://nobase.cn/api/bbs/examine_list请求参数
| 参数名 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| appid | query | string | ✅ 是 | 应用ID,开发者中心获取的应用唯一标识 |
| uid | query | string | ✅ 是 | 板块ID,帖子所属板块的唯一标识(从板块列表接口获取) |
| pid | query | string | ✅ 是 | 帖子ID,需查询评论的帖子唯一标识(从帖子列表接口获取) |
| signature | query | string | ✅ 是 | 应用签名,与后台配置一致,用于验证请求合法性 |
| page | query | number | ❌ 否 | 页码,默认1(如page=2查询第2页) |
| limit | query | number | ❌ 否 | 每页条数,默认10(如limit=15表示每页15条) |
| token | query | string | 条件必选 | 用户令牌,仅当令牌启用时需传递;需绑定当前应用和开发者 |
| user | query | string | 条件必选 | 用户账号,仅当令牌未启用时需传递;仅支持纯数字格式(如手机号) |
| pass | query | string | 条件必选 | 用户密码,仅当令牌未启用时需传递;仅支持字母+数字组合(无中文/符号) |
返回示例
成功响应(有待审核评论)
json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"id": "1001",
"sid": "9001",
"icon": "https://example.com/avatar/user1.png",
"username": "user_001",
"nickname": "普通用户",
"content": "这个帖子内容很有帮助!",
"icons": "",
"usernames": "",
"nicknames": "",
"com_time": "2025-06-02 10:15:30"
},
{
"id": "1002",
"sid": "9001",
"icon": "default_avatar.png",
"username": "user_002",
"nickname": "新用户",
"content": "请问这个问题有后续解决方案吗?",
"icons": "https://example.com/avatar/reply_user.png",
"usernames": "user_001",
"nicknames": "普通用户",
"com_time": "2025-06-02 11:30:45"
}
],
"pagination": {
"total": 28,
"page": 1,
"limit": 10,
"totalPage": 3
}
}
}成功响应(无待审核评论)
json
{
"code": 404,
"msg": "fail",
"data": "暂无待审的评论"
}失败响应(参数问题)
json
{
"code": 204,
"msg": "fail",
"data": "接口参数错误:缺少pid"
}json
{
"code": 204,
"msg": "fail",
"data": "接口参数错误:令牌启用需传token!"
}失败响应(身份验证异常)
json
{
"code": 401,
"msg": "fail",
"data": "token无效或已过期(非当前应用/开发者)!"
}json
{
"code": 403,
"msg": "fail",
"data": "账号格式错误!仅支持数字账号!"
}失败响应(权限/资源异常)
json
{
"code": 405,
"msg": "fail",
"data": "权限不足:您不是版主无法审核帖子评论"
}json
{
"code": 407,
"msg": "fail",
"data": "该帖子不存在!"
}json
{
"code": 404,
"msg": "fail",
"data": "该板块帖子评论审核未开启!"
}失败响应(配置/状态异常)
json
{
"code": 400,
"msg": "fail",
"data": "应用配置错误:身份验证模式必须为令牌启用或令牌未启用!"
}json
{
"code": 404,
"msg": "fail",
"data": "开发者账号已逾期(2小时),请缴费后重试!"
}返回数据结构
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | number | 状态码:200=查询成功;204=参数缺失/错误;400=应用配置错误;401=token无效;402=签名失败;403=账号格式错误;404=资源不存在/状态异常(如无待审评论、评论审核未开启);405=权限不足;407=应用配置/板块/帖子不存在 |
| msg | string | 状态描述:success=成功,fail=失败 |
| data | object/string | 响应数据:成功时含list(评论列表)和pagination(分页信息);失败时为错误提示 |
| data.list | array | 评论数组,含评论ID、关联帖子ID、用户信息(头像、用户名、昵称)、评论内容、回复关联信息、评论时间等 |
| data.pagination | object | 分页信息:total(待审核评论总条数)、page(当前页)、limit(每页条数)、totalPage(总页数) |
代码示例
javascript
// 令牌启用时查询待审核评论(需有效token)
const params = new URLSearchParams({
appid: "your_app_id",
uid: "3001", // 帖子所属板块ID
pid: "9001", // 目标帖子ID
page: 1,
limit: 10,
token: "valid_moderator_token", // 版主有效令牌
signature: "your_signature"
});
// 发起POST请求
fetch("https://nobase.cn/api/bbs/examine_list", {
method: "POST",
body: params,
headers: { "Content-Type": "application/x-www-form-urlencoded" }
})
.then(res => res.json())
.then(res => {
if (res.code === 200) {
console.log("待审核评论列表:", res.data.list);
console.log("分页信息:", res.data.pagination);
// 渲染评论列表和分页控件
} else {
console.error("查询失败:", res.data);
}
})
.catch(err => console.error("请求异常:", err));javascript
// 令牌未启用时查询待审核评论(需user和pass)
const url = new URL("https://nobase.cn/api/bbs/examine_list");
url.searchParams.set("appid", "your_app_id");
url.searchParams.set("uid", "3002");
url.searchParams.set("pid", "9002");
url.searchParams.set("page", 2);
url.searchParams.set("limit", 15);
url.searchParams.set("user", "13800138000"); // 纯数字账号(版主)
url.searchParams.set("pass", "ModPass789"); // 字母+数字密码
url.searchParams.set("signature", "your_signature");
// 发起GET请求
fetch(url.toString())
.then(res => res.json())
.then(res => {
res.code === 200
? console.log("第2页待审核评论:", res.data.list)
: console.error("错误:", res.data);
});python
import requests
# 令牌启用时查询待审核评论
params = {
"appid": "your_app_id",
"uid": "3003",
"pid": "9003",
"page": 1,
"limit": 20,
"token": "valid_moderator_token",
"signature": "your_signature"
}
response = requests.post(
"https://nobase.cn/api/bbs/examine_list",
data=params,
timeout=8
)
res_data = response.json()
if res_data["code"] == 200:
print(f"共{res_data['data']['pagination']['total']}条待审核评论")
for comment in res_data["data"]["list"]:
print(f"用户{comment['nickname']}:{comment['content']}")
else:
print("错误信息:", res_data["data"])python
import requests
# 令牌未启用时查询待审核评论
params = {
"appid": "your_app_id",
"uid": "3004",
"pid": "9004",
"page": 1,
"limit": 10,
"user": "13900139000",
"pass": "ModPass012",
"signature": "your_signature"
}
response = requests.get(
"https://nobase.cn/api/bbs/examine_list",
params=params,
timeout=8
)
res_data = response.json()
print(res_data)核心逻辑说明
1. 动态验证方式(基于应用身份验证模式)
| 身份验证模式 | 验证流程 | 关键校验点 |
|---|---|---|
| 令牌启用 | 通过token验证身份:1. 校验 token存在性;2. 验证 token归属当前应用和开发者;3. 获取关联用户信息。 | token必须绑定当前appid和开发者,无效或过期返回401错误。 |
| 令牌未启用 | 通过user+pass验证身份:1. 校验 user和pass存在性;2. 验证 user为纯数字、pass为字母+数字;3. 加密对比 pass与存储值;4. 获取用户信息。 | user非数字返回403,pass格式错误返回404,密码不匹配返回404。 |
2. 权限与业务校验规则
- 权限限制:仅板块版主(板块配置中指定的用户)可访问,非版主返回“权限不足:您不是版主无法审核帖子评论”;
- 评论审核前提:板块必须已开启评论审核功能,否则返回“该板块帖子评论审核未开启!”;
- 数据存在性:需验证板块(
uid)、帖子(pid)存在,否则返回对应“不存在”错误; - 状态拦截:开发者账号、用户账号需正常启用,应用非审核中/停用状态,开发者VIP未逾期,否则返回对应状态异常提示。
3. 分页查询逻辑
- 仅查询状态为“待审核”的评论;
- 支持通过
page(页码)和limit(每页条数)控制分页,默认返回第1页、每页10条; - 返回结果包含总条数(
total)、总页数(totalPage),方便前端渲染分页控件。
注意事项
参数传递规范
pid为帖子ID,需与uid(板块ID)对应,确保查询的是目标帖子的评论;- 分页参数
page和limit建议配合使用,limit最大值建议不超过50,避免单次请求数据量过大; - 两种验证模式的参数不可混用,否则可能导致签名校验失败。
权限管理
- 版主列表需在板块配置中预设,否则无法识别版主权限;
- 该接口仅用于查询待审核评论,实际审核操作需调用评论审核接口(需单独实现)。
安全建议
- 令牌未启用时
pass以明文传递,生产环境必须使用HTTPS协议; - 优先推荐“令牌启用”模式,减少账号密码暴露风险;
- 版主令牌/账号需严格管控,避免未授权用户获取待审核评论数据。
- 令牌未启用时
数据使用
- 评论中的
icon可能为默认头像(如default_avatar.png),前端需准备默认图片资源; icons、usernames、nicknames字段用于标识评论的回复对象(如有),空值表示非回复评论。
- 评论中的

