Skip to content

论坛评论审核接口

用于版主审核指定帖子下的待审核评论,支持“通过”(exam=1)或“拒绝”(exam=2)操作。接口根据应用配置的身份验证模式动态选择验证方式(令牌启用时通过token验证,令牌未启用时通过user+pass验证),仅板块版主可执行审核操作。

请求地址 GET / POST

http
https://nobase.cn/api/bbs/examine_comment

请求参数

参数名位置类型必选说明
appidquerystring✅ 是应用唯一标识,从开发者中心获取
uidquerystring✅ 是板块ID,评论所属板块的唯一标识
pidquerystring✅ 是帖子ID,评论所属帖子的唯一标识
idquerystring✅ 是评论ID,需审核的评论唯一标识
examquerystring✅ 是审核操作:1=通过,2=拒绝
signaturequerystring✅ 是应用签名,与后台配置一致,用于验证请求合法性
tokenquerystring条件必选用户令牌,仅令牌启用时需传递,需绑定当前应用和开发者
userquerystring条件必选用户账号,仅令牌未启用时需传递
passquerystring条件必选用户密码,仅令牌未启用时需传递

返回示例

成功响应(审核通过)

json
{
  "code": 200,
  "msg": "success",
  "data": "操作成功"
}

成功响应(审核拒绝)

json
{
  "code": 200,
  "msg": "success",
  "data": "操作成功"
}

失败响应(参数问题)

json
{
  "code": 204,
  "msg": "fail",
  "data": "接口参数错误:缺少exam"
}
json
{
  "code": 405,
  "msg": "fail",
  "data": "审核参数错误(需为1或2)"
}
json
{
  "code": 204,
  "msg": "fail",
  "data": "接口参数错误:令牌启用需传token!"
}

失败响应(身份验证异常)

json
{
  "code": 401,
  "msg": "fail",
  "data": "token无效或已过期(非当前应用/开发者)!"
}
json
{
  "code": 404,
  "msg": "fail",
  "data": "用户账号密码错误!"
}

失败响应(权限/资源异常)

json
{
  "code": 405,
  "msg": "fail",
  "data": "权限不足:您不是版主无法审核帖子评论"
}
json
{
  "code": 407,
  "msg": "fail",
  "data": "该评论不存在!"
}
json
{
  "code": 404,
  "msg": "fail",
  "data": "该评论不需要审核!"
}
json
{
  "code": 404,
  "msg": "fail",
  "data": "该板块评论审核未开启!"
}

失败响应(配置/状态异常)

json
{
  "code": 400,
  "msg": "fail",
  "data": "应用配置错误:身份验证模式必须为令牌启用或令牌未启用!"
}
json
{
  "code": 404,
  "msg": "fail",
  "data": "开发者账号已逾期(1天),请缴费后重试!"
}

返回数据结构

参数名类型说明
codenumber状态码:200=审核成功;204=参数缺失/错误;400=应用配置错误;401=token无效;402=签名失败;404=资源不存在/状态异常(如评论无需审核、账号状态异常);405=权限不足/审核参数错误/操作失败;407=应用配置/板块/帖子/评论不存在
msgstring状态描述:success=成功,fail=失败
datastring响应数据:操作结果提示或错误原因,如“操作成功”“权限不足:您不是版主无法审核帖子评论”

代码示例

javascript
// 令牌启用时审核评论(通过审核,exam=1)
const params = new URLSearchParams({
  appid: "your_app_id",
  uid: "板块ID",
  pid: "帖子ID",
  id: "待审核评论ID",
  exam: "1", // 1=通过,2=拒绝
  token: "valid_moderator_token", // 版主有效令牌
  signature: "your_signature"
});

