评价感受「感动」的图标换成 💖,修缺字形

🥹(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        同步感受清单里的图标
This commit is contained in:
2026-09-22 15:07:10 +08:00
parent dc5e788f27
commit 558c0db576
2 changed files with 8 additions and 3 deletions
+1 -1
View File
@@ -55,7 +55,7 @@
- **打分 1-10**:详情页「💬 评价与讨论」区块里点数字即可打分,右侧实时显示「7 分 · 不错」;打分用的是原生单选框,禁用 JS 也能照常提交。 - **打分 1-10**:详情页「💬 评价与讨论」区块里点数字即可打分,右侧实时显示「7 分 · 不错」;打分用的是原生单选框,禁用 JS 也能照常提交。
- **写评价**:一段正文(最多 5000 字)。**每个账号对每部电影只有一条评价**,再次提交即修改,页面上会标注「已编辑」。 - **写评价**:一段正文(最多 5000 字)。**每个账号对每部电影只有一条评价**,再次提交即修改,页面上会标注「已编辑」。
- **讨论**:任意账号都能在任意一条评价下面参与讨论(正文最多 1000 字)。 - **讨论**:任意账号都能在任意一条评价下面参与讨论(正文最多 1000 字)。
- **观后感受(可多选)**:**写评价时**和**发讨论时**都可以勾选自己的观后感受,每种感受一个专属 emoji:😄 开心、🥹 感动、🥰 温暖、🤩 激动、🤔 深思、😰 紧张、😨 恐惧、😲 震惊、😢 难受、😠 气愤、😴 无聊、😵 困惑。勾选多少个都行(最多 6 个),展示时按固定顺序排列。 - **观后感受(可多选)**:**写评价时**和**发讨论时**都可以勾选自己的观后感受,每种感受一个专属 emoji:😄 开心、💖 感动、🥰 温暖、🤩 激动、🤔 深思、😰 紧张、😨 恐惧、😲 震惊、😢 难受、😠 气愤、😴 无聊、😵 困惑。勾选多少个都行(最多 6 个),展示时按固定顺序排列。
- 评价上的感受会显示在这条评价正文下面;修改评价时原来勾的会自动带上,取消勾选即清空。 - 评价上的感受会显示在这条评价正文下面;修改评价时原来勾的会自动带上,取消勾选即清空。
- 感受只把 key(如 `happy`)存进数据库(`reviews.feelings` / `review_comments.feelings`),emoji 与文案统一在 `lib/reviews.php` 的 `feelingCatalog()` 里维护,**以后换 emoji / 改文案都不用动数据**。 - 感受只把 key(如 `happy`)存进数据库(`reviews.feelings` / `review_comments.feelings`),emoji 与文案统一在 `lib/reviews.php` 的 `feelingCatalog()` 里维护,**以后换 emoji / 改文案都不用动数据**。
- **评分概况**:详情页标题栏显示「N 条评价 · 均分 X」;首页列表卡片上有评价的电影会显示 `⭐ 均分`。 - **评分概况**:详情页标题栏显示「N 条评价 · 均分 X」;首页列表卡片上有评价的电影会显示 `⭐ 均分`。
+7 -2
View File
@@ -21,13 +21,18 @@ define('REVIEW_COMMENT_MAX', 1000);
define('REVIEW_FEELING_MAX', 6); 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() { function feelingCatalog() {
static $catalog = null; static $catalog = null;
if ($catalog === null) { if ($catalog === null) {
$catalog = [ $catalog = [
'happy' => ['emoji' => '😄', 'label' => '开心'], 'happy' => ['emoji' => '😄', 'label' => '开心'],
'moved' => ['emoji' => '🥹', 'label' => '感动'], 'moved' => ['emoji' => '💖', 'label' => '感动'],
'warm' => ['emoji' => '🥰', 'label' => '温暖'], 'warm' => ['emoji' => '🥰', 'label' => '温暖'],
'excited' => ['emoji' => '🤩', 'label' => '激动'], 'excited' => ['emoji' => '🤩', 'label' => '激动'],
'thoughtful' => ['emoji' => '🤔', 'label' => '深思'], 'thoughtful' => ['emoji' => '🤔', 'label' => '深思'],