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 语义,专注于背景、布局和密度等易感知的样式调整。

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

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

小夜