用户真机反馈"还有 2 项未完成,点击不了提交并生成报告",排查出两层问题:
1. 表层(可见性):汇总条只报数量不报字段名,缺失字段在视野外。
- 汇总条改为点名缺失字段:"请完成:核心诉求、心理风格"
- 校验失败自动滚动到第一个缺失字段(componentUtils.getRectangleById
取 windowOffset 相对 form_root 的内容坐标,Scroller.scrollTo 动画滚动)
- 汇总条本身可点击,点击重新跳到第一个缺失字段
- 必填项标签加红色 * 标记
2. 根因(@Builder 陷阱):字段级红字从未渲染过。FieldLabel 按值传参
(label/err/required),ArkUI 规定 @Builder 按值传参不随 @State 变化
刷新——err 停在初始空串。改为 $$ 按引用传参(FieldLabelParams),
真机 dumpLayout 验证红字已随校验结果出现。
真机验证(uitest 注入 + dumpLayout + 截图):
- 空表单提交:红字四项齐现、汇总条点名、自动滚到首个错误
- 完整表单提交:进 40920 对话框(本期已生成),链路正常
美搭 HarmonyOS App(ArkTS)
- 模板:DevEco Studio 6.1 空 Ability 工程;API
6.1.1(24),runtimeOS: HarmonyOS,bundleName: com.xiangsilian.app - 后端:
meida_backend(WSL)。本地开发默认http://127.0.0.1:8000(模拟器可用;真机连开发机要在登录页改成局域网 IP) - 登录通道(V1 骨架):dev-token(后端
DEV_AUTH_ENABLED=true本地可用);华为账号/短信为后续任务
命令行构建(Agent/CI 用的门禁)
cd G:/meida/app
export DEVECO_SDK_HOME="C:/Program Files/Huawei/DevEco Studio/sdk"
"C:/Program Files/Huawei/DevEco Studio/tools/node/node.exe" \
"C:/Program Files/Huawei/DevEco Studio/tools/hvigor/bin/hvigorw.js" \
--mode module -p module=entry@default assembleHap --analyze=false --daemon=false
BUILD SUCCESSFUL 即门禁通过(未签名 HAP 正常——签名等 AGC 证书)。运行/调试用 DevEco Studio 打开本工程点 Run(模拟器或真机,真机需先配签名)。
代码约定
ets/core/:网络与会话地基(ApiClient/AuthStore/ContextHolder/ApiTypes)——共享层,改动需全量构建验证ets/pages/:页面。页面间跳转一律router.pushUrl({url: 'pages/Xxx'})路径方式,禁止 import 其它页面(并行开发的冲突隔离约定)- 组件级复用放
ets/components/(各自任务目录内自建子目录) - 文案:骨架期中文硬编码即可(i18n 后置);错误提示只 catch
ApiError,用其message/hint(后端文案已保证无价格字样) - 状态管理:页面内
@State;跨页少量状态走AppStorage - 不引第三方 ohpm 包(保持零依赖,后续按需评估)