Files
tongxunruanjian/docs/acceptance/b261-user-find-full-404.md
T
2026-08-20 23:58:42 +08:00

3.2 KiB
Raw Blame History

B-261 Android「我的信息」404

分支:本卡施工分支(基于联网修复复测包 1895830 / agent/agent/a4ad7eed 对照用户安装包:Gitea v3.8.3-network-fix-retestchanglian-android-3.8.3-b225.apk) 本卡只改客户端用户资料读取,不改现网服务、不改账号数据、不覆盖旧 Release。

结论:404 是客户端把官方 chat 接口打到了账号服务。责任在客户端。已改为走 OpenIM SDK,不再请求 /user/find/full

直接原因

用户截图:GET http://192.168.200.11:10010/user/find/full → 404。

核对项 结果
账号服务真实路由 只有 /api/login/api/directory/api/rtc_token、管理接口;没有 /user/find/full
现网探测 GET/POST http://192.168.200.11:10010/user/find/full 均 404GET /api/health 200,员工数 3
当前发布包调用方 官方页「我的信息」走 Apis.queryMyFullInfo()HttpUtil.post(Urls.getUsersFullInfo)
URL 来源 B-225 把 Config.appAuthUrl 从已关闭的 :10008 改到 :10010,登录能通,但这条 chat 路径仍打到账号服务
代码方法 源码是 POST;GET/POST 对不存在的路径都是 404,和截图一致

mobile/ 和 PC 早已用 OpenIM SDK 取资料,不打这条路径。新 mobile-next/ 漏改。

责任边界:客户端请求了账号服务没有的接口。不是工号密码错误,也不是服务器宕机。不需要改现网。

最小修复

Apis.getUserFullInfo / queryMyFullInfo / searchUserFullInfo / updateUserInfo 改为 OpenIM SDK(与 PC pc-client/src/api/login.ts 同一策略)。

  • 能同步:工号、昵称、头像、勿扰
  • 不再有值:手机号、邮箱、性别、生日等原 chat 业务字段
  • 未改:account-service/、docker、旧 mobile/、PC

回退

从新到旧:git revert 本验收记录提交,再 git revert 代码提交。用户侧可继续用 v3.8.3-network-fix-retest 或旧包 v1.0.6-internal-test

构建

  • Flutter 3.24.5 / Dart 3.5.4 / Temurin 17.0.20
  • flutter build apk --release 成功
  • 上游告警同 B-225Flutter Gradle apply-script 弃用;部分依赖 Kotlin metadata 1.8.0 vs 工程预期 1.6.0。release 通过。
产物 版本 包名 大小 SHA256
Android release APK 3.8.3+180 io.openim.flutter.demo 53,286,915 B 42D74E85AEC52A3889ED79CE7345C3BA5F69B4B3FA994032C2D38DF6A9CF5987

路径:mobile-next/build/app/outputs/flutter-apk/app-release.apk(APK 内嵌时间戳,哈希不可位级复现)

已测 / 未测

已测:

  • 现网 :10010/user/find/full GET/POST 404/api/health 200
  • UserFullInfoMapper 单测 3 项通过
  • 改动文件 flutter analyze 无新增 error(剩余 8 条均为 apis.dart 原有 warning/info
  • Android release 构建通过,校验值见上表
  • Apis 不再引用 Urls.getUsersFullInfo / updateUserInfo / searchUserFullInfo

未测(不得写成已通过):

  • 公司内网真机登录后打开「我的信息」
  • 登录、联系人、发消息完整回归

残余:官方 searchFriendInfo、改密、验证码仍指向已下线 chat 路径;工号登录主路径和「我的信息」不再走这些接口。