SuperAPI AI 工具集

ohos-dev-arkui-v1-v2-migration

通用与其它

查看项目

更新于 10-16 07:28

技能介绍

用途:把 OpenHarmony/HarmonyOS ArkUI 的 V1 组件(@Component 及 @State/@Prop/@Link/@Provide/@Consume/@Watch/@Observed 等)迁移为 V2(@ComponentV2 等)。适用于用户提出“V1V2 迁移”“状态管理迁移”“把 @Component 改为 @ComponentV2”或评估迁移风险等场景。

主要能力:按“确认目标→分析→规划→执行→验证”五阶段推进。分析阶段用脚本检测 API 版本(mixingRules 为 strict 或 relaxed)、分析目标组件、追踪依赖链(mustMigrate)、做混用校验;执行阶段给出装饰器映射(@State→@Local、@Prop→@Param、@Link→@Param+@Event、@Provide/@Consume→@Provider/@Consumer、@Watch→@Monitor、@Observed/@ObjectLink→@ObservedV2/@Trace、$$→!!)、数据对象、渲染(ForEach/LazyForEach→Repeat)、应用级状态(LocalStorage/AppStorage/PersistentStorage/Environment)与 animateTo 等迁移规则;验证阶段再次运行混用校验并逐项核对。

使用方式:先确认项目路径与目标组件,再依次运行 python3 {{SKILL_DIR}}/scripts/component_analyzer.py <project-path> --scan-v1、api_version_checker.py <project-dir> --json、dependency_tracer.py <component-name> <project-dir> --json、mixing_validator.py <project-dir> --json [--target <component-name>],按输出决策后改写代码。

限制:同一组件内不得混用 V1/V2 装饰器,同一类不得同时使用 @Observed 与 @ObservedV2;@Local 禁止外部初始化,@Param 只读,@Monitor 为异步;API<19 时复杂类型不能跨 V1/V2 边界,需桥接模式;animateTo 需先同步刷新。迁移可增量进行,但须遵守混用规则。具体脚本参数与参考文档细节以资料为准。