工作区编排(HarmonyWorkspaceKit)使用指导

← 返回组件参考 · 全部使用指导

工作区编排(HarmonyWorkspaceKit)使用指导

工作区组件 - 鸿蒙一站式工作区编排(模板 + 主题 + 落地)。 鸿蒙独有组件,一次调用即可生成场景模板、应用主题并落地为运行时布局。

运行前提与搭建步骤

这些案例在包含该组件的鸿蒙 AI 伴侣或 HAP 中运行。Android 侧是供网页编辑器生成积木的声明,不能用安卓伴侣验证鸿蒙系统能力。

  1. 在设计器拖入 HarmonyWorkspaceKit,保留名称 HarmonyWorkspaceKit1;拖入案例涉及的按钮、文本输入框以及一个标签 标签1,按代码中的名称重命名。
  2. 根据下面的业务说明准备素材、JSON 或系统目标。案例中的按钮代表分步操作,先等初始化、加载或创建成功,再执行下一步。
  3. 接住完成事件与错误事件,将原始 JSON 或错误显示在标签。先确认原始结果,再编写业务处理。

容器名称必须对应当前屏幕的布局。该组件组合生成模板、生成主题及渲染;空 JSON 用于最小演示,真正跳转要配置业务 Want。

案例一:一键搭建设备工作区

各案例独立使用;组合到同一屏幕时,将同名事件的处理合并到一个事件积木中。

when 按钮_设备.Click() {
  HarmonyWorkspaceKit1.ComposeDeviceControlWorkspace("垂直布局_容器", "compact", "设备控制", "{}", "{}", "#2196F3", "device_")
}
when HarmonyWorkspaceKit1.WorkspaceComposed(种类, 根组件名, 组件数量) {
  标签1.Text = join(根组件名, ":", 组件数量)
}
when HarmonyWorkspaceKit1.WorkspaceComposeFailed(种类, 消息) {
  标签1.Text = 消息
}

案例二:搭建服务工作区并检查结果

when 按钮_服务.Click() {
  HarmonyWorkspaceKit1.ComposeServiceCenterWorkspace("垂直布局_容器", "expanded", "服务中心", "{}", "{}", "#2196F3", "service_")
}
when 按钮_检查.Click() {
  标签1.Text = HarmonyWorkspaceKit1.GetLastTemplateJson()
}

参数与返回值速查

JSON 参数是文本,不能直接传字典;需要字典时可用 Web 客户端的 JSON 解码积木转换返回文本。完整默认值与类型见组件参考。

方法或事件 参数与用途
编排原子入口工作区(容器名,场景档案,标题,原子化服务数据JSON,启动Want JSON,强调色文本,名称前缀)(ComposeAtomicLandingWorkspace) 容器名:文本, 场景档案:文本, 标题:文本, 原子化服务数据JSON:文本, 启动Want JSON:文本, 强调色文本:文本, 名称前缀:文本。一站式编排原子服务落地工作区(模板+主题+落地)。
编排流转工作区(容器名,场景档案,标题,接续数据JSON,启动Want JSON,强调色文本,名称前缀)(ComposeContinuationWorkspace) 容器名:文本, 场景档案:文本, 标题:文本, 接续数据JSON:文本, 启动Want JSON:文本, 强调色文本:文本, 名称前缀:文本。一站式编排流转工作区(模板+主题+落地)。
编排设备控制工作区(容器名,场景档案,标题,设备状态JSON,启动Want JSON,强调色文本,名称前缀)(ComposeDeviceControlWorkspace) 容器名:文本, 场景档案:文本, 标题:文本, 设备状态JSON:文本, 启动Want JSON:文本, 强调色文本:文本, 名称前缀:文本。一站式编排设备控制台工作区(模板+主题+落地)。
编排服务中心工作区(容器名,场景档案,标题,流转数据JSON,启动Want JSON,强调色文本,名称前缀)(ComposeServiceCenterWorkspace) 容器名:文本, 场景档案:文本, 标题:文本, 流转数据JSON:文本, 启动Want JSON:文本, 强调色文本:文本, 名称前缀:文本。一站式编排服务中心工作区(模板+主题+落地)。
获取最近组件数量(GetLastComponentCount) 无参数。获取最近一次工作区落地生成的组件数量。
获取最近根布局名(GetLastRootName) 无参数。获取最近一次生成的根布局名称。
获取最近模板JSON(GetLastTemplateJson) 无参数。获取最近一次生成的场景模板 JSON。
获取最近主题JSON(GetLastThemeJson) 无参数。获取最近一次生成的主题 JSON。
工作区编排失败时(种类,消息)(WorkspaceComposeFailed) 种类:文本, 消息:文本。工作区编排失败时触发。
工作区已编排时(种类,根组件名,组件数量)(WorkspaceComposed) 种类:文本, 根组件名:文本, 组件数量:数字。工作区编排完成后触发。

常见问题与验收

现象 检查与预期
安卓运行没有结果 切换到鸿蒙伴侣或 HAP;Android 的声明不会执行该鸿蒙系统能力。
方法已调用但界面没变化 生成 JSON 的方法只是构建数据;按业务流程交给渲染、启动或同步入口,不能将数据生成当成系统操作完成。
初始化、权限或设备失败 记录错误事件,确认系统服务、授权、目标应用或设备可用;只在成功事件后继续下一步。
JSON 解析失败 使用上一组件的原始输出,检查引号和字段类型;空对象用于默认模板演示,不能代替真实目标信息。
两个案例验收 每个按钮单独操作一次,核对对应返回或事件;输入错误目标或取消操作时查看失败事件,不应显示成功提示。

完整 .aia 源码与操作指导

下载 .aia 源码

鸿蒙设备巡检界面案例:四种业务、三个场景档位和三种颜色可从中文选择器操作;实际JSON输出继续生成可见布局并应用主题,动态按钮打开模板详情。业务数据明确是本地示例,不是硬件实时状态。主组件HarmonyWorkspaceKit包含全部调用入口和真实结果,其他组件用于完成数据到界面的闭环。

导入 HarmonyWorkspaceKitAllFeatures.aia,连接最新伴侣,或编译独立安装包。真机/伴侣运行尚未实测。

API / 功能 操作入口 预期结果
场景选择与四种业务 中文选择器,构建设备控制/服务中心/原子入口/工作区流转 实际返回JSON;自动使用真实设备档位,手动覆盖只作测试,不声称设备类型改变
可见界面及动态按钮 构建后点落地,上方真实容器滚动查看并点动态按钮 真正创建布局、标题、分区、按钮;按钮展示当前模板详情,不启动服务或发送指令
最近输出/根布局/计数 读取按钮与事件区 组件实际属性、方法和事件;不伪造组件数或成功
主题及表单 换蓝/橙/绿,应用模板主题或表单主题 实际字体/颜色变化及ThemeApplied;表单只设置本屏主题属性
失败与恢复 错误按钮,再用正常构建/落地 非法主题或不存在容器明确失败;有效输入仍可用,旧成功布局保留
生命周期 重复生成不同前缀,最多6套;重开本案例 没有删除模板API,限制增长;重开会清空运行时布局,不删除用户文件
平台与边界 鸿蒙运行 Android只有接口占位;发布包是JSON业务载体,不是HAP/APK,不代表服务上线或实际设备控制
ComposeAtomicLandingWorkspace、ComposeContinuationWorkspace、ComposeDeviceControlWorkspace、ComposeServiceCenterWorkspace、WorkspaceComposed、WorkspaceComposeFailed、四个Last属性与GetLast方法 四种业务构建(一步编排)、读取及错误测试 编排真正生成模板并应用主题,实际根、组件数、模板、主题完整读回

所有返回值均用于界面反馈,错误由底部错误区展示。设计器采用明确非默认配置,初始化与界面同步。API 覆盖检查按最终 AIA 检查方法、事件、属性读取与设置及设计器配置,不能替代真实设备验证。

四种工作区编排

导入方法:项目 → 导入项目(.aia)→ 选择下载的 .aia 源码文件。 鸿蒙设备巡检界面案例:四种业务、三个场景档位和三种颜色可从中文选择器操作;实际JSON输出继续生成可见布局并应用主题,动态按钮打开模板详情。业务数据明确是本地示例,不是硬件实时状态。主组件HarmonyWorkspaceKit包含全部调用入口和真实结果,其他组件用于完成数据到界面的闭环。 覆盖检查 14/14。首次载入及保存重开均0个错误,真实后台导入、安装包编译通过;真机/伴侣/硬件联调尚未实测。全部属性读写、方法与事件的操作入口和预期结果见组件指导。

文档反馈