From 558c0db576a4839300dc1e345b498ab1556ee87c Mon Sep 17 00:00:00 2001 From: laoyang Date: Tue, 22 Sep 2026 15:07:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E4=BB=B7=E6=84=9F=E5=8F=97=E3=80=8C?= =?UTF-8?q?=E6=84=9F=E5=8A=A8=E3=80=8D=E7=9A=84=E5=9B=BE=E6=A0=87=E6=8D=A2?= =?UTF-8?q?=E6=88=90=20=F0=9F=92=96=EF=BC=8C=E4=BF=AE=E7=BC=BA=E5=AD=97?= =?UTF-8?q?=E5=BD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🥹(U+1F979,含泪微笑)是 Emoji 14.0 才新增的码位(2021-09), 较旧的系统 emoji 字体里没有这个字形——例如本机 Segoe UI Emoji 的 cmap 里就没有 U+1F979,Windows 上页面的「感动」图标就显示成空白。 其余 11 个感受用的都是 Emoji 1.0~11.0(2010–2018)的老码位,显示正常。 现换成 💖(U+1F496,Emoji 1.0 / 2010),各平台字体都有字形。 感受在库里只存 key(moved),emoji 与文案统一在 feelingCatalog() 里, 所以这是纯显示层变更:不需要数据迁移,已有的评价完全不受影响。 同时补了一条约定注释:以后加新感受只用 Emoji 11.0(2018)及以前的 老码位,并在注释里一律写码位而不写 emoji 字符本身。 - lib/reviews.php feelingCatalog() 中 moved 的 emoji;新增约定注释 - README.md 同步感受清单里的图标 --- README.md | 2 +- lib/reviews.php | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d0e67cd..f8ef8ee 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ - **打分 1-10**:详情页「💬 评价与讨论」区块里点数字即可打分,右侧实时显示「7 分 · 不错」;打分用的是原生单选框,禁用 JS 也能照常提交。 - **写评价**:一段正文(最多 5000 字)。**每个账号对每部电影只有一条评价**,再次提交即修改,页面上会标注「已编辑」。 - **讨论**:任意账号都能在任意一条评价下面参与讨论(正文最多 1000 字)。 -- **观后感受(可多选)**:**写评价时**和**发讨论时**都可以勾选自己的观后感受,每种感受一个专属 emoji:😄 开心、🥹 感动、🥰 温暖、🤩 激动、🤔 深思、😰 紧张、😨 恐惧、😲 震惊、😢 难受、😠 气愤、😴 无聊、😵 困惑。勾选多少个都行(最多 6 个),展示时按固定顺序排列。 +- **观后感受(可多选)**:**写评价时**和**发讨论时**都可以勾选自己的观后感受,每种感受一个专属 emoji:😄 开心、💖 感动、🥰 温暖、🤩 激动、🤔 深思、😰 紧张、😨 恐惧、😲 震惊、😢 难受、😠 气愤、😴 无聊、😵 困惑。勾选多少个都行(最多 6 个),展示时按固定顺序排列。 - 评价上的感受会显示在这条评价正文下面;修改评价时原来勾的会自动带上,取消勾选即清空。 - 感受只把 key(如 `happy`)存进数据库(`reviews.feelings` / `review_comments.feelings`),emoji 与文案统一在 `lib/reviews.php` 的 `feelingCatalog()` 里维护,**以后换 emoji / 改文案都不用动数据**。 - **评分概况**:详情页标题栏显示「N 条评价 · 均分 X」;首页列表卡片上有评价的电影会显示 `⭐ 均分`。 diff --git a/lib/reviews.php b/lib/reviews.php index 8db74d7..9f21fe5 100644 --- a/lib/reviews.php +++ b/lib/reviews.php @@ -21,13 +21,18 @@ define('REVIEW_COMMENT_MAX', 1000); define('REVIEW_FEELING_MAX', 6); // ===== 观后感受目录 ===== -// key => [emoji, 中文名]。评论时可多选,每种感受一个专属 emoji。 +// key => [emoji, 中文名]。评价时可多选,每种感受一个专属 emoji。 +// 注意:emoji 只选 Emoji 11.0(2018)及以前的老码位——更新的字形在较旧的 +// Windows / Android 系统 emoji 字体里可能没有,页面上会显示成空白或方框。 +// (下面注释一律用码位描述,不直接写 emoji 字符,免得在缺字形的环境里注释也是方框。) +// 2026-09:「感动」原本用 U+1F979(含泪微笑,Emoji 14.0 / 2021 新增),在 +// Emoji 12 时代的系统字体里缺字形,已换成 U+1F496(闪亮的心,Emoji 1.0 / 2010)。 function feelingCatalog() { static $catalog = null; if ($catalog === null) { $catalog = [ 'happy' => ['emoji' => '😄', 'label' => '开心'], - 'moved' => ['emoji' => '🥹', 'label' => '感动'], + 'moved' => ['emoji' => '💖', 'label' => '感动'], 'warm' => ['emoji' => '🥰', 'label' => '温暖'], 'excited' => ['emoji' => '🤩', 'label' => '激动'], 'thoughtful' => ['emoji' => '🤔', 'label' => '深思'],