老应用升级新版主题
保持业务逻辑和主要布局,升级应用主题、自定义页面和表单样式。
1. 准备
仅在用户明确要求升级新版主题时使用。普通美化、换色或创建应用不触发。CLI 先读取登录态和目标应用的服务端配置,核对应用及组织身份,再判断是否为 AI 创建的应用;非 AI 应用在备份和升级确认前即被拒绝。不得通过确认参数绕过资格检查。资格不符时说明该应用不支持此升级流程,不提供升级确认选项;未登录时先完成登录再重试。
确定目标应用,运行 openyida agent-capabilities --summary-json,再将页面备份到新目录:
bashopenyida upgrade-app-theme <appType> --explicit-request --prepare --output-dir <projectRoot>/.cache/openyida/theme-upgrade/<appType>/<run-id> --json
准备命令不会修改远端页面。读取生成的 upgrade-plan.json,核对隐藏页、嵌入页和用户指定页面;遗漏项通过 openyida get-schema <appType> <formUuid> 补齐。无法获取源码的页面记录为未完成项。
2. 判断应用风格
先看原自定义页面的实际效果和源码,从主按钮、标题、链接、背景和卡片中判断主色、明暗及整体风格。优先遵循用户指定的风格;否则延续已有页面的品牌色。不要直接采用平台默认色,也不要把成功、警告等状态色当作主色。
页面风格不一致或主色不明确时,用 ask_human 提供候选颜色和简短理由,确认后再改。将选定主色和判断依据记录在升级清单中,统一用于应用导航、页面和表单。
3. 确认
准备命令通过应用资格检查后,任何远端修改前,必须调用 ask_human,说明:
- 目标应用、组织及涉及的页面和表单。
- 拟采用的主色和风格,以及它与原页面的关系。
- 将升级主题、迁移旧自定义页面、统一样式并重新发布。
- 保留业务逻辑和主要布局。
提供“确认升级”和“取消”,收到明确确认后继续。无回复、拒绝或工具不可用时停止写入,“直接做”不能替代确认。范围变更时只确认新增部分。
4. 迁移并升级
按 页面和表单迁移 完成本地修改和验证:
- JSX 页面转为 CodeCanvas。
- 已有 CodeCanvas 页面更新主题样式。
- 表单和详情页移除旧主题注入,保留业务代码。
保留原应用和页面 ID。任一必要页面无法保留业务或结构时,停止升级并说明原因。
本地验证通过后执行:
bashopenyida upgrade-app-theme <appType> --explicit-request --confirm --json
成功后保存选定的应用主题,再按清单发布页面、保存表单并回读验证。命令失败时停止后续操作。向用户说明进度和结果,不展示内部检查、配置字段或诊断数据。
5. 验收
重新加载页面,验证业务操作、表单详情、主题样式和窄屏效果,逐页记录结果。编译或升级命令成功不能代替页面验收。
全部目标页面和表单通过后,才能报告升级完成;否则列出已完成项和剩余问题。


