From 55cfc73cb750300cf53fa09434f53bb6c3527206 Mon Sep 17 00:00:00 2001 From: wait4xx Date: Sun, 25 Oct 2026 22:19:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(interact):=20=E8=AE=BF=E9=97=AE=E9=87=8F?= =?UTF-8?q?=E5=B0=8F=E5=AD=97+=E7=9E=AC=E9=97=B4=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=BA=BF=E5=8A=A8=E6=95=88=EF=BC=88=E8=BD=A6=E9=81=93=20F?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - pv:ArtalkComments/MomentsPage 组件级独立 POST /artalk/api/v2/ pages/pv(页面加载即计,不等懒加载;POST 天然绕 ESA 边缘缓存); init 加 pvAdd:false 防双计(默认 true 此前评论加载一直在默默计 数——mian-sha pv=2 即此来源);双轨 pageKey 分开计数 - 瞬间动效:.tl-item IntersectionObserver 进入视口一次性渐显 (opacity 0+8px);降级链=data-mom-anim 前置标记——无 JS/ reduced-motion/无 IO 三情形标记缺席则初始隐藏不生效;软导航 astro:page-load 重注册 - Artalk 后台真根因修复(车道侧宿主件,非仓内):容器日志实锤 登录从未成功过(12+ 次 401/400,非会话丢失)——CLI 重置密码+ 凭据入 INITIAL-CREDENTIALS.txt 0600+login_timeout 3d→30d+ 容器重启;API 全链 200 实测 - 遗留(ESA 侧归 orchestrator):ESA 缓存 /artalk/api GET 响应 (stats Age 头实锤),需边缘规则绕缓存 车道:op-artalk(自验 8/8 含 route mock/reduced-motion/无 JS 三降 级);收编验收:pv 元素+动效标记+reduced-motion 豁免实测 验证: pnpm astro build exit 0;E2E 33/33;三降级链 playwright 实测 Spec: none (pv+动效,车道级交付) Co-authored-by: GLM-5.3 --- src/components/ArtalkComments.astro | 38 ++++++++++++++ src/components/pages/MomentsPage.astro | 70 ++++++++++++++++++++++++++ src/i18n/ui.ts | 3 ++ 3 files changed, 111 insertions(+) diff --git a/src/components/ArtalkComments.astro b/src/components/ArtalkComments.astro index 28cfce7..c9aa5de 100644 --- a/src/components/ArtalkComments.astro +++ b/src/components/ArtalkComments.astro @@ -6,8 +6,16 @@ interface Props { pageTitle: string; } const { pageKey, pageTitle } = Astro.props; +import { t } from '../i18n/ui'; +import { localeOf } from '../lib/locale'; +const locale = localeOf(Astro.url.pathname); --- + +

+ – + {' '}{t('pv_viewed', locale)} +