鸿蒙多设备适配总场景入口
技能定义
| 字段 |
内容 |
skill_id |
harmonyos-multi-device-scenario-entry |
skill_name |
鸿蒙多设备适配总场景入口 |
one_line_purpose |
先判断当前问题属于哪类多设备适配场景,再把请求引导到对应场景文件。 |
device_scope |
phone / tablet / foldable / tri-fold / pc / wearables / external input or device |
problem_scope |
多设备布局、折展状态、避让区、交互方式、自然方向、硬件能力差异 |
not_in_scope |
分布式流转、账号体系、网络通信、纯业务功能设计、与多设备无关的常规 UI 微调 |
primary_outputs |
active_phases、primary_phase、primary_scene、secondary_scenes、route_reason、next_scene_refs |
总入口约束
- 这个 skill 只负责入口分流,不直接展开场景实现细节。
- 先判定阶段,再判定场景类型;不要跳过阶段识别直接选场景。
- 当请求同时命中多个场景时,必须输出主场景和次场景,而不是强行只保留一个。
- 只有在当前问题的根因明确落在某个场景时,才允许单场景处理;否则按复合场景处理。
screen-window-size 是布局类兜底场景,不应吞并折展、避让、方向、交互和硬件问题。
- 进入场景文件后,应优先遵循该场景文件的边界定义和约束,不要让总入口覆盖场景的专有规则。
阶段标签
| 标签 |
阶段 |
总入口关注点 |
REQ |
需求分析设计 |
问题边界、设备范围、主适配维度 |
DEV |
开发 |
主代码落点在哪个场景,是否需要多个场景联合 |
FIX |
问题修复 |
根因属于哪个适配域,是否存在连带回归域 |
VAL |
功能验证 |
验证矩阵应覆盖哪个场景,是否需要交叉验证 |
统一输出字段
- 入口字段:
active_phases、primary_phase、primary_scene、secondary_scenes、route_reason、next_scene_refs
REQ:problem_frame、device_scope_summary、routing_focus
DEV:primary_code_domain、secondary_code_domains、integration_edges
FIX:suspected_root_domain、linked_regression_domains、handoff_priority
VAL:validation_domains、cross_checks、evidence_scope
字段释义
primary_scene:当前请求最应该先进入的场景。
secondary_scenes:与主场景联动的次级场景列表,只允许填写 SCENE-xx 形式的场景 id,不填写 skill 路径。
route_reason:说明为什么命中当前主场景,而不是其他场景。
next_scene_refs:下一步应该实际打开的场景文件路径列表。
primary_scene_ref:当前场景卡片直接指向的主场景路径,只在场景卡片内部使用。
secondary_scene_refs:当前场景卡片常见的次级场景路径,只在场景卡片内部使用。
scene_strategy:当前场景是 single 还是 composite。
candidate_scenes:当 scene_strategy: composite 时,可作为主次场景的候选 SCENE-xx 列表。
candidate_scene_refs:当 scene_strategy: composite 时,可进一步展开的候选场景文件路径列表。
- 这个总场景入口不输出
device_constraints;device_constraints 属于场景文件的 REQ 字段,由对应场景在展开分析时产出。
AI 检索要求
- 先从用户表达判断
active_phases:
- 需求、设计、方案、选型、边界,归入
REQ
- 开发、实现、怎么写、代码接线,归入
DEV
- 修复、bug、异常、错位、崩溃,归入
FIX
- 验证、测试、验收、截图证据、回归,归入
VAL
- 再按问题关键词命中主场景,不要一次性读取全部场景文件。
- 命中单一场景时,只打开对应场景文件。
- 命中复合场景时,先确定
primary_scene,再从 secondary_scenes 里补充 1-2 个次级场景,并汇总为最终的 next_scene_refs。
- 若问题只表现为“多设备布局不一致”而未出现更强特征词,默认先走
SCENE-01。
- 涉及“旋转后布局未更新、窗口变化未同步”但不涉及自然方向语义、
setPreferredOrientation 或 rotation 值解释时,仍优先走 SCENE-01。
- 若请求出现明确系统区域遮挡、折痕、方向语义、输入设备或硬件能力词,则优先使用对应专有场景,不要被布局关键词抢走。
场景簇索引
SCENE-01 布局与窗口尺寸场景
scene_id: SCENE-01
scene_name: 布局与窗口尺寸场景
phase_tags: [REQ, DEV, FIX, VAL]
priority: P2
intent_signals:
- 响应式
- breakpoint
- GridRow
- GridCol
- 多栏
- windowSizeChange
- media query
- 窗口变化
- 旋转后布局不同步
applies_when:
- 主要问题是断点、结构切换或窗口尺寸变化
- 问题可以不依赖折叠态、系统避让区、方向语义、输入设备或硬件能力来解释
not_applies_when:
- 存在折痕、悬停态、Pura X、键盘遮挡、状态栏遮挡、自然方向语义、`setPreferredOrientation`、`rotation` 值解释、mouse、canIUse 等更强信号
scene_strategy: single
primary_scene_ref: ./references/hmos-multidevice-screen-window-size/SKILL.md
secondary_scenes:
- SCENE-02
- SCENE-03
secondary_scene_refs:
- ./references/hmos-multidevice-fold-state/SKILL.md
- ./references/hmos-multidevice-avoid-areas/SKILL.md
SCENE-02 折展状态与折痕场景
scene_id: SCENE-02
scene_name: 折展状态与折痕场景
phase_tags: [REQ, DEV, FIX, VAL]
priority: P0
intent_signals:
- foldStatus
- 折叠
- 展开
- 悬停态
- 折痕
- tri-fold
- G态
- Pura X
applies_when:
- 主要问题依赖设备折叠状态、折痕几何或宽折叠形态
- 页面在手机和平板正常,但在折叠设备上出现结构或行为异常
not_applies_when:
- 问题只与普通横竖屏变化或普通窗口断点有关
scene_strategy: single
primary_scene_ref: ./references/hmos-multidevice-fold-state/SKILL.md
secondary_scenes:
- SCENE-01
- SCENE-05
secondary_scene_refs:
- ./references/hmos-multidevice-screen-window-size/SKILL.md
- ./references/hmos-multidevice-natural-orientation/SKILL.md
SCENE-03 系统区域与键盘避让场景
scene_id: SCENE-03
scene_name: 系统区域与键盘避让场景
phase_tags: [REQ, DEV, FIX, VAL]
priority: P0
intent_signals:
- safe area
- 状态栏
- 导航栏
- 挖孔
- 刘海
- 沉浸式
- 键盘遮挡
- 输入法
applies_when:
- 主要问题是内容被系统区域、挖孔区或软键盘遮挡
- 需要处理背景延伸和内容避让边界
not_applies_when:
- 问题只是普通 margin 或栅格调整
scene_strategy: single
primary_scene_ref: ./references/hmos-multidevice-avoid-areas/SKILL.md
secondary_scenes:
- SCENE-01
- SCENE-02
secondary_scene_refs:
- ./references/hmos-multidevice-screen-window-size/SKILL.md
- ./references/hmos-multidevice-fold-state/SKILL.md
SCENE-04 多输入与焦点交互场景
scene_id: SCENE-04
scene_name: 多输入与焦点交互场景
phase_tags: [REQ, DEV, FIX, VAL]
priority: P1
intent_signals:
- 鼠标
- hover
- 右键
- 键盘焦点
- shortcut
- 手写笔
- 拖拽
- 外接键鼠
applies_when:
- 主要问题是交互模型会随输入方式变化
- 需要同时兼容触摸、鼠标、键盘或手写笔
not_applies_when:
- 问题只表现为布局变化,没有交互行为变化
scene_strategy: single
primary_scene_ref: ./references/hmos-multidevice-interaction-methods/SKILL.md
secondary_scenes:
- SCENE-01
secondary_scene_refs:
- ./references/hmos-multidevice-screen-window-size/SKILL.md
SCENE-05 自然方向与旋转语义场景
scene_id: SCENE-05
scene_name: 自然方向与旋转语义场景
phase_tags: [REQ, DEV, FIX, VAL]
priority: P1
intent_signals:
- rotation 值
- orientation
- 自然竖屏
- 自然横屏
- setPreferredOrientation
- 传感器方向
- 横竖屏误判
applies_when:
- 主要问题是方向语义、rotation 值或自然方向类型
- 需要区分屏幕旋转、窗口方向和自然方向
not_applies_when:
- 只是宽度断点变化或窗口尺寸同步导致的布局切换
scene_strategy: single
primary_scene_ref: ./references/hmos-multidevice-natural-orientation/SKILL.md
secondary_scenes:
- SCENE-02
- SCENE-01
secondary_scene_refs:
- ./references/hmos-multidevice-fold-state/SKILL.md
- ./references/hmos-multidevice-screen-window-size/SKILL.md
SCENE-06 硬件能力与外设场景
scene_id: SCENE-06
scene_name: 硬件能力与外设场景
phase_tags: [REQ, DEV, FIX, VAL]
priority: P0
intent_signals:
- canIUse
- SysCap
- 相机
- camera
- 传感器
- GPS
- NFC
- 蓝牙
- 外接设备
- 热插拔
applies_when:
- 主要问题是硬件能力存在设备差异,或调用前必须先检测能力
- 行为异常与设备枚举、权限声明、连接切换或降级策略直接相关
not_applies_when:
- 问题是纯 UI 布局、方向或避让,不涉及硬件能力差异
scene_strategy: single
primary_scene_ref: ./references/hmos-multidevice-hardware-access/SKILL.md
secondary_scenes:
- SCENE-04
secondary_scene_refs:
- ./references/hmos-multidevice-interaction-methods/SKILL.md
SCENE-07 复合问题联合场景
scene_id: SCENE-07
scene_name: 复合问题联合场景
phase_tags: [REQ, DEV, FIX, VAL]
priority: P1
intent_signals:
- 同时出现折叠、键盘、窗口、方向、输入或硬件中的多个信号
- 需要解释主问题和连带问题
- 单一场景不足以完整覆盖
applies_when:
- 问题必须同时依赖两个以上场景才能解释
- 需要先选主场景,再合并次场景
not_applies_when:
- 单一场景已经足够解释问题
scene_strategy: composite
candidate_scenes:
- SCENE-01
- SCENE-02
- SCENE-03
- SCENE-04
- SCENE-05
- SCENE-06
candidate_scene_refs:
- ./references/hmos-multidevice-screen-window-size/SKILL.md
- ./references/hmos-multidevice-fold-state/SKILL.md
- ./references/hmos-multidevice-avoid-areas/SKILL.md
- ./references/hmos-multidevice-interaction-methods/SKILL.md
- ./references/hmos-multidevice-natural-orientation/SKILL.md
- ./references/hmos-multidevice-hardware-access/SKILL.md
输出约定
- 先输出结构化场景判断,再进入对应场景文件。
- 如果必须联合多个场景,优先输出
SCENE-07 的组合策略。
- 不要把场景和实现混在一起;入口负责定位,场景文件负责展开。
- 最终输出应尽量保持字段稳定,不要因表达习惯改变字段名。