Files
meida/app
xsl 98a134c7a2 F3: 表单校验反馈修复——点名缺失字段+自动滚动+@Builder按引用传参
用户真机反馈"还有 2 项未完成,点击不了提交并生成报告",排查出两层问题:

1. 表层(可见性):汇总条只报数量不报字段名,缺失字段在视野外。
   - 汇总条改为点名缺失字段:"请完成:核心诉求、心理风格"
   - 校验失败自动滚动到第一个缺失字段(componentUtils.getRectangleById
     取 windowOffset 相对 form_root 的内容坐标,Scroller.scrollTo 动画滚动)
   - 汇总条本身可点击,点击重新跳到第一个缺失字段
   - 必填项标签加红色 * 标记

2. 根因(@Builder 陷阱):字段级红字从未渲染过。FieldLabel 按值传参
   (label/err/required),ArkUI 规定 @Builder 按值传参不随 @State 变化
   刷新——err 停在初始空串。改为 $$ 按引用传参(FieldLabelParams),
   真机 dumpLayout 验证红字已随校验结果出现。

真机验证(uitest 注入 + dumpLayout + 截图):
- 空表单提交:红字四项齐现、汇总条点名、自动滚到首个错误
- 完整表单提交:进 40920 对话框(本期已生成),链路正常
2026-08-15 13:35:06 +08:00
..

美搭 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 包(保持零依赖,后续按需评估)