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。

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

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

小夜