ConfigUI 模块开发
ConfigUI 是 ShiroSU 特有的一种功能,旨在通过 FVV [1] 的 FWW [2] 低学习成本地快速生成 CU NGA 风格 [3] 的模块配置界面
使用 ConfigUI 要求模块的配置文件必须以 FVV 格式 编写,除非是能让 FVV 解析的简单赋值格式
ConfigUI 的 配置文件、多语言文件、UI 文件 也必须以 FVV 格式 编写,因此需要了解 FVV 格式 才能使用 ConfigUI
模块目录结构
模块目录应遵循以下结构:
.
├── module.prop
└── cfgui
├── config.fvv
├── ui
│ └── FWW UI 配置文件...
├── lang (可选)
│ └── FVV 多语言 配置文件...
└── 其他资源...cfgui目录是 ConfigUI 的根目录,包含所有配置module.prop为模块描述文件
配置 ConfigUI
config.fvv 是 ConfigUI 的配置文件,其中应当包含以下内容:
ConfigPath: 模块的 FVV 配置文件路径,将会以cfgui的相对路径、模块目录的相对路径、绝对路径 顺序查找DefaultLang(可选): 多语言的默认回滚语言IconPath(可选): 图标路径,用于创建快捷方式InitCommand(可选): ConfigUI 初始化时需要执行的 Shell 代码
多语言
多语言的配置文件需要存储到 lang 目录内,以下斜杠语言标签作为子目录名称,其中的文件会被递归载入至当前语言标签
IMPORTANT
语言标签目录内的 FVV 配置文件会被无差别递归读取,子目录路径不会影响其被解析时的行为!
多语言内的文本会被存储到 Lang 内,故调用时需要在值名称前加上 Lang.
界面
界面的配置文件需要存储到 ui 目录内
IMPORTANT
FWW 的文件后缀是 fww 而不是 fvv!
目录内的 FWW 配置文件会被无差别递归读取,子目录路径不会影响其被解析时的行为!
由于解析时会直接赋值多语言文本,故无法直接将 FWW 界面存储至 UI 内,请务必保证每个页面均以 UI. 开头! 仅有赋值进 UI 内的页面才会被解析为 FWW 界面!
ConfigUI 的 FWW 界面均使用 FVV 列表 作为页面, 其中 UI.Main 是 ConfigUI 的默认页面,编写 ConfigUI 需要确保至少有 UI.Main 一个界面!
ConfigUI 会将页面的注释设置为该页面的标题:
UI.PageA = <页面A> [
<...>
]
<直接命名>
UI.PageB = <Lang.PageB> [
<...>
]
<通过多语言命名>TIP
主页面的标题默认是模块名称,在 FWW 中再自定义名称也是允许的
每个页面的除 UI. 外的内容是其路由名称,并且 ConfigUI 不支持多级定义!请确保所有页面定义均为 UI 的顶级定义!

YumeYuka