feat(public): 主题切换修复 + 卡片图标服务端本地缓存
- 主题切换:菜单改为 fixed 定位并弹出在父菜单右侧;FIXED_THEMES 扩为 9 主题并统一校验; 子菜单点击无响应修复(合并 IIFE 作用域使 applyTheme 对点击处理器可见);删除死代码。 - 卡片图标:新增 GET /site/icon/<domain>?letter=X 接口,首次请求由服务端拉取 favicon 并缓存到 data/icon/(运行时自动建目录,已加 .gitignore),之后直接读本地不再重复拉取; 拉取失败或内网/不可达网址自动生成「站点名称首字母」SVG 头像兜底,杜绝空白图标。 - 模型 Nav.to_dict 新增 domain/scheme/letter/color 计算字段,供卡片与图标接口复用。
This commit is contained in:
@@ -29,7 +29,12 @@
|
||||
data-nav-id="{{ item.id }}"
|
||||
{% if item.is_external %}target="_blank" rel="noopener noreferrer"{% endif %}>
|
||||
<div class="icon-wrap">
|
||||
<i class="layui-icon {{ item.icon }}"></i>
|
||||
<span class="nav-letter" style="background:{{ item.color }}">{{ item.letter }}</span>
|
||||
{% if item.domain %}
|
||||
<img class="nav-favicon" alt="" loading="lazy" referrerpolicy="no-referrer"
|
||||
data-domain="{{ item.domain }}" data-letter="{{ item.letter }}"
|
||||
style="display:none">
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="title-row">
|
||||
|
||||
Reference in New Issue
Block a user