feat(achievement): 成就图标从 emoji 换成 iconify 图标名
机房的老浏览器缺 emoji 字体,成就图标会渲染成方块。改存 iconify 图标名(noto 集,Noto Color Emoji 的 SVG 版),前端渲染成 SVG, 和浏览器字体无关,视觉上与原 emoji 基本一致。 隐藏成就的遮罩图标一并改成 noto:red-question-mark。 迁移 0002 带 77 条 emoji → noto 映射,覆盖首批成就用到的全部图标; 表里没有的保持原值,前端按纯文本兜底,之后在后台手工补。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -63,7 +63,9 @@ class AchievementSerializer(serializers.ModelSerializer):
|
||||
return "达成条件保密" if self._masked(obj) else obj.description
|
||||
|
||||
def get_icon(self, obj):
|
||||
return "❓" if self._masked(obj) else obj.icon
|
||||
# icon 存的是 iconify 图标名,不是 emoji 字符:机房里的老浏览器缺 emoji
|
||||
# 字体会渲染成方块,前端统一按 iconify 渲染成 SVG
|
||||
return "noto:red-question-mark" if self._masked(obj) else obj.icon
|
||||
|
||||
def get_metric(self, obj):
|
||||
return None if self._masked(obj) else obj.metric
|
||||
|
||||
Reference in New Issue
Block a user