dsh-liya-ui-plugin · 莉娅 DSH UI 润色插件
tapIndex 注入 CSS 统一加大圆角,让界面更圆润。radius 可配置:
设置 → 插件 里本插件的配置项可编辑基础圆角(4-48),保存即时生效(host 持久化)。
v0.4.0(2026-10-02)适配 DSH 0.2.0-rc.2:rc.2 移除了客户端 settingsScope 服务与 host 的
ctx.settings.register()。配置改为「插件导出 Config(字段需 .volatile())+ profile entry id 作
namespace」+ 客户端 ctx.get('configForms'),配置项由原生「设置 → 插件」页自动生成(旧的自定义
settings.plugin.item 卡退役)。本版本起仅适配 rc.2 及以后。
另修(2026-08-17 实锤):覆盖声明需 !important——host 默认样式(:root{--liya-radius:16px})注入在
<body> 开头,晚于 head 里的覆盖样式,同特异性按文档顺序后者赢。改完刷新页面即生效。
改了什么
| 表面 | 圆角 |
|---|
| 输入框 / 搜索框(textarea、text/search/email/url) | 基础值 + 2px |
对话框 [role="dialog"] | 基础值 + 6px |
菜单 / 下拉 / 提示 [role="menu"/"listbox"/"tooltip"/"combobox"] | 基础值 |
基础值 = 插件配置 radius(默认 16),走 --liya-radius 变量。
原理
- host 半
webServer.tapIndex() 往 index.html 的 <body> 后注入 <style>(官方 ui-theme bootTheme 同款 seam),
radius 用 config.radius(cordis.patch.yml,默认 16)作为启动兜底
- host 半导出
Config = Schema.object({ radius })(字段 .volatile()),namespace = profile entry id dsh-liya-ui;
配置项由原生「设置 → 插件」页自动生成
- client 半
ctx.get('configForms').get('dsh-liya-ui'):用户配置存在时注入 :root{--liya-radius:Xpx} 覆盖 host 默认
(保存即时生效);未配置/重置时移除覆盖,沿用 host 默认
- 选择器全部走语义
role / 标签,不碰 DSH 的 hash 类名(升级不失效);!important 才能压过组件内联样式
安装 / 打包
# 安装(装完重启 WebUI 生效)
dsh plugin --profile web add <插件目录>
# 打包归档(产物输出到你的 dist 目录)
pnpm pack --pack-destination <你的插件分发目录>
# 卸载
dsh plugin --profile web remove dsh-liya-ui-plugin
dsh 请替换为你自己 DSH 安装对应的 CLI 调用方式。
装完重启 WebUI 生效(改过 manifest/client 后必须重启)。
调圆角大小
推荐:设置 → 插件 → 找到 dsh-liya-ui-plugin → 改 radius(4-48)→ 保存,即时生效(DSH 0.2.0-rc.2
起配置项由原生插件页自动生成)。
兜底默认值在 cordis.patch.yml 的 config.radius。想细化某个表面,改 index.js 的 radiusCss() 里对应行的系数。
已知边界
- 只覆盖语义 role / 标签选择器能命中的表面;个别组件用了非常规 role 会漏
!important 覆盖组件内联圆角——如果某处原设计就是刻意的小圆角(如小徽章),会被统一拉大
- 想加更多表面(如卡片/面板):往
radiusCss() 里加一行选择器,但别用 * 全量(会把圆形元素压扁)
姊妹仓库
同族的其它 DSH 插件(各一个独立仓库):
许可
双许可——文档与代码分开:
- 代码(
index.js、client.js 与其它源文件):MIT —— 拿去用、改、再发,保留版权声明即可。
- 文档(本 README 的正文):CC BY 4.0 —— 可以自由使用、改编、连商用都行,但要署名(莉娅 / @feverZHONG)并注明来源。
两份许可的全文:LICENSE(MIT)/LICENSE-DOCS(CC BY 4.0)。
莉娅(@feverZHONG)· 宇宙美好记录官