Appearance
用于用户在指定帖子下发布评论,支持动态身份验证(令牌启用时通过token验证,令牌未启用时通过user+pass验证),包含防频繁评论机制,且根据板块配置决定评论是否需要审核,同时自动更新帖子的评论数。
token
user+pass
https://nobase.cn/api/bbs/comment_publish
{ "code": 200, "msg": "success", "data": "评论成功" }
{ "code": 204, "msg": "fail", "data": "接口参数错误:缺少content" }
{ "code": 204, "msg": "fail", "data": "接口参数错误:令牌启用需传token!" }
{ "code": 401, "msg": "fail", "data": "token无效或已过期(非当前应用/开发者)!" }
{ "code": 404, "msg": "fail", "data": "用户账号密码错误!" }
{ "code": 404, "msg": "fail", "data": "该板块不允许帖子评论" }
{ "code": 405, "msg": "fail", "data": "评论频繁:请于20秒后再评论!" }
{ "code": 405, "msg": "fail", "data": "账号长度需在6-18字符之间" }
{ "code": 404, "msg": "fail", "data": "帖子审核中!" }
{ "code": 404, "msg": "fail", "data": "开发者账号已逾期(30分钟),请缴费后重试!" }
{ "code": 407, "msg": "fail", "data": "该帖子不存在!" }
// 令牌启用时发布评论 const params = new URLSearchParams({ appid: "your_app_id", uid: "板块ID", id: "目标帖子ID", content: "这条帖子很有价值,我来补充一点看法...", // 评论内容 token: "valid_user_token", // 用户有效令牌 signature: "your_signature" }); fetch("https://nobase.cn/api/bbs/comment_publish", { 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_publish"); url.searchParams.set("appid", "your_app_id"); url.searchParams.set("uid", "板块ID"); url.searchParams.set("id", "目标帖子ID"); 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", "id": "帖子ID", "content": "学习了,感谢分享!", "token": "valid_user_token", "signature": "your_signature" } response = requests.post( "https://nobase.cn/api/bbs/comment_publish", data=params, timeout=8 ) res_data = response.json() print("评论结果:", res_data["data"])
import requests # 令牌未启用时发布评论 params = { "appid": "your_app_id", "uid": "板块ID", "id": "帖子ID", "content": "请问这个问题有后续解决办法吗?", "user": "用户账号", "pass": "用户密码", "signature": "your_signature" } response = requests.get( "https://nobase.cn/api/bbs/comment_publish", params=params, timeout=8 ) print(response.json())
user
pass
uid
id
content
注意事项
参数规范
防刷机制
审核说明
安全建议
数据同步
论坛帖子评论发布接口
用于用户在指定帖子下发布评论,支持动态身份验证(令牌启用时通过
token验证,令牌未启用时通过user+pass验证),包含防频繁评论机制,且根据板块配置决定评论是否需要审核,同时自动更新帖子的评论数。请求地址 GET / POST
请求参数
返回示例
成功响应(评论发布成功)
失败响应(参数问题)
失败响应(身份验证异常)
失败响应(权限/业务限制)
失败响应(状态/资源异常)
返回数据结构
代码示例
核心逻辑说明
1. 身份验证模式
token存在性;2. 验证
token归属当前应用和开发者;3. 获取用户信息。
token无效/过期/不匹配当前应用,返回401错误。user和pass存在性;2. 验证用户存在性及密码正确性;
3. 获取用户信息。
2. 业务校验规则
- 板块(
uid)、帖子(id)必须存在,否则返回对应“不存在”错误;- 应用配置、开发者账号、用户账号、用户配置必须存在且匹配,否则返回对应错误;
- 板块需允许评论(特定配置),否则返回“该板块不允许帖子评论”;
- 应用不可处于“停用”或“审核中”状态,帖子不可处于“审核中”或“审核失败”状态,否则返回对应提示;
- 开发者账号、用户账号需正常启用(状态为“正常”),否则返回“状态异常”;
-
content(评论内容)不可为空,否则返回参数缺失错误;- 用户账号长度需在配置范围内(最短-最长字符),否则返回长度校验失败;
3. 评论发布逻辑
- 若板块评论需审核(特定配置),评论状态设为“待审核”;
- 若板块评论无需审核,评论状态设为“直接发布”;
1. 插入评论数据(含用户信息、评论内容、发布时间、IP地址等);
2. 自动更新目标帖子的评论数(现有数量+1);
3. 记录当前评论时间到session,用于防频繁评论校验;
注意事项
参数规范
content为核心必填参数,不可为空或仅含空白字符,建议前端限制最小长度(如10字符);id为目标帖子的唯一标识,需与uid(板块ID)对应,避免评论到错误帖子;user+pass)。防刷机制
审核说明
安全建议
pass以明文传递,生产环境必须使用HTTPS协议;content进行内容过滤(如敏感词检测),避免发布违规内容。数据同步