# 移动页面模块 [English](CLIENT_MODULES.en.md) · [返回 README](../README.md#可选模块与高级配置) > 模块管理入口自插件 0.6.0 起提供;下述搜索、分组及恢复改进需要插件 0.6.5 或更新版本。插件与 App 的版本号不必相同。 用“移动页面模块”选择专用移动页面要加载的客户端组件。它不卸载电脑上的插件,不停止插件服务,也不是设备权限隔离;已配对设备仍是受信任的 DSH 操作者。 选择作用于完整模块 ID,不能分别隐藏同一模块中的按钮、卡片或侧栏。一个插件可能注册多个模块,也可能与其他功能共用或依赖某个模块;未拆为可选客户端模块的功能不一定能在这里单独关闭。 模块选择只作用于客户端模块。插件还可以在服务端把样式直接注入每个页面——典型就是皮肤壁纸和整页配色;这类内容不是客户端模块,取消勾选不会让它消失。要彻底关掉请禁用整个插件,或由插件自己按移动布局适配。皮肤类插件的排查见[皮肤与移动布局](SKIN_COMPATIBILITY.md)。 ## 电脑默认与本设备选择 - **电脑端:设置 → 通用设置 → 移动页面模块 → 管理**,修改此电脑的移动访问默认加载项。先开启一个局域网或远程访问入口,才能读取当前 DSH 的模块目录。 - **手机端:设置 → 通用设置 → 移动页面模块 → 管理**,只修改当前已认证配对设备的覆盖选择,不能修改其他手机或电脑默认。 有效选择依次为:本设备覆盖 → 电脑默认 → profile 中的 `excludedClientModules` 配置。没有这些自定义设置时不排除模块。电脑默认由局域网与远程入口共用;设备覆盖按配对身份保存,同一手机的独立局域网和远程配对不会自动共用一个覆盖。 手机的“恢复默认”删除自己的覆盖,重新使用电脑默认;电脑的“恢复默认”删除电脑覆盖,重新使用插件配置。其他设备的覆盖保持不变。 **“恢复默认”不等于“加载全部”**:如果电脑默认或 profile 本身排除了模块,恢复默认后仍会沿用这些排除项。启动恢复页的“为本设备加载全部模块并重试”则明确为当前设备保存空排除列表,不修改电脑默认和其他设备。 ## 找到要调整的模块 默认先显示**可选扩展**;**DSH 可选组件(高级)**和**启动必需项**折叠显示。后者不能关闭。分类只帮助浏览,不表示来源认证,也不代表每个前端模块就是一个完整插件。 使用搜索框按名称或模块 ID 查找,或筛选“加载/不加载”。筛选不会丢弃其他条目的未保存选择。显示名称省略通用的 DSH 客户端前缀并机械分词;完整 ID 和声明依赖在“模块详情”中,不猜测第三方插件的用途。加载规则默认折叠,需要时再展开。 DSH 或插件更新后,旧排除项可能已不在目录中,或变为启动必需项。此时会单独显示“失效的旧选择”;点击对应的“移除旧排除”后再保存,保留其他选择。不自动清除,也不允许关闭必需项。 ## 选择与生效 1. 等待目录读取完成;读取失败或超时可点击“重新读取”,不必关闭弹窗。重新读取会替换未保存选择,存在改动时需先确认。 2. 勾选表示下次打开时加载,取消勾选表示下次不加载,不表示当前页面中的模块已经卸载。启动必需模块不能取消;可在详情中查看声明依赖。 3. 查看“未保存”改动数量,点击“保存选择”;没有改动时保存不可用。若保留模块仍依赖已排除模块,保存会拒绝并说明冲突:保留依赖,或同时排除不再需要的依赖方。不会自动连带取消其他模块。若读取后模块目录发生了变化(插件或版本更新),保存会被拒绝并提示重新读取,避免用旧目录算出的选择覆盖当前状态。 4. 保存成功后,当前页面、会话和草稿不会被自动刷新。下次手动重新打开或刷新 DSH 页面时应用选择,无需为设置入口的保存重启 DSH。 关闭、Escape 或 App 返回动作触发时,有未保存改动会提示确认。保存失败保留选择;保存超时只表示结果尚未确认,不等于服务器已回滚。可重新读取确认保存结果,不会自动重试写入,关闭弹窗也不能撤销已经完成的保存。长列表独立滚动,关闭和底部操作保持可达。 电脑页面与 `?frontend=stock` 页面不受模块选择影响。DSH 或社区插件更新可能改变模块目录和依赖;已保存的选择阻止移动页面启动时,页面提供“为本设备加载全部模块并重试”,由你点击后恢复本设备的加载选择,不改变电脑默认、其他设备或配对授权。设置接口仍拒绝无效选择,不绕过启动必需或依赖检查。 插件 0.8.2 候选将已安装的“通用设置”入口组件列为启动必需项,修复旧最小加载选择导致设置入口不可用的问题。旧记录若排除了该组件,重新打开移动页面时会先显示恢复页,无需先进入设置。点击加载全部才会保存并重试;失败时保留原选择,可以明确重试,不需要删除配对。0.8.2 尚未发布,发布状态见 [CHANGELOG](../CHANGELOG.md)。 ## 体积测量与最小加载 点击“测量体积”才会读取模块资源并计算各模块独立 gzip 后的体积。普通读取、保存和恢复默认不会等待这些探测;测量期间可随时取消,未保存选择不会被覆盖,也不会保存或刷新页面。每次测量最多使用五秒预算;结束后显示已完成的结果,其余保持未知,已知结果缓存十分钟,DSH 模块图更新后重新测量。 每个分组按已测体积从大到小排列,未知项放在最后。合计始终说明仍有多少勾选项未测到,不把部分结果当作完整流量。移动布局测量的是网关实际提供的布局文件。模块合并、浏览器缓存、压缩协商和插件版本都会影响真实下载量,所以数字只帮助比较当前模块,不代表精确的下次下载量或固定节省比例。 能通过当前安装环境解析到包元数据的模块还会显示插件自己的 `package.json` 描述:去除链接、压成一行、最长 200 字,不代表上游认证;包未导出元数据或无法读取时不显示,不猜测用途。“仅必需(最小加载)”只保留启动必需项及其依赖,其他项设为不加载;确认框说明将排除的模块数、已测 gzip 小计及体积未知的数量,不把部分测量当作完整节省量。它只修改草稿,仍需点击“保存选择”。默认加载规则不变,不会自动屏蔽所有第三方插件。 ## 数据与授权 选择原子保存在电脑的 DSH Mobile 私有数据目录,不复制会话草稿。目录接口返回模块 ID、必需标记、依赖、选择及可用的体积和包描述,不返回上游下载 URL、本机文件路径或配对凭据。手机只能通过已认证的 Gateway 读取自己的选择;修改和显式测量还需同源和 CSRF 校验。 撤销配对授权会移除该授权的模块覆盖。要停止某台手机操作电脑,请在电脑端撤销设备,而不是只关闭一个客户端模块。 直接修改 profile 中的高级配置仍需重启 DSH;配置示例与限制见 [第三方插件适配](../README.md#第三方插件适配)。