fetch("https://nobase.cn/api/bbs/examine_comment", {
  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);
    // 刷新评论列表等后续操作
  } else {
    console.error("审核失败:", res.data);
  }
});
javascript
// 令牌未启用时审核评论(拒绝审核,exam=2)
const url = new URL("https://nobase.cn/api/bbs/examine_comment");
url.searchParams.set("appid", "your_app_id");
url.searchParams.set("uid", "板块ID");
url.searchParams.set("pid", "帖子ID");
url.searchParams.set("id", "待审核评论ID");
url.searchParams.set("exam", "2");
url.searchParams.set("user", "版主账号");
url.searchParams.set("pass", "版主密码");
url.searchParams.set("signature", "your_signature");

fetch(url.toString())
.then(res => res.json())
.then(res => {
  res.code === 200 
    ? console.log("审核结果:", res.data)
    : console.error("错误:", res.data);
});
python
import requests

# 令牌启用时审核评论(通过)
params = {
    "appid": "your_app_id",
    "uid": "板块ID",
    "pid": "帖子ID",
    "id": "评论ID",
    "exam": "1",
    "token": "valid_moderator_token",
    "signature": "your_signature"
}

response = requests.post(
    "https://nobase.cn/api/bbs/examine_comment",
    data=params,
    timeout=8
)
res_data = response.json()
print("审核结果:", res_data["data"])
python
import requests

# 令牌未启用时审核评论(拒绝)
params = {
    "appid": "your_app_id",
    "uid": "板块ID",
    "pid": "帖子ID",
    "id": "评论ID",
    "exam": "2",
    "user": "版主账号",
    "pass": "版主密码",
    "signature": "your_signature"
}

response = requests.get(
    "https://nobase.cn/api/bbs/examine_comment",
    params=params,
    timeout=8
)
print(response.json())

核心逻辑说明

1. 身份验证模式

模式验证流程关键限制
令牌启用1. 校验token存在性;
2. 验证token归属当前应用和开发者;
3. 获取用户信息。
token无效/过期/不匹配当前应用,返回401错误。
令牌未启用1. 校验userpass存在性;
2. 验证用户存在性及密码正确性;
3. 获取用户信息。
用户未注册返回404,密码错误返回404。

2. 权限与业务校验

  • 权限限制:仅板块版主(板块配置中预设的用户)可执行审核,非版主返回“权限不足:您不是版主无法审核帖子评论”;
  • 审核前提
    - 板块需开启评论审核功能,否则返回“该板块评论审核未开启!”;
    - 评论必须处于“待审核”状态,否则返回“该评论不需要审核!”;
    - 板块(uid)、帖子(pid)、评论(id)必须存在,否则返回对应“不存在”错误;
  • 参数校验exam必须为1(通过)或2(拒绝),否则返回“审核参数错误(需为1或2)”;
  • 状态拦截:开发者账号、用户账号需正常启用,应用非审核中/停用状态,开发者VIP未逾期,否则返回对应状态异常提示。

3. 审核操作逻辑

  • exam=1时,将评论状态更新为“通过”;
  • exam=2时,将评论状态更新为“拒绝”;
  • 操作成功返回“操作成功”,数据库更新失败返回“操作失败”。

注意事项

  1. 参数规范

    • id为待审核评论的唯一标识,需与pid(帖子ID)、uid(板块ID)对应,确保审核目标正确;
    • exam参数仅支持12,其他值会被拦截并提示参数错误;
    • 两种验证模式的参数不可混用(如令牌启用时无需传user+pass)。
  2. 权限管理

    • 版主列表需在板块配置中预设,否则无法识别版主权限;
    • 审核操作不可逆,建议前端添加二次确认(如“确定通过该评论吗?”)。
  3. 安全建议

    • 令牌未启用时,pass以明文传递,生产环境必须使用HTTPS协议;
    • 优先使用“令牌启用”模式,减少账号密码暴露风险;
    • 版主令牌/账号需严格管控,避免未授权审核操作。
  4. 业务说明

    • 仅“待审核”状态的评论可被审核,已通过/拒绝的评论无法重复审核;
    • 审核结果实时生效,可通过“待审核评论列表接口”查看更新后的状态。