From b23ac50817c3a66e234fa159626eba4827e8efae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=AA=E5=AD=90?= Date: Sun, 17 May 2026 16:32:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E8=AE=BA=E5=8C=BA=E8=BA=AB=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Comments.astro | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/components/Comments.astro b/src/components/Comments.astro index b09d335..ab71c9e 100644 --- a/src/components/Comments.astro +++ b/src/components/Comments.astro @@ -141,6 +141,10 @@ const showPrivate = isOptionOn('open_private_message'); }); } + function truthy(v) { + return v === true || v === 1 || v === '1' || v === 'true'; + } + function timeSince(ts) { var diff = Date.now() - ts; var m = 60000, h = 60*m, d = 24*h; @@ -208,17 +212,31 @@ const showPrivate = isOptionOn('open_private_message'); return '/images/avatar.jpg'; } + var masterTag = '博主'; + + function loadConfig() { + return callApi('GET_CONFIG').then(function (res) { + if (!res || (res.code && res.code !== 0)) return; + if (res.config && res.config.MASTER_TAG) masterTag = res.config.MASTER_TAG; + }).catch(function () {}); + } + /* ============ 渲染单条评论 —— 同 akina_comment_format ============ */ function renderCommentItem(c) { var url = c.link ? escapeHtml(c.link) : 'javascript:;'; var nick = escapeHtml(c.nick || '匿名'); var avatar80 = getAvatar(c, 80); var avatar24 = getAvatar(c, 48); - var master = c.master ? ' 博主' : ''; + var isMaster = truthy(c.master) || truthy(c.isAdmin) || truthy(c.admin); + var master = isMaster ? ' ' + escapeHtml(masterTag) + '' : ''; + var commentClass = 'comment' + (isMaster ? ' bypostauthor' : ''); + var replyAt = c.pid + ? '@' + escapeHtml(c.ruser || '') + '
' + : ''; var uaHtml = uaIcons(c); return '' + - '
  • ' + + '
  • ' + '
    ' + '
    ' + '
    ' + @@ -250,7 +268,7 @@ const showPrivate = isOptionOn('open_private_message'); '' + '
    ' + '
    ' + - (c.ruser ? '@' + escapeHtml(c.ruser) + ' ' : '') + + replyAt + (c.comment || '') + '
    ' + '
    ' + @@ -297,7 +315,7 @@ const showPrivate = isOptionOn('open_private_message'); }); } - refresh(); + loadConfig().then(refresh); /* ============ 提交评论 ============ */ var form = document.getElementById('twikoo-form');