Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: multica-agent <github@multica.ai>
65 lines
3.2 KiB
Markdown
65 lines
3.2 KiB
Markdown
# B-261 Android「我的信息」404
|
||
|
||
分支:本卡施工分支(基于联网修复复测包 `1895830` / `agent/agent/a4ad7eed`)
|
||
对照用户安装包:Gitea `v3.8.3-network-fix-retest`(`changlian-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` 均 404;`GET /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-225:Flutter 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 路径;工号登录主路径和「我的信息」不再走这些接口。
|