dsh-style-setting:爲 DSH NEXT 提供樣式設置頁

前言

DSH NEXT 的擴展生態允許開發者自定義界面,但原生的樣式配置往往缺乏集中控制。dsh-style-setting 插件提供了一個獨立的樣式設置頁面,允許用戶在無需修改代碼或下載額外字體的情況下,調整配色、卡片圓角、字體回退與對話密度。該插件由 CYEzero 維護。

功能

插件主要提供以下控制能力:

  • 獨立配色:支持淺色與深色模式,分別設置背景、面板和強調色。
  • 主題預設:內置默認、淺紫、深灰、晨霧、墨青五種配色方案,支持一鍵應用。
  • 卡片效果:可調整卡片外間距、共享圓角(範圍 0–32px)和陰影(範圍 0–30%)。
  • 字體回退:自定義字體列表,按順序使用本機字體,不改變代碼塊字體。
  • 對話密度:提供緊湊、默認、寬鬆三種模式,不改變字號大小。
  • 對比度檢查:檢測生效顏色的對比度(參考標準:文字 4.5:1,圖標 3:1),僅提示結果不自動改色。
  • 模型工具:註冊 dsh_style_settings 工具,支持通過 get、set、reset 接口讀寫上述設置。

安裝

安裝此插件需要 DSH NEXT 環境。

方式一:本地構建安裝

# 1. 進入項目目錄
npm ci --ignore-scripts
npm run build
# 2. 在 DSH 插件管理器中安裝
# 安裝來源使用 file:<項目目錄的絕對路徑>

方式二:打包安裝

# 生成安裝包
npm run pack:release
# 將生成的 local-dsh-style-setting-0.7.0.tgz 作爲本地包安裝來源

安裝或更新後重啓 DSH,在設置中找到“樣式設置”即可使用。

典型用法

設置頁按分類摺疊,支持保存後點擊“應用”。

  • 顏色輸入:格式爲 #RRGGBB。若留空,則恢復該模式的主題默認色。
  • 字體輸入:示例 Arial, Microsoft YaHei, sans-serif。最多 16 項,每項最多 512 字符。留空恢復默認。
  • 數值範圍:圓角 0–32px,外間距 0–24px,陰影 0–30%。默認值分別爲 18px / 12px / 10%。
  • 重置邏輯:
    • “恢復此組默認”:只重置當前組(如 background、surface),不影響其他設置。
    • “命名預設”:修改配色並請求切換模式。
    • “默認”:僅恢復當前模式配色,不切換模式。
  • 工具調用:
    • 分組重置參數:background、surface、accent、font、card、density、all(默認組)。
    • card 僅重置圓角、間距與陰影,不改變卡片開關。
    • density 僅恢復原生對話密度。

注意事項

  • 佈局適配:部分樣式依賴原生 CSS。佈局和對話 UI 適配基於 DSH 版本 0.2.0-rc.2,升級 DSH 後需重新驗證。
  • 界面交互:主面板與側邊欄共用顏色;輸入框、歷史消息及文件卡片跟隨自定義背景。共享圓角隨卡片開關啓用,圓形、膠囊與開關控件保留原生形狀;對話密度獨立於卡片開關。
  • 語義顏色:正文、代碼字體及成功/錯誤/警告的語義顏色保持原樣,不受插件影響。
  • 對比度檢測:未保存的輸入不參與對比度計算。不能測量的顏色(如漸變或部分 SVG)顯示爲“無法測量”。
  • 保存機制:配色保存與模式切換是兩個步驟。模式切換失敗會提示配色已保存,不代表模式已持久化。

總結

dsh-style-setting 通過獨立的設置頁面和工具接口,爲 DSH NEXT 提供了靈活的視覺定製能力。它不改變代碼字體和核心 UI 語義,專注於背景、佈局和密度等易感知的樣式調整。

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

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

小夜