用途:为 FineUI 应用创建或修改自定义主题,交付能被真实应用加载的主题文件。先检查应用静态资源目录、已有主题和生成器,不要求用户获取 FineUI 框架源码。
主要能力:确定风格与范围(尊重用户配色,未指定时对照已有主题提出方案);定位主题目录(Pro 为 res/themes/,Core 为 wwwroot/res/themes/,Java 为 src/main/resources/static/res/themes/,纯 F.js 示例为 res/themes/);新建主题(名称用小写英文、数字、下划线或短横线,复制 custom_default/theme.config 后修改六组基础状态与派生项);生成样式;接入应用;运行验证;按需打包交付。
使用方式:在应用 res/themes 对应目录执行 node generate-theme.mjs 主题名;边改边预览用 node generate-theme.mjs --watch 主题名,或双击 生成并监听主题.bat,监听只生成,浏览器仍需刷新。接入按 references/integration.md 的栈差异设置,优先用现有主题初始化入口,检查旧 Theme Cookie 是否覆盖配置。
配置约束:theme.config 为 UTF-8,每行 key = value,注释以 # 开头并独占一行,不支持行尾注释。保留 content、header、default、hover、active、error 六组,每组含 border-color、background-color、text-color,另加 border-radius。基础色用十六进制,primary-background-color、primary-text-color、tabstrip-inkbar-color 应一起考虑。is-dark-background 控制生成器对深色背景的派生处理,不是客户端 F.isDarkTheme 开关。is-dark-active-color 表示选中态是否发生明显前景/背景对比切换。theme.css 是生成物不手改,附加样式写 theme-extra.css。
适用场景:品牌配色、深色主题等 FineUI 主题定制。
限制:不能运行的项目需如实说明,不能用静态拼图代替运行验证;不要夹带框架 DLL/JAR、私有源码或整个示例工程;发布时需检查新文件是否登记(Pro 旧式项目通常需在 .csproj 登记为 Content)。相关技能:fineui-theming。