用途:在 Unity 编辑器内自动化 QFramework 相关操作,包括架构层代码生成、UIKit 代码生成与设置、ResKit AssetBundle 标记与构建、LocaleKit 配置,以及只读的安装状态与架构扫描。
主要能力:读取安装状态(installed、installKind、assemblies、version、editorLocaleIsCN、simulationMode);扫描实现 IArchitecture/ISystem/IModel/ICommand/IQuery/IController 的类型;检索 QFramework 内置 API 文档属性;预览并生成 Architecture/System/Model/Command/Utility/Query 代码(支持批量与接口生成);为带 ViewController 组件的 GameObject 生成绑定视图代码,为 UI Prefab 生成 UIKit 面板代码;读写 UIKit 设置(命名空间、UI 脚本/预制体目录、搜索程序集)与 ResKit 构建选项(SimulationMode、appendHash、autoGenerateClass);标记/取消标记 AssetBundle 并执行构建或清理。
使用方式:先调用 qframework_get_status 判断安装形态(toolkits、coreOnly、none)。QFramework 无 UPM 包,需通过官方 unitypackage 或单文件 QFramework.cs 安装;除 get_status 外,其余技能在锚点类型无法解析时返回 MISSING_PACKAGE。写操作按权限分级:8 个只读技能可直接运行;6 个写技能需用户授权;4 个代码生成技能(MayTriggerReload)与 qframework_build_asset_bundles、qframework_clear_asset_bundles 属 NeverInSemi,仅 Bypass 或 Allowlist 可执行。代码生成采用两阶段协议:写入 .cs/.Designer.cs 后返回 pendingCompile: true,需轮询编译状态后再检查对象;两个技能的设计器输出字段名不同。
适用场景:需要批量生成 QFramework 架构层样板代码、为 UI 预制体生成面板代码、管理 ResKit 资源包标记与构建、统一 UIKit/LocaleKit 项目配置的 Unity 项目。
限制:coreOnly 安装下架构生成、UIKit、ResKit、LocaleKit 技能均不可用;构建输出目录固定为 AssetBundles/<platform> 并镜像到 StreamingAssets/AssetBundles/<platform>,不可配置;buildTarget 参数不影响输出路径(始终依据 activeBuildTarget),平台不一致时返回 warning;构建会阻塞编辑器主线程且不支持 DryRun;生成代码不会覆盖已存在文件;qframework_preview_architecture_code 的校验错误可能为中文,另附英文 hint。具体收费与价格暂未提供。