dsh-skin-toggle:DSH Web GUI 皮肤管理按钮

前言

在 DSH 的 Web GUI 里,皮肤通常以客户端插件形式安装。如果本地已经安装了多个 dsh-client-ui-skin-* 皮肤,日常使用中会出现一个比较具体的问题:如何在默认界面和这些皮肤之间快速切换。

tiantyu/dsh-skin-toggle 就是为这个场景准备的 DSH 插件:在页面上提供一个可拖动的鲸鱼按钮,用来恢复默认界面或选择已安装皮肤。

这是什么

tiantyu/dsh-skin-toggle 是一个 DSH Web GUI 的皮肤管理器,采用 MIT 许可。它不直接提供皮肤本体,而是在页面中增加一个管理入口:

  • 左键恢复默认界面;
  • 右键列出已安装皮肤并切换;
  • 自动识别符合包名约定的客户端皮肤;
  • 只在展示层控制皮肤显隐,不触达模型请求。

核心功能

下面介绍已核实的能力。

1. 悬浮按钮

按钮默认位于页面右上角,也可以按住左键拖到界面上任意位置;松手后固定,并记住位置。刷新后位置保持。

2. 恢复默认界面

左键点击按钮,恢复默认界面(无皮肤)。按钮颜色也会体现当前状态:金色表示有皮肤生效,灰色表示默认界面。

3. 切换已安装皮肤

右键点击按钮,会弹出皮肤面板,列出所有已安装皮肤。点选即可切换。皮肤互斥,同一时间只生效一个。

4. 自动检测皮肤

插件从 Cordis Loader 检测符合 dsh-client-ui-skin-<id> 包名约定的皮肤,并把它们作为可选皮肤。

5. 状态保存

当前皮肤选择保存在 localStorage,刷新后保持。

6. 启动时修复加载顺序

启动时会有约 9 秒的短时重述,用来修复皮肤与本插件之间的加载顺序竞态。

7. 纯客户端展示层

插件属于展示层工具,不触达模型请求;不修改插件状态,只控制皮肤显隐。Loader 只读。皮肤显示名为包名中的 id;宿主不对外提供 skin.json,因此无法取本地化名称。

安装与启用

安装

在可以访问 dsh 命令的环境中执行:

dsh plugin --profile web add https://github.com/tiantyu/dsh-skin-toggle

启用

安装后需要重启 dsh web,并在浏览器中硬刷新:

Ctrl+Shift+R

经过上面的步骤,如果页面上出现鲸鱼按钮,说明插件已加载。

移除

如需移除,可以执行:

dsh plugin --profile web remove dsh-skin-toggle

典型用法

1、安装插件:

dsh plugin --profile web add https://github.com/tiantyu/dsh-skin-toggle

2、重启 dsh web,然后硬刷新浏览器(Ctrl+Shift+R)。

3、如果默认右上角不方便,按住左键将鲸鱼按钮拖到界面上任意位置,松手后固定并记住位置。

4、左键点击按钮,恢复默认界面。

5、右键点击按钮,弹出皮肤面板,从已安装皮肤列表中选择要切换的皮肤。

6、如果不再需要,执行移除命令:

dsh plugin --profile web remove dsh-skin-toggle

适用场景与注意

适合使用 DSH Web GUI、并且希望快速管理多个已安装皮肤的人。它解决的是“切换皮肤”和“恢复默认”的操作问题,不提供模型侧功能。

使用前注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证;
  • 本插件为 MIT 许可;皮肤本体各自遵循其许可,见各皮肤 NOTICE
  • 插件只控制皮肤显隐,不修改插件状态,也不触达模型请求;
  • 皮肤显示名为包名 id,无法从宿主获取本地化名称;
  • 安装后必须重启 dsh web 并硬刷新浏览器才能看到按钮。

结尾

tiantyu/dsh-skin-toggle 的价值很集中:给 DSH Web GUI 提供一个简单的皮肤管理入口,左键回默认,右键切皮肤,位置可拖动且记住选择。

仓库地址:

https://github.com/tiantyu/dsh-skin-toggle

如果当前环境接入了 DSH 插件目录,可检索包名 dsh-skin-toggle

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