Repository navigation
Conversation
|
👍 Thanks for this! Please review the labels and make any necessary changes. |
dvd233
marked this pull request as ready for review
October 16, 2026 06:38
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
修复移动端
CityArea回填直属县市值时的异常,例如重庆城口县500229、丰都县500230和湖北仙桃市429004。Related to #21268。原 issue 未提供可复现的 schema 和平台信息,本 PR 仅处理上述移动端回填路径。
Why
这类地区在
CityDB中是第二列的叶子节点,没有下一级区县。getPropsValue原先将同一个 code 同时放入 city 和 district,导致名称重复,并在构建区县列时访问不存在的区县映射,触发Cannot read properties of undefined (reading 'map')。How
mobileCity.test.tsx注释 TODO 替换为 18 个真实组件测试,使用原生 workspace Jest 配置及真实 CityDB、Picker 和 PopUp。覆盖数字/字符串回填、确认后重新打开、跨层级和跨省切换、取消/遮罩关闭、层级开关及结构化输出,并保留普通三级地区对照。Validation
源码固定为
5263bd31f971e4cd38958bec6c326df096b5d9e2,独立 baseline 为其父提交43a33ee066990589f5891674e645c4c927761fe5。完整验证运行及原始产物:
node_modules或跨 checkout 的 workspace 链接。npm test --workspaces均退出 0。修复侧 amis 为 166 suites / 941 tests / 580 snapshots,baseline 为 166 / 924 / 580,全部通过;差额来自新增的 18 项测试替换一个占位测试。formula/core/ui 分别为 185、150、2 tests,均通过;editor 的 echo-only test 脚本不计为测试。两侧 office-viewer 另有 68 suites / 524 tests / 33 snapshots 全部通过。map异常、7 个对照通过,验证后恢复 baseline 原测试文件。input-cityrenderer 的 18 个场景全部通过。baseline 的直属县市500229复现目标异常,普通地区110101对照通过。该完整工作流的最终状态仍为 failure。失败来自补充验证器,原始结果保留,不能将下面的独立分析视为整条工作流变绿:
validation/../baseline路径。仅规范化双方真实 checkout 根路径后,root/office 构建前后的四组完整依赖图及 144 条解析记录完全一致。npm ls的 missing/invalid 报告和退出码 1 仍然存在,两侧相同,未声称修复这些既有依赖问题。0c4aa3a。使用实际发布的fis3@3.5.0-beta.3与此源码的 FIS 规则计算,md5('6.13.0' + 'amis-sdk' + '/node_modules/amis-ui/lib/components/CityArea.js')的前 7 位正是该 ID;原错误首帧和 served 文件哈希均匹配,没有额外的页面或资源错误。此项是对保留产物的后处理,并非重新运行浏览器。产物未保留完整 SDK 文件;归因使用运行时留下的首帧、模块 ID 和已校验 served 哈希,再以独立核对的 FIS 规则重建模块映射。Date.now()完全冻结却仍使用真实定时器;同版 Lodash 的独立实验确认这种组合会阻止 trailing debounce 回调。四组诊断还共同出现额外的inputDate.test.tsx:338失败。原来的四项一天偏差,已通过两侧相同的时区对照与真实filterDate调用定位到 native Date 的本地日历字段和 Jest 中 Moment 的Asia/Shanghai默认时区不一致。聚焦日期对照运行已成功:仅在固定源码上使用“历史起点 + 单调经过时间”的诊断时钟,保留原三个 suite 的全部 24 项断言。UTC 为 20 pass / 4 fail,位置与历史四项一致;Asia/Shanghai 为 24 pass / 0 fail。额外的 line 338 失败不再出现,源码前后校验通过。本次只补跑日期诊断,没有重跑或改写之前的完整 baseline、原生测试和浏览器结果。
历史运行 37511008882 的失败记录也保留;本轮独立 baseline 和浏览器验证补足了该运行的验证缺口。上游 CI 与维护者评审仍以本 PR 页面为准。
Limits
浏览器验证覆盖 DOM 标签、值与交互;Linux 截图存在中文字体缺字,未声称完成中文字体视觉验收,也未验证真实设备的滚动或惯性。香港/澳门另一数据模型中的 26 个编码仍有原有问题,未包含在本次修复中;本 PR 不声明覆盖 #21268 的全部桌面场景。
AI-assisted implementation and independent AI reviews. 尚无维护者或人工审核签核。