diff --git a/themes/Ying/assets/js/modules/artalk.js b/themes/Ying/assets/js/modules/artalk.js index c7acab3e..efb75f47 100644 --- a/themes/Ying/assets/js/modules/artalk.js +++ b/themes/Ying/assets/js/modules/artalk.js @@ -624,34 +624,10 @@ var getPageKey = function() { var processBadges = function() { if (!linkMap && !feedMap) return; - var data = loadUserCounts(); - var pageKey = getPageKey(); - var pages = data._pages || {}; - var isNewPage = !pages[pageKey]; - - // Count per-user comments on current page - var pageCounts = {}; - document.querySelectorAll('.atk-comment-wrap').forEach(function(wrap) { - var nickEl = wrap.querySelector('.atk-nick'); - if (!nickEl) return; - var name = (nickEl.textContent || '').trim(); - if (name) pageCounts[name] = (pageCounts[name] || 0) + 1; - }); - - // Accumulate: only add counts if this page hasn't been processed before - var userCounts = {}; - for (var name in pageCounts) { - var prev = data[name] || 0; - if (isNewPage) { - data[name] = prev + pageCounts[name]; - } - userCounts[name] = data[name]; - } - if (isNewPage) { - pages[pageKey] = true; - data._pages = pages; - } - saveUserCounts(data); + // 评论等级(九品官阶)已迁到评论后端:artalk-cf 按全站真实评论数 + // 计算并直接下发 badge_name/badge_color(官方 badge 槽渲染)。 + // 原 localStorage 累计方案只统计当前浏览器见过的评论,跨设备/清缓存 + // 就失真,已废弃(RANK_TABLE 保留仅作历史参考,不再注入)。 document.querySelectorAll('.atk-comment-wrap').forEach(function(wrap) { var nickEl = wrap.querySelector('.atk-nick'); @@ -700,31 +676,7 @@ var processBadges = function() { } } - // 3. Comment rank badge — inline next to name - if (!nickEl.querySelector('.atk-rank-badge')) { - var count = userCounts[nickText] || 0; - var rank = getRank(count); - var rb = document.createElement('span'); - rb.className = 'atk-rank-badge'; - rb.textContent = rank.short; - rb.title = rank.title + ' (' + count + '条评论)'; - rb.style.color = rank.color; - rb.style.backgroundColor = rank.bg; - rb.style.borderColor = rank.bg.replace(/[\d.]+\)$/, function(m) { - var v = parseFloat(m) + 0.06; - return Math.min(v, 0.26).toFixed(2) + ')'; - }); - var idx = RANK_TABLE.indexOf(rank); - if (idx > 0) { - var next = RANK_TABLE[idx - 1]; - var diff = next.min - count; - if (diff > 0) { - var progress = Math.round((count - rank.min) / (next.min - rank.min) * 100); - rb.title += ' — 距' + next.short + '还差' + diff + '条 (' + progress + '%)'; - } - } - nickEl.appendChild(rb); - } + // 3. 评论等级徽章已由后端下发(badge_name/badge_color 官方槽渲染),不再本地注入 }); };