概览
dsh-theme
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **设置页集成**:主题入口在「设置 → 通用 → 主题包」,与内置「外观」选择器并列;没有页面级浮动控件 (DSH 理念:插件应注册进宿主 UI 槽位,而不是独立悬浮组件)。 - **模式切换**:行内「浅色/深色」会直接设置 `body[data-ds-dark-theme]`(persist 到 `localStorage`), 此时 DSH 内置「外观」设置页的显示可能与实际不一致;点「自动」即可恢复跟随内置设置。 - **loader 条目是硬性要求**:DSH 的 `client-modules` 只扫描 loader entries(补丁层里的行), 不会自动发现 `node_modules` 里的 `dsh.client` 包;漏掉 `cordis.patch.yml` 的 `insert` 会导致插件不进 boot manifest。参见 [docs/AGENT.md](docs/AGENT.md) 的排障章节。 - **服务端入口必需**:loader 会 `import()` 插件包,因此 `exports["."]` 与 `lib/index.js` 缺一不可; 漏掉会报 `ERR_PACKAGE_PATH_NOT_EXPORTED` 或 `ERR_MODULE_NOT_FOUND`。 - **样式隔离**:设置行样式与当前主题 CSS 分属两个 `<style>` 元素,任何主题切换/清空都不会破坏行样式; 深色模式下色卡预览条跟随 `body[data-ds-dark-theme]` 切换为对应深色 swatch。 - **主题标识**:主题通过 `body[data-dsh-theme="<id>"]` 生效,与 DSH 内置外观(浅/深)正交,二者可自由组合。 - **兼容性**:令牌名取自 DSH `0.1.0-rc.6` 的 Web 产物;DSH 升级后请用 `npm run verify:live` 复检。 - **依赖平台 seed**:设置行用 `react` + `slots` 服务(DSH 平台 seed,`inject: ["slots"]`), 需要 DSH 版本提供这两个 seed(`0.1.0-rc.6` 起包含);缺失时插件优雅降级(仅保留 `window.dshTheme` API)。
