# 皮肤与移动布局 [English](SKIN_COMPATIBILITY.en.md) · [第三方插件适配](../README.md#第三方插件适配) DSH Mobile 在已认证的移动页面中使用专用根布局,继续渲染 DSH 的会话、侧栏、设置和公共插槽;电脑页面不变。皮肤的公共主题变量可继续被组件使用,但依赖原生 CSS 模块类名或特定父节点的背景、人物及侧栏装饰不一定适用。 ## 保留电脑皮肤,只调整手机 在手机 **设置 → 通用设置 → 移动页面模块 → 管理** 中找到皮肤对应的客户端模块;若它是可选项,可取消勾选并保存。选择只作用于当前配对设备,不卸载电脑插件、不修改其他设备,也不会自动刷新会话。下次手动重新打开或刷新页面才生效。 保存时若提示依赖冲突,保留所需模块,或同时取消不需要的依赖方;不能排除启动必需模块。手机的“恢复默认”会重新使用电脑默认选择,不表示恢复为“加载全部”。完整规则见[模块管理](CLIENT_MODULES.md)。 ## 背景不显示时如何判断 - 先核对正在运行的插件、App 和皮肤版本;插件与 App 版本不必相同。 - 若文字和控件整体偏大,先核对[移动字号与 App 页面缩放](MOBILE_COMPOSER_TOOLBAR.md#显示大小与可用空间),与默认设置对照后再判断布局问题。终端和第三方控件不一定消费相同的字体设置。 - 只在本设备不加载皮肤,手动重新打开后比较会话、输入栏和侧栏。恢复正常说明需要检查双方样式与挂载位置,不表示网络或配对失效。 - 先与电脑上的原生布局对照。开发者还可在已认证移动 Origin 打开 `/?frontend=stock` 作启动与布局诊断;它保留 Gateway 认证与 HTTPS 检查,跳过专用移动启动改写和模块选择,但仍可能加载客户端移动适配及已认证定制,并非不含插件的对照页。部分 API 操作可能被拒绝,不能代替正常移动入口。 - 若原生布局有背景而移动布局没有,检查皮肤背景的挂载容器及其对非原生布局的回退逻辑;单纯放行 WebSocket、重装 APK 或把全部容器设为透明不能保证修复。 - 侧栏透底、文字阴影难读和轨迹空白应分别排查,不能都归为“少了一张背景图”。轨迹空白时还需检查首个客户端异常、实际布局尺寸和是否加载了相应模块;仅从静态截图不能判断是渲染异常、遮挡还是连接问题。 例如 `maid-atelier` 0.1.7 发布包的背景依赖原生 `centerCol` 容器;皮肤仓库源码中的非原生布局回退不代表已安装包包含相同修正。DSH Mobile 不伪造这个类名或移动皮肤节点。支持移动布局的皮肤可以利用现有 `[data-pane="conversation"]`、`[data-pane="sidebar"]` 标记定位自己的装饰,或使用 DSH 公共主题变量;皮肤仍需自行处理尺寸、层叠、关闭清理和明暗主题,装饰不得遮挡文字或点击区域。本指南不表示整套皮肤已完成兼容验收。参见 [#202](https://github.com/saya-ch/dsh-mobile/issues/202)。 在 DSH 0.2.0-rc.2、Mobile 0.6.4 与正式 npm `maid-atelier` 0.1.7 的隔离组合中,已复现深蓝侧栏透底、深色文字难读、背景缺失和有内容会话的轨迹空白。轨迹数据没有丢失:皮肤的宽泛根布局规则把移动容器改为纵向 Flex,内容区域高度缩为 0。插件 0.6.5 保护自有根容器的 Grid 几何规则,修复该轨迹空白,不改皮肤配色、阴影或装饰挂载。 该皮肤把浅色侧栏文字绑定到原生 `sidebarCol`;移动布局没有该节点。缺失背景及部分文字对比度仍需皮肤适配,不能视为已随轨迹修复解决。按上面的设备模块选择排除皮肤后,移动页面可恢复默认样式,电脑皮肤保持。插件 0.6.4 及更早版本不包含这项布局保护。