VHDX 订单字段与编辑器行为参考
本页专门解释自定义订单编辑器中 VHDX 订单的可见字段、输入行为、字段联动和保存后的验收。它不提供任何真实密码、下载地址、路径、校验值或内部实现;示例全部使用占位符。
如果只想完成一次普通订单操作,先看自定义订单编辑器逐步操作。如果需要理解整个订单生命周期,再看订单与 VHDX 配置和订单下载、安装与回滚排障。需要按场景执行时,再看VHDX 订单场景化操作手册。
VHDX 订单是什么
在网页中,VHDX 订单是通过“VHDX 订单”开关标记的订单。它通常把大型或固定结构的内容作为镜像文件处理,并可能配合侧载入口和目录映射。
打开 VHDX 开关不会自动:
- 生成镜像;
- 填写镜像密码;
- 校验下载地址;
- 选择侧载版本;
- 挂载磁盘;
- 让机台立即重启。
这些动作仍然需要管理员提供的配置、订单处理和现场验收。
打开弹窗时发生什么
初始数据来源
弹窗打开时读取当前订单 JSON:
- 输入为空时按空数组显示;
- 顶层不是数组时页面显示编辑错误/空的可编辑结构,不能据此覆盖原配置;
- 每个订单的字段按页面类型显示;
- 安装项不是数组时显示为空安装项列表;
- 映射不是对象时显示为空映射列表。
打开后父页面刷新不会覆盖当前正在编辑的草稿。因此,如果弹窗打开很久,保存前应关闭并重新打开,或与管理员确认没有其它人同时修改。
类型不匹配时的可见结果
编辑器按照字段类型显示值:
| 字段类型 | 页面能识别的值 | 类型不匹配时的表现 |
|---|---|---|
| 文本 | 字符串 | 显示为空文本 |
| 开关 | 布尔值 | 显示为关闭 |
| 数字 | 有限数字 | 显示为 0 |
| 安装项 | 数组 | 显示为空列表 |
| 映射 | 对象 | 显示为空映射 |
这意味着“弹窗看起来正常”不代表原 JSON 中所有字段都被正确理解。导入未知或历史对象前应先复制原始 JSON;不确定时不要保存规范化后的结果。
顶部工具栏
订单数量
数量是当前草稿数组的长度。它不是服务端已经安装的订单数,也不是已完成订单数:
0表示当前草稿数组为空;- 增加空订单会让数量增加,但不会产生下载;
- 删除订单只改变草稿,直到点击保存才会提交;
- 保存成功后仍要到健康/订单状态查看实际处理。
填入压缩包示例配置
点击后会把当前草稿替换为脱敏的压缩包模板。已有任何订单时,页面会要求确认“替换全部内容”。
确认替换后:
- 当前草稿被替换;
- 原配置不会自动保存到服务端;
- 可以继续修改或直接取消;
- 只有点击“保存配置”才会提交。
示例中的地址、密码、Hash、大小和路径都是模板,不能直接安装。
填入 VHDX 示例配置
点击后同样替换全部草稿,但会展示 VHDX 所需的字段形状:
is_vhdx为开启状态;- 顶层有镜像密码占位符;
- 安装项有镜像文件名占位符;
- 侧载入口和映射可能被填入模板;
- 时间、URL、Hash 和大小是占位内容。
正确用法是用模板理解结构,再逐项替换为管理员提供的已验证值。不要把模板中的任何实际字符串当作授权配置。
添加订单
“添加订单”会在数组末尾增加一个空订单对象。空订单通常包含空文本、关闭开关、空安装项和空映射。保存前必须:
- 填写唯一名称;
- 填写目标路径;
- 确认订单用途;
- 添加至少一个有效安装项,或明确这是删除项;
- 确认是否可选、是否 VHDX、是否侧载。
不需要的空订单使用“移除”,不要留在生产数组中。
顶层订单字段逐项说明
name:订单名称
页面标签是“订单名称”。它同时是:
- 订单识别名;
- 订单状态中的名称;
- 侧载选择界面可能显示的版本名;
- 可选/黑名单/删除列表中使用的匹配值。
要求:稳定、唯一、无密码、无临时 URL。修改名称后,旧列表项不会自动映射到新名称,相关筛选列表也要同步检查。
description:描述
描述只用于管理者识别订单用途、来源和批次。不要把镜像密码、访问码、完整地址或账号信息写进描述。描述变更一般不等于内容变更,但仍应在保存记录中注明。
install_path:安装路径
这是订单在目标机台上使用的安装/数据根目录。输入时注意:
- 目标磁盘已挂载;
- 目录属于当前机台;
- 不与正在运行的关键目录冲突;
- VHDX 和普通包尽量使用不同目录;
- JSON 中反斜杠必须正确转义;
- 路径不要携带密码或查询参数。
路径输入成功不代表目录已经存在,也不代表机台已经有写入权限。
is_delete:删除项
开启后订单被解释为清理/删除对象。它不是“禁用订单”、也不是“隐藏订单”。
保存前必须再次确认:
- 名称是否完全匹配目标;
- 路径是否正确;
- 是否会影响仍在使用的数据;
- 是否已经下载并保存当前状态;
- 是否有回滚点。
不确定时保持关闭,不要用删除项试图修复下载或启动问题。
is_option:可选安装项
开启后订单不会自动应用。它还要满足机台“订单项可选安装列表”的选择条件。以下组合会导致看得到配置但不下载:
is_option | 可选列表 | 结果 |
|---|---|---|
| 关闭 | 任意 | 作为普通订单处理,具体行为看其它状态 |
| 开启 | 未包含名称 | 不会被选择 |
| 开启 | 包含名称 | 允许进入可选安装流程 |
| 开启 | 同时被黑名单排除 | 通常仍被排除 |
修改名称后要同时检查可选列表和黑名单。
is_vhdx:VHDX 订单
开启后,安装项的 vhdx_name、顶层镜像密码、路径/挂载映射和侧载入口通常需要配套。不要只把压缩包订单的 URL 和密码原样保留,再打开 VHDX 开关。
切换方式:
- 复制当前订单原文;
- 确认管理员提供的是镜像方案;
- 设置
is_vhdx; - 检查每个安装项的镜像文件名;
- 检查
install_path、映射和运行路径; - 检查 Hash、大小、时间和密码;
- 保存后观察下载、校验、挂载和启动。
vhdx_pwd:镜像密码
这是敏感输入:
- 只填管理员提供的当前值;
- 不要用账号密码替代;
- 不要写入描述、截图、日志或反馈;
- 复制时检查首尾空格和换行;
- 只在正确镜像和正确订单中使用。
密码错误时不要不停重试。记录镜像文件名、订单名和错误时间,私下让管理员核对并按要求轮换。
时间字段
顶层 current.order_time
表示订单开始进入处理流程的时间。它影响订单何时进入可处理范围,但实际结果仍取决于网络、权限和安装项。
顶层 current.release_time
表示内容允许进入后续应用阶段的时间。下载完成但发布时间未到,可能显示等待,不应当作下载失败。
安装项时间
安装项可以填写自己的 order_time 和 release_time。当安装项字段非空时,页面/处理流程可能优先使用安装项时间。为了避免同一订单的安装项先后不一致:
- 同一批安装项统一填写;或
- 同一批安装项统一留空,使用顶层时间。
时间字符串要统一时区。不要用浏览器当前时间随意覆盖管理员提供的时间。
settings.mklink:订单级目录映射
页面控件
页面显示:
mklink开关;模式数字输入;源路径输入;目标路径输入。
关闭开关时,字段仍可能保留在 JSON 中,但不应按启用映射处理。模式是数字,页面没有完整枚举解释,不要凭猜测写非零值。
启用前检查
- 源路径属于允许的共享目录;
- 目标路径属于当前订单;
- 两个路径在目标机台可访问;
- 目录不会覆盖正在运行的内容;
- 管理员提供了经过验证的模式;
- 已保存原 JSON。
映射方向错误可能导致内容不可见、启动失败或写入错误位置。网页保存成功不等于目标目录已经出现。
settings.sideload:侧载启动
页面控件
sideload开关;运行路径文本输入。
启用后,订单才可能出现在侧载选择列表。运行路径必须指向目标机台可访问的启动入口;盘符未挂载、文件不存在或 JSON 转义错误会导致“下载成功但启动失败”。
侧载验收
- 订单配置保存成功;
- 安装项完成;
- 侧载选择弹窗出现目标名称;
- 点击“使用”而不是只调整排序;
- 按提示重启;
- 健康页面显示目标分支/订单;
- 内容最小读取成功。
install 安装项数组
页面行为
点击“添加安装项”会添加一行;每行有删除按钮。删除只改变当前草稿,保存后才提交。多个安装项可以表示主包、资源包、补丁包或多个镜像,但名称必须能区分。
安装项字段
| 页面输入 | 字段 | VHDX 使用建议 |
|---|---|---|
| 名称 | install[].name | 唯一,作为进度项名称 |
| Hash | install[].hash | 使用管理员给的完整校验值 |
| URL | install[].url | 使用当前受信下载地址 |
| 密码 | install[].pwd | 压缩包密码;镜像顶层密码仍单独处理 |
| 大小 | install[].size | 字节数,保持数字类型 |
| VHDX 名称 | install[].vhdx_name | 镜像文件名,需与发布物一致 |
| 订单时间 | install[].order_time | 安装项级处理时间 |
| 发布时间 | install[].release_time | 安装项级应用时间 |
字节大小
输入框是数字输入,但页面会把无法解析的输入归为 0。0 可能导致进度和完整性判断异常;不要用 0 表示“暂时不知道”,应先向管理员确认准确字节数。
Hash
Hash 是完整性校验,不是文件名、URL 或密码。复制时不要带空格、换行或 Markdown 代码符号。Hash 不匹配时不要关闭校验或修改文件来匹配。
URL
URL 是下载来源,不要写入描述或日志。确认协议、路径和当前发布批次,避免使用聊天中的旧地址。URL 失效时保存错误和时间,不要随机替换来源。
安装项密码
安装项密码与顶层镜像密码可能不同。压缩包有密码时填写 pwd;VHDX 镜像的解锁密码按管理员说明填写顶层字段。不要把同一个密码复制到所有层级,除非管理员明确如此配置。
vhdx_name
VHDX 订单中,它应与下载/发布的镜像文件名完全一致。扩展名、大小写和路径层级都不要自行修改。普通压缩包通常留空;把压缩包文件名填到这里可能让处理流程误判安装模式。
install_mklink:安装项级映射
页面行为
点击“添加映射”会添加键/值一行:
- 修改键会删除旧键、创建新键;
- 修改值只改变当前键对应的值;
- 删除映射只从订单 JSON 删除,不删除磁盘原文件;
- 空键和重复键会造成难以解释的结果。
VHDX 使用场景
当镜像内容和公共资源分开存放时,install_mklink 可能把共享素材映射到订单路径。使用前确认:
- 键和值的方向由管理员样例确定;
- 源目录存在且可读;
- 目标目录不会覆盖其它订单;
- 多个映射不会互相覆盖;
- 目标盘在启动阶段会被挂载;
- 回滚时知道是否需要移除这些映射。
不要根据“键是目标/值是源”的文字自行推断实际系统方向;以当前页面和管理员验证过的样例为准。
JSON 编辑区的精确行为
生成内容
表单任何改动都会重新序列化整个订单数组,底部 JSON 会更新。这个区域可以复制为离线备份,但复制的是当前草稿,不一定是服务端最新配置。
直接编辑
直接修改文本区时:
- 顶层必须是数组;
- JSON 语法正确后,表单才会同步;
- 解析失败时,页面保留上一次有效表单供显示;
- JSON 错误时保存按钮禁用;
- 修复语法后再检查字段类型和唯一名称;
- 未知字段不要删除。
规范化风险
如果导入对象包含错误类型,编辑器可能把文本显示为空、开关显示为关闭、数字显示为 0,并在下一次序列化时保存规范化后的对象。对于来自旧版本或未知来源的 JSON,先保存原文,再决定是否允许编辑器重写。
保存/取消/替换的差异
| 操作 | 当前草稿 | 服务端/机台 |
|---|---|---|
| 关闭/取消 | 丢弃未保存修改 | 不改变 |
| 填入示例 | 替换当前草稿 | 不改变 |
| 添加/移除 | 修改当前草稿 | 不改变 |
| 修复 JSON | 修改当前草稿 | 不改变 |
| 保存配置 | 提交完整数组 | 可能进入后续订单流程 |
保存按钮在 saving 状态禁用。保存成功后弹窗关闭,机台管理页可能显示操作进度;这不是内容已经完成的证明。
VHDX 保存前逐项检查
- [ ]
is_vhdx与安装项实际类型一致; - [ ] 顶层镜像密码已由管理员核对;
- [ ] 每个安装项的
vhdx_name与发布文件一致; - [ ] Hash 完整且无空格;
- [ ] size 是准确字节数;
- [ ] URL 属于当前发布批次;
- [ ]
install_path可用且不会覆盖其它内容; - [ ]
release_time和时区正确; - [ ] 侧载
run_path存在; - [ ]
install_mklink方向经过验证; - [ ] 可选/黑名单/删除列表没有冲突;
- [ ] 当前配置和缓存已备份;
- [ ] 机台处于空闲;
- [ ] 保存后有维护窗口观察下载和应用。
VHDX 运行后验收顺序
配置回读 → 订单可见 → 安装项下载
→ Hash/大小校验 → 镜像准备/挂载
→ 侧载选择 → 启动入口 → 内容读取
→ 最小游玩/退出 → 记录/缓存 → 重启后复验其中任何一环失败都先停在该环节,不要通过修改下一个字段掩盖问题。
VHDX 故障对照
| 现象 | 优先检查 | 不要做 |
|---|---|---|
| 订单能看到但不下载 | 可选列表、发布时间、订单开关 | 重复创建同名订单 |
| 下载完成但校验失败 | Hash、size、文件是否被替换 | 关闭校验 |
| 解锁失败 | 顶层密码、镜像匹配、文件名 | 把账号密码反复试入 |
| 镜像有但侧载按钮不见 | is_vhdx、侧载开关、当前分支 | 手动猜版本名 |
| 侧载按钮有但启动失败 | run_path、挂载盘、路径转义 | 复制另一机台目录 |
| 启动后资源缺失 | 映射方向、源目录、安装项 | 删除缓存/重命名文件 |
| 保存成功但无变化 | 操作进度、发布时间、是否重启 | 连续保存同一配置 |
详细的回滚判断见回滚决策与最小恢复路径。
