Appearance
用于用户在指定帖子下回复某条评论,支持动态身份验证(令牌启用时通过token验证,令牌未启用时通过user+pass验证),包含防频繁回复机制,且根据板块配置决定回复是否需要审核,同时记录回复与被回复用户的关联信息。
token
user+pass
https://nobase.cn/api/bbs/comment_reply
{ "code": 200, "msg": "success", "data": "回复成功" }
{ "code": 204, "msg": "fail", "data": "接口参数错误:缺少pid" }
{ "code": 204, "msg": "fail", "data": "接口参数错误:令牌启用需传token!" }
{ "code": 401, "msg": "fail", "data": "token无效或已过期(非当前应用/开发者)!" }
{ "code": 404, "msg": "fail", "data": "当前用户账号未注册!" }
{ "code": 404, "msg": "fail", "data": "该板块不允许帖子评论" }
{ "code": 404, "msg": "fail", "data": "请勿回复自己的评论!" }
{ "code": 405, "msg": "fail", "data": "评论频繁:请于15秒后再评论!" }
{ "code": 405, "msg": "fail", "data": "账号长度需在5-20字符之间" }
{ "code": 407, "msg": "fail", "data": "被回复的评论不存在!" }
{ "code": 404, "msg": "fail", "data": "帖子审核中!" }
{ "code": 404, "msg": "fail", "data": "开发者账号已逾期(1天),请缴费后重试!" }
// 令牌启用时回复评论 const params = new URLSearchParams({ appid: "your_app_id", uid: "板块ID", pid: "帖子ID", id: "被回复的评论ID", users: "被回复的用户名", content: "针对你的观点,我补充一点...", // 回复内容 token: "valid_user_token", // 当前用户有效令牌 signature: "your_signature" }); fetch("https://nobase.cn/api/bbs/comment_reply", { 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); } });
// 令牌未启用时回复评论 const url = new URL("https://nobase.cn/api/bbs/comment_reply"); 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("users", "被回复的用户名"); url.searchParams.set("content", "我也遇到过类似问题,解决方案是..."); 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); });
import requests # 令牌启用时回复评论 params = { "appid": "your_app_id", "uid": "板块ID", "pid": "帖子ID", "id": "被回复的评论ID", "users": "被回复的用户名", "content": "同意你的看法,补充一点细节...", "token": "valid_user_token", "signature": "your_signature" } response = requests.post( "https://nobase.cn/api/bbs/comment_reply", data=params, timeout=8 ) res_data = response.json() print("回复结果:", res_data["data"])
import requests # 令牌未启用时回复评论 params = { "appid": "your_app_id", "uid": "板块ID", "pid": "帖子ID", "id": "被回复的评论ID", "users": "被回复的用户名", "content": "请问这个问题你后来解决了吗?", "user": "当前用户账号", "pass": "当前用户密码", "signature": "your_signature" } response = requests.get( "https://nobase.cn/api/bbs/comment_reply", params=params, timeout=8 ) print(response.json())
user
pass
uid
pid
id
users
commentpost=1
被回复用户名=当前用户名
content
comment=1
state=3
state=4
icon
username
nickname
ip
icons
usernames
nicknames
ips
sid=pid
注意事项
参数规范
防刷机制
关联展示
安全建议
业务扩展
论坛评论回复接口
用于用户在指定帖子下回复某条评论,支持动态身份验证(令牌启用时通过
token验证,令牌未启用时通过user+pass验证),包含防频繁回复机制,且根据板块配置决定回复是否需要审核,同时记录回复与被回复用户的关联信息。请求地址 GET / POST
请求参数
返回示例
成功响应(回复成功)
失败响应(参数问题)
失败响应(身份验证异常)
失败响应(权限/业务限制)
失败响应(状态/资源异常)
返回数据结构
代码示例
核心逻辑说明
1. 身份验证模式
token存在性;2. 验证
token归属当前应用和开发者;3. 获取当前用户信息。
token无效/过期/不匹配当前应用,返回401错误。user和pass存在性;2. 验证当前用户存在性及密码正确性;
3. 获取用户信息。
2. 业务校验规则
- 板块(
uid)、帖子(pid)、被回复评论(id)、被回复用户(users)必须存在,否则返回对应“不存在”错误;- 应用配置、开发者账号、当前用户账号、用户配置必须存在且匹配,否则返回对应错误;
- 板块需允许评论(
commentpost=1),否则返回“该板块不允许帖子评论”;- 应用不可处于“停用”或“审核中”状态,帖子不可处于“审核中”或“审核失败”状态,否则返回对应提示;
- 开发者账号、当前用户账号、被回复用户账号需正常启用(状态为“正常”),否则返回“状态异常”;
- 禁止回复自己的评论(
被回复用户名=当前用户名时返回“请勿回复自己的评论!”);-
content(回复内容)不可为空,否则返回参数缺失错误;- 当前用户账号长度需在配置范围内(最短-最长字符),否则返回长度校验失败;
3. 回复逻辑
comment=1)决定:- 若板块评论需审核,回复状态设为“待审核”(
state=3);- 若板块评论无需审核,回复状态设为“直接发布”(
state=4);- 当前用户信息:头像(
icon)、用户名(username)、昵称(nickname)、IP(ip);- 被回复用户信息:头像(
icons)、用户名(usernames)、昵称(nicknames)、被回复评论的IP(ips);- 其他信息:所属帖子ID(
sid=pid)、回复内容、回复时间、开发者标识等;注意事项
参数规范
pid(帖子ID)需属于uid(板块ID),id(被回复评论ID)需属于pid(帖子ID),users(被回复用户名)需为id对应评论的作者,否则会触发“不存在”错误;content不可为空或仅含空白字符,建议前端限制最小长度(如5字符),避免无效回复;user+pass)。防刷机制
关联展示
usernames(被回复用户名)字段判断(非空为回复,空为评论)。安全建议
pass以明文传递,生产环境必须使用HTTPS协议;content进行内容过滤(如敏感词检测),避免发布违规内容。业务扩展