themes
已验证@dsh-suite/themes · v0.3.0 · Apache-2.0 · Web 界面
151 款 AionUi 皮肤聚合 + 皮肤中心试穿面板 / A 151-skin pack with a try-on panel for DSH Web UI.
安装
dsh plugin add @dsh-suite/themes 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
发布到 npm 但没有公开仓库。安装前请检查包内容。
标签
说明文档
@dsh-suite/themes — 151 款 DSH 皮肤聚合 / 151-skin pack for DSH Web UI
把 dsh-themes 的 151 个皮肤包一包打尽:一个 npm 包 + 一个「皮肤中心」试穿面板。
安装 / Install
dsh plugin --profile web add @dsh-suite/themes
重启 dsh web 后,Settings → 皮肤中心 / Skin Center 即可用。
功能 / Features
- 试穿: 点卡片即写
body[data-dsh-<id>]属性切肤(CSS 变量实时生效),再次点击其他卡片切换,✖ 清除皮肤。 - 151 款皮肤: 分组(绝区零 / 原神 / 经典配色 / 节日限定 …,游戏系按品牌分组)、搜索(中文名/英文名/分组/标签)。
- 昼夜三态 (v0.3): 工具条「☀️ 昼 / 🌙 夜 / 🖥 跟随系统」——昼/夜手动切换预览与实际主题(
data-ds-dark-theme);「跟随系统」监听prefers-color-scheme,系统深浅色切换时预览与已应用皮肤自动跟随。 - 皮肤详情卡 (v0.3): 点击卡片除试穿外,网格上方展示详情——作者 / 标签 / 令牌数(CSS 体积估算)/ 分组 / 宣传语 + 昼·夜两张 640px 大图预览。
- 懒加载: 缩略图经 IntersectionObserver 视口按需加载,151 卡不全量拉图。
- 收藏: 卡片 ♡/♥ 收藏按钮,localStorage 持久化(重开面板/重启 DSH 仍在),网格顶部「♡ 只看收藏」开关。
- 最近试穿: 最近试穿的 8 款皮肤在网格上方横向展示,点击可再次应用。
- 随机一款: 工具条「🎲 随机试穿」从当前筛选结果(无筛选则全部 151 款)随机应用一款。
体积 / Volume
| 内容 | 体积 |
|---|---|
| 原始预览图(151×2 PNG, 1280×800) | ~67 MB |
| 打包后 assets(320×200 WebP 缩略图 + 640px WebP 大图 + manifest + 全量 CSS) | ~7.1 MB(压缩 ~10×) |
| skins.css(151 皮肤全量 CSS,试穿时经宿主 gzip 按需拉取) | 3.2 MB raw / 0.44 MB gzip |
生成 / Regenerate
皮肤清单、CSS、缩略图全部由脚本从 skins/ 扫描生成,不手写:
cd packages/skin-center && node scripts/generate.mjs # 需要系统 python3 + Pillow(缩略图)
产物 assets/manifest.json、assets/skins.css、assets/thumbs/*.webp 随包发布。
宿主路由 / Host routes
/skin-center/manifest(gzip JSON)、/skin-center/css(gzip CSS)、/skin-center/thumbs/*(缩略图)。
关系 / Architecture
- 单皮肤包(
skins/*):cordis.patch.yml 插入ui-skin-<id>roster + client.js 注入body[data-dsh-<id>]CSS。 - 本聚合包:不等价替换单包,而是宿主半批量服务全部皮肤资产 + 浏览器半统一试穿面板;已装单包与聚合包共存互不干扰(CSS 同选择器幂等)。