Skip to content

fix(mobile): scroll multi-account login list - #3692

Open
weikl666 wants to merge 2 commits into
makecindy:mainfrom
weikl666:fix/mobile-login-account-list-scroll
Open

fix(mobile): scroll multi-account login list#3692
weikl666 wants to merge 2 commits into
makecindy:mainfrom
weikl666:fix/mobile-login-account-list-scroll

Conversation

@weikl666

@weikl666 weikl666 commented Aug 31, 2026

Copy link
Copy Markdown

这次改了什么

摘要

修复 Mobile 登录页在“个人身份 + 多个企业身份”场景下只能看到前三项的问题。身份列表现在使用独立滚动区域,超过两项时可继续向下滚动访问第 4 个及之后的身份。

变更类型

  • fix 缺陷修复
  • feat 新功能
  • refactor / perf
  • docs / test / chore

范围

UI 变化

  • 平台:iOS 真机,iPhone 14 Pro Max,CN Mobile dev
  • 变化:身份列表超过可视区域后可纵向滚动;第 4 个及之后的企业身份可以显示和点击
  • 截图/录屏:以下 3 张为用户在真实 iPhone 14 Pro Max 上截取的原始画面,按操作顺序纵向展示:

1. 进入身份选择页

进入身份选择页

2. 向下滚动到中段

向下滚动到中段

3. 继续滚动到底部

继续滚动到底部

  • 代码未改变颜色、文案或原生界面
  • 引用的设计规范:Mobile 登录页既有布局 token;列表新增独立 viewport,复用既有行高和错误提示槽位,不改变标题及前两行构图

怎么验证的

自动验证

pnpm test:unit:related
结果:apps/mobile related tests PASS

pnpm --filter mobile exec vitest run src/auth/__tests__/loginSkinLayout.test.ts src/auth/__tests__/loginSkinStates.test.ts
结果:54/54 通过

pnpm --filter mobile run typecheck
结果:通过

pnpm --filter mobile run test:scope
结果:mobile-scope-guard passed

pnpm check:dco
结果:通过

git diff --check origin/main...HEAD
结果:通过

手工验证

  • Worktree:fix/mobile-login-account-list-scroll
  • Commit:b09c83e4
  • Metro:当前 worktree 的 172.27.84.18:8081,CN 配置
  • 真实 iPhone 14 Pro Max:已打开开发包并进入国内手机号登录流程
  • 已验证多个企业身份时列表可滚动,第 4 个企业可访问

未执行的验证

  • 未在 Android 真机验证
  • 已补充 3 张 iOS 真机截图;未使用合成图片或示意图

风险

  • 无已知风险
  • 原生层 / fingerprint / OTA
  • 跨平台差异

本次仅修改 Mobile JS/TS 与测试,不改 app.json、原生依赖、config plugin 或 apps/mobile/package.json,不改变 runtime fingerprint,不需要冷更。

影响与回滚

  • 影响范围:Mobile 登录身份选择页
  • 回滚 / 降级方式:回退本 PR 即恢复原列表布局;不涉及数据迁移、协议或持久状态

提交前检查

  • 已 review 完整 diff
  • 每个 commit 都带 DCO 签名
  • UI 改动已注明设计规范和验证平台
  • 未提交凭证、令牌或授权文件
  • 已补充必要验证
  • 已确认测试结果或说明未执行原因

Signed-off-by: weikl666 <126861179+weikl666@users.noreply.github.com>
@weikl666
weikl666 requested a review from a team as a code owner August 31, 2026 12:44
@greptile-apps

greptile-apps Bot commented Aug 31, 2026

Copy link
Copy Markdown

Greptile Summary

本 PR 修复移动端多身份登录列表只能访问前三项的问题。

  • 在登录面板中新增固定的独立滚动视口,超过两项时启用纵向滚动和滚动指示器。
  • 将身份行改为相对滚动内容定位,并补充列表高度、最大滚动距离和末行可达性的几何计算。
  • 增加布局几何与渲染接线回归测试。

Confidence Score: 5/5

本 PR 看起来可以安全合并,未发现由本次改动引入的具体功能、安全或兼容性问题。

滚动视口与登录面板共享同一缩放坐标系,内容高度和实际身份行尺寸一致,状态切换也会通过卸载并重新挂载列表清除滚动偏移。

Important Files Changed

Filename Overview
apps/mobile/app/(auth)/login.tsx 将账号选择行包装进与登录面板同坐标系的 ScrollView,并按账号数量启用滚动与指示器。
apps/mobile/src/auth/loginSkinLayout.ts 新增账号列表视口常量和内容高度计算,确保任意数量身份的最后一行可完整滚入视口。
apps/mobile/src/auth/tests/loginSkinLayout.test.ts 覆盖五个身份时的视口高度、内容高度及末行最大滚动位置。
apps/mobile/src/auth/tests/loginSkinStates.test.ts 补充账号列表 ScrollView 与行定位接线的源码级回归断言。

Reviews (1): Last reviewed commit: "fix(mobile): scroll multi-account login ..." | Re-trigger Greptile

@MagicLizi MagicLizi added awaiting-discussion 等待维护者讨论(review-pr) touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示) labels Sep 1, 2026
@MagicLizi

Copy link
Copy Markdown
Contributor

这个 PR 会改变移动端登录页多账号列表的展示和滚动,已进入维护者确认,球不在作者手里。

请维护者直接在 PR 上 Approve;需要修改就 Request Changes。讨论 issue:#3715

@MagicLizi

Copy link
Copy Markdown
Contributor

命中 UI 路径(移动端登录多账号列表)但 description 未附界面效果证据——建议补充改动后效果:截图/录屏,或改动后界面的 HTML 页面,便于确认界面符合 DESIGN.md 设计规范。

@weikl666
weikl666 force-pushed the fix/mobile-login-account-list-scroll branch from 72c3297 to b054818 Compare September 1, 2026 07:01
Signed-off-by: weikl666 <126861179+weikl666@users.noreply.github.com>
@weikl666

weikl666 commented Sep 1, 2026

Copy link
Copy Markdown
Author

已补好移动端 UI 证据,三张均为真实 iPhone 14 Pro Max 截图,顺序对应进入页 → 向下滚动中段 → 继续滚动到底部:

1. 进入身份选择页 2. 向下滚动到中段 3. 继续滚动到底部
进入身份选择页 向下滚动到中段 继续滚动到底部

正文也已同步为直接显示图片,截图文件已随 commit b09c83e4 推送到 PR 分支。

@weikl666

weikl666 commented Sep 1, 2026

Copy link
Copy Markdown
Author

刚才检查 PR 页面后发现表格展示确实有问题:第 2 张图片的 SHA 链接少了一段,导致显示破图。已修正,并改成三张纵向单独展示,避免 GitHub 表格压缩。

按顺序重新贴图:

  1. 进入身份选择页

进入身份选择页

  1. 向下滚动到中段

向下滚动到中段

  1. 继续滚动到底部

继续滚动到底部

我已用 raw 地址逐张验证,三张均返回 200,正文也已重新读取确认。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-discussion 等待维护者讨论(review-pr) touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants