fix: 主题/样式继承查询跳过观看计数——前后端配合 noread 标记

前端 inheritThemeStyle 的 fetch 体附加 noread:true,后端 dnfs2
_handle_get_notes 检测到该标记时跳过 _bump_views,避免静默查询
污染节点的观看次数统计。
This commit is contained in:
qing committed 2026-08-12 15:48:12 +08:00
1 parent 2d4c60f643
commit 49d9a33420
2 files changed
+8 -3

No files matched your search

+7 -2
View File
@@ -934,9 +934,14 @@ private:
return make_json_obj(http::status::internal_server_error, err, req);
}
// 打开节点 pid 时观看人数 +1(pid=0 为虚拟根节点,无对应行,跳过)。
// 打开节点 pid 时观看人数 +1(pid=0 为虚拟根节点或无 noread 标记时,
// 前端样式继承等静默查询传 {"noread":true} 来跳过)。
// best-effort:失败仅记日志,不影响返回结果。
if (pid != 0) {
bool noread = false;
if (auto it2 = body.find("noread"); it2 != body.end() && it2->value().is_bool()) {
noread = it2->value().as_bool();
}
if (pid != 0 && !noread) {
_bump_views(pid);
}
+1 -1
View File
@@ -722,7 +722,7 @@ function inheritThemeStyle() {
var res = await fetch('/get_notes', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ pid: pid })
body: JSON.stringify({ pid: pid, noread: true })
});
if (gen !== _inherit_gen) return;
if (!res.ok) continue;