自定义订单字段与控件矩阵
本页是“自定义订单配置”弹窗的字段级索引。它把页面标签、JSON 路径、默认显示、输入类型、序列化结果、与其它字段的关系、风险等级和验收动作放在同一张参考中,适合在维护窗口逐项对照。
如果只需要完成一次编辑,请先看自定义订单编辑器逐步操作;如果订单使用镜像,再看VHDX 订单字段与编辑器行为参考和VHDX 订单场景化操作手册。本页不放真实地址、密码、Hash、路径或机台标识。
弹窗控件总览
| 区域 | 页面控件 | 是否立即写入 | 取消后的结果 | 主要风险 |
|---|---|---|---|---|
| 顶部 | 关闭按钮 | 否 | 丢弃当前草稿 | 忘记保存/误保存 |
| 顶部 | 订单数量 | 否 | 随草稿变化 | 把草稿数量当成已安装数量 |
| 顶部 | 压缩包示例 | 否 | 替换草稿,可放弃 | 覆盖未保存草稿 |
| 顶部 | VHDX 示例 | 否 | 替换草稿,可放弃 | 把示例当生产值 |
| 顶部 | 添加订单 | 否 | 删除草稿即可 | 保存空订单 |
| 订单卡片 | 移除 | 否 | 未保存时不影响机台 | 删除了错误订单后仍保存 |
| 订单卡片 | 文本/数字输入 | 否 | 关闭弹窗丢弃 | 类型/名称/路径错误 |
| 订单卡片 | 三个开关 | 否 | 关闭弹窗丢弃 | 删除、可选和 VHDX 语义混淆 |
| 订单卡片 | mklink/sideload | 否 | 关闭弹窗丢弃 | 映射或启动路径错误 |
| 安装项 | 添加/删除 | 否 | 关闭弹窗丢弃 | 主包/分包顺序和匹配错误 |
| 映射 | 添加/修改/删除 | 否 | 关闭弹窗丢弃 | 键修改导致旧映射被移除 |
| JSON 区 | 文本区 | 否 | 关闭弹窗丢弃 | 解析失败时误以为已保存 |
| 底部 | 保存配置 | 是 | 进入操作进度 | 全量数组写入、影响订单 |
JSON 顶层规则
顶层类型
编辑器只把顶层数组当作订单列表。可接受的空状态是:
[]下面这些形状不应直接保存:
{}{
"name": "ORDER_PLACEHOLDER"
}顶层不是数组时,页面可能显示空的可编辑结构或 JSON 错误。使用者必须先保存原文,确认读取失败不是临时网络问题,再决定是否新建空列表。
数组顺序
订单数量和“订单 1/2/3”是数组顺序。编辑器不会根据名称自动排序或去重:
- 添加订单追加到末尾;
- 删除订单后后续序号前移;
- 直接修改 JSON 的顺序会改变页面顺序;
- 同名订单不会被页面自动合并;
- 可选/黑名单/删除列表仍按名称匹配,不按序号匹配。
保存前应保证名称唯一。若必须保留两个相似批次,使用可以区分批次的稳定名称,但不要把临时密码或完整 URL 放进名称。
顶层字段矩阵
name / 订单名称
| 项目 | 说明 |
|---|---|
| 页面标签 | 订单名称 |
| 类型 | 字符串 |
| 新订单默认值 | 空文本 |
| 页面用途 | 订单卡片、状态、侧载选择和三个订单列表的匹配 |
| 空值表现 | 页面仍可编辑,但不应保存到生产配置 |
| 修改影响 | 旧的可选/黑名单/删除列表名称不会自动同步 |
| 验收 | 保存前唯一;保存后健康/订单中能读到同一名称 |
名称是最重要的匹配键。它不是安装项文件名,也不是侧载运行路径。名称修改后应重新检查所有引用它的列表。
description / 描述
| 项目 | 说明 |
|---|---|
| 类型 | 字符串 |
| 新订单默认值 | 空文本 |
| 页面用途 | 帮助维护人员识别用途、批次和来源 |
| 不应写入 | 密码、Token、访问码、完整私有地址、个人信息 |
| 修改影响 | 通常只改变管理说明,不代表资源已经更新 |
| 验收 | 关闭并重新打开弹窗,文字仍保留 |
描述不是发布公告,也不会让隐藏内容变成可见。不要用描述文字替代订单名称去填可选列表。
install_path / 安装路径
| 项目 | 说明 |
|---|---|
| 类型 | 字符串 |
| 新订单默认值 | 空文本 |
| 页面用途 | 订单内容/数据的根路径 |
| 必须确认 | 目标盘可用、目录属于目标机台、不会覆盖其它订单 |
| JSON 注意 | Windows 反斜杠在 JSON 文本中要正确转义 |
| 验收 | 保存后看订单健康、安装路径统计和磁盘空间 |
路径可被页面接受,不代表目录已经创建,也不代表启动阶段盘符已经挂载。
is_delete / 删除项
| 页面表现 | 开启含义 | 与其它开关的区别 |
|---|---|---|
| “删除项”开关 | 把该订单解释为清理对象 | 不是隐藏、暂停或取消下载 |
启用前需要离线保存原值、确认名称和路径、确认没有写入和玩家,并准备恢复点。不要用删除项修复下载错误或启动错误。
is_option / 可选安装项
| 项目 | 说明 |
|---|---|
| 类型 | 布尔值 |
| 新订单默认值 | 关闭 |
| 开启后 | 订单需要与可选安装列表配合 |
| 关闭后 | 按普通订单处理,仍受时间、分支和其它状态影响 |
| 常见误区 | 认为放入数组就会自动应用 |
要让一个可选订单真正进入流程,至少要同时检查订单名称、可选列表、黑名单、删除列表、发布时间和目标分支。
is_vhdx / VHDX 订单
| 项目 | 说明 |
|---|---|
| 类型 | 布尔值 |
| 新订单默认值 | 关闭 |
| 开启后应核对 | vhdx_pwd、安装项 vhdx_name、Hash、大小、路径、映射和启动入口 |
| 不会自动完成 | 生成镜像、下载、解锁、挂载、选择侧载、重启 |
| 验收 | 订单健康 → 安装项 → 挂载/侧载 → 内容读取 |
不要把普通压缩包订单只改一个开关就当作镜像订单。
vhdx_pwd / VHDX 密码
| 项目 | 说明 |
|---|---|
| 类型 | 字符串 |
| 新订单默认值 | 空文本 |
| 来源 | 当前维护人员给出的镜像值 |
| 不应替代 | 账号密码、网页 Token、访问码 |
| 验收 | 与对应镜像文件名和发布批次配对 |
| 泄露处理 | 停止继续传播,通知持有者并按要求轮换 |
编辑器会把它当普通文本框处理,不代表页面能判断密码正确。不要在描述、截图、日志或 FAQ 中复制原值。
current 时间字段矩阵
current.order_time
它表示订单进入处理范围的时间。为空、格式不一致、时区不明或晚于预期时,订单可能保持等待。时间输入是文本,不是自动校准的本地时间。
current.release_time
它表示内容允许进入后续应用阶段的时间。下载完成但发布时间未到可能是正常等待;不要通过修改浏览器时间绕过。
顶层与安装项时间的关系
安装项也有 order_time 和 release_time。为减少“主包已释放、分包未释放”的情况,推荐两种策略之一:
- 统一使用顶层
current,安装项级时间留空; - 所有安装项使用同一时区、同一批次和明确的安装项级时间。
保存前把时间、时区、公告和维护窗口写进脱敏记录。不要把“当前电脑时间”当成发布策略。
settings.mklink 字段矩阵
| 页面控件 | JSON 路径 | 类型 | 默认值 | 页面行为 |
|---|---|---|---|---|
| mklink 开关 | settings.mklink.enable | 布尔 | false | 控制映射是否启用 |
| 模式 | settings.mklink.mode | 数字 | 0 | 页面只提供数字输入 |
| 源路径 | settings.mklink.src_path | 字符串 | 空 | 显示映射来源 |
| 目标路径 | settings.mklink.dst_path | 字符串 | 空 | 显示映射目标 |
模式没有完整公开枚举时,不要自行写非零值。源/目标方向以经过验证的当前样例为准。关闭开关时字段可能仍存在于 JSON,但关闭本身应优先于字段内容。
settings.sideload 字段矩阵
| 页面控件 | JSON 路径 | 类型 | 默认值 | 页面行为 |
|---|---|---|---|---|
| sideload 开关 | settings.sideload.enable | 布尔 | false | 允许订单进入侧载选择范围 |
| 运行路径 | settings.sideload.run_path | 字符串 | 空 | 侧载启动入口 |
侧载按钮可见、侧载被选择、侧载盘已挂载和内容已启动是四个不同证据。逐个验收,不要只看列表中出现了名称。
install[] 字段矩阵
安装项对象
| 页面输入 | JSON 路径 | 类型 | 空值/默认 | 与其它字段的关系 |
|---|---|---|---|---|
| 名称 | install[].name | 字符串 | 空 | 进度项和安装项识别 |
| Hash | install[].hash | 字符串 | 空 | 与 URL/size 对应的完整性值 |
| URL | install[].url | 字符串 | 空 | 下载来源,不等于文件名 |
| 密码 | install[].pwd | 字符串 | 空 | 安装文件密码,可与镜像密码不同 |
| 大小 | install[].size | 数字 | 0 | 字节数,影响完整性/进度判断 |
| VHDX 名称 | install[].vhdx_name | 字符串 | 空 | 镜像文件名,普通包通常留空 |
| 订单时间 | install[].order_time | 字符串 | 空 | 安装项级处理时间 |
| 发布时间 | install[].release_time | 字符串 | 空 | 安装项级应用时间 |
size 的输入转换
页面数字框把输入转换为数字;空值、无法解析的内容或不合适的输入可能回到 0。0 不是“暂时未知”的安全占位,生产订单应填写管理员核对过的字节数。
hash 的输入规则
Hash 是完整性校验值:
- 不要带空格、换行或代码块符号;
- 不要把文件名或 URL 填在 Hash 框;
- 不要为了通过校验而修改下载文件;
- 不要把一个安装项的 Hash 复制给另一个安装项。
vhdx_name 的输入规则
扩展名、大小写和文件名必须与发布物一致。不要用订单名称代替镜像文件名,也不要把普通压缩包文件名填进镜像名称框。
install_mklink 映射字典矩阵
install_mklink 是对象,不是数组。页面把每个键值对显示成一行:
| 操作 | 草稿变化 | 磁盘变化 |
|---|---|---|
| 添加映射 | 新增一个键和值 | 不发生 |
| 修改键 | 删除旧键并写入新键 | 不发生 |
| 修改值 | 更新该键的值 | 不发生 |
| 删除映射 | 从 JSON 删除 | 不删除原目录或文件 |
空键、重复键、重叠路径和方向不明的映射都应在保存前停止。删除映射不等于删除磁盘内容,保存后仍需查看目标订单的实际可见性。
类型规范化矩阵
| JSON 输入 | 页面显示 | 下一次序列化的风险 |
|---|---|---|
| 文本不是字符串 | 空文本 | 原值可能被重写为空 |
| 开关不是布尔 | 关闭 | 原值可能被重写为 false |
| 数字不是有限数字 | 0 | 进度/大小/模式可能失真 |
install 不是数组 | 无安装项 | 保存可能丢掉原有安装项 |
install_mklink 不是对象 | 无映射 | 保存可能丢掉原有映射 |
| 顶层不是数组 | 不能作为正常列表 | 不要覆盖原配置 |
遇到历史配置先复制原文,不要只看弹窗中“看起来正常”。
保存前测试用例
用例 A:打开并取消
- 刷新配置;
- 打开自定义订单;
- 不改任何字段直接关闭;
- 刷新配置;
- 预期原 JSON 不变。
用例 B:添加后取消
- 打开弹窗;
- 添加空订单、安装项和映射;
- 关闭而不保存;
- 重新打开;
- 预期临时对象不存在。
用例 C:JSON 语法错误
- 在 JSON 区临时删除一个引号或逗号;
- 确认显示“JSON 格式错误”;
- 确认保存按钮禁用;
- 恢复有效文本;
- 确认显示“JSON 有效”并回到原字段。
用例 D:VHDX 最小草稿
使用占位符建立一个订单和一个安装项,只验证字段显示与 JSON 类型,不点击生产保存。然后关闭弹窗并确认原值不变。
用例 E:全量保存回读
- 在测试机保存一份经过核对的配置;
- 等待操作结果;
- 刷新配置;
- 重新打开弹窗;
- 比较名称、开关、时间、安装项数量、镜像名和映射数量;
- 再进入订单健康验收下载/挂载/启动。
字段错误报告模板
目标机台:<脱敏别名>
订单名称:<脱敏名称>
安装项名称:<脱敏名称>
页面标签:<订单名称/Hash/大小/VHDX 名称/映射等>
输入类型:<文本/数字/开关/列表/JSON>
保存前 JSON 状态:<有效/错误>
页面结果:<成功/失败/超时/未提交>
订单健康:<当前状态和非敏感状态码>
最后上报:<时间>
已经尝试:<按时间列出>不要附原密码、完整 URL、完整路径、原始 JSON、私钥、二维码或整盘镜像。
