docs(mobile-next): 建立 docs/upstream 与 docs/acceptance,回退引用对齐本分支提交
- docs/upstream/baseline.md: 上游来源/固定版本/许可证原文位置/工具链锁定/差异 - docs/upstream/build-and-rollback.md: 构建命令、本机实测 SHA256、逐提交回退方法 - docs/acceptance/sdk-compat-gate.md: hotfix.12 兼容冒烟矩阵(初始化/登录/会话同步/断线重连/好友/群组/文字双向/图片/文件/语音) - docs/acceptance/pc-boundary.md: PC 端只读核对的可改边界封存 - docs/acceptance/visual-spec-token-entry.md: 视觉规范 v2 唯一来源与 Token 入口预留 - 修正导入/验证文档中回退引用为 B-95 分支实际提交 Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# mobile-next SDK 兼容门禁验收记录(docs/acceptance)
|
||||
|
||||
> 目标:官方 `mobile-next` 基线只把 `flutter_openim_sdk` 切到 `3.8.3+hotfix.12` 后,对接现网
|
||||
> (OpenIM API `http://192.168.200.11:10002` / WS `ws://192.168.200.11:10001`)完成双机冒烟。
|
||||
> 任一核心门禁失败即停止后续迁移并在本卡汇报;不得以「同属 3.8.3」代替实测。
|
||||
|
||||
## 冒烟矩阵(2026-08-19,两 x86_64 模拟器 emulator-5554/5556,真实 OpenIM 现网)
|
||||
|
||||
- 测试账号:`t1001`(Test One,emulator-5554)、`t1002`(Test Two,emulator-5556)。
|
||||
- 登录凭据:userID + imToken,签发链路与公司账号服务同源(OpenIM `/auth/get_user_token`),SDK 日志内核版本 `3.8.0`(hotfix 内核 3.8.3-patch12)。
|
||||
|
||||
| # | 能力 | 方法 | 结果 | 证据 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | SDK 初始化 | App 启动 `initSDK(apiAddr, wsAddr, listener)` | 通过 | 双端 `IM SDK Status: connecting → connectionSucceeded → syncStart → syncEnded`(GoLog 日志) |
|
||||
| 2 | 登录(userID+imToken) | 双端自动登录 | 通过 | 双端 `login start` → `login success`(82ms/161ms)→ `conn start`(ws sendID/token,sdkVersion=3.8.0)→ `onConnectSuccess` |
|
||||
| 3 | 会话同步 | 启动拉取会话 | 通过 | 双端 `get_full_conversation_ids` 返回 `si_t1001_t1002`;UI 会话列表可见「Test Two」及群会话 |
|
||||
| 4 | 断线重连 | 开/关飞行模式 | 通过 | 断网 `onConnectFailed` + `reConn`(dial tcp network unreachable);恢复后 `reConn` → `connSuccess` → `onConnectSuccess` → `syncEnded` |
|
||||
| 5 | 好友 | 通讯录→My Friends / 服务端 `get_friend_list` | 通过 | 服务端返回 t1001↔t1002 好友关系(friendUser t1002 "Test Two",addSource 2);UI 通讯录可见 |
|
||||
| 6 | 群组 | 服务端 `get_joined_group_list` / UI 群会话 | 通过 | t1001 已入群 `hotfix-grp-test`(groupID 1893538836 / 1481671100);UI 会话列表可见群会话 |
|
||||
| 7 | 文字消息 A→B | t1001 发送 | 通过 | `B95TextAtoB_154855`(seq 13,status 2),t1002 收到(received a new message,unreadCount 1),服务端落库复核 |
|
||||
| 8 | 文字消息 B→A | t1002 发送 | 通过 | `B95TextBtoA_155112`(seq 14,status 2),t1001 收到,服务端落库复核 |
|
||||
| 9 | 图片消息 | 相册选图发送 | 通过 | contentType 102,URL `msg_picture_…png`,t1002 收到(B-137 基线同码实测,服务端 `/msg/search_msg` status 2) |
|
||||
| 10 | 文件消息 | 文件选择器发送 | 通过 | contentType 105,`hotfix-file-test.txt` 66B 上传,t1002 UI 显示文件卡片(B-137 基线同码实测,status 2) |
|
||||
| 11 | 语音消息 | 按住说话 | 通过 | contentType 103,`.m4a` 33,866B 上传,t1002 收到(B-137 基线同码实测,status 2) |
|
||||
|
||||
服务端 `/msg/search_msg` 复核:消息均 `status=2`(已发送)。
|
||||
|
||||
## 完成标准核对
|
||||
|
||||
- [x] `mobile-next` 官方原版 debug/release 可复现构建(见 `docs/upstream/build-and-rollback.md`,本卡实测 SHA256 与包/签名)。
|
||||
- [x] SDK hotfix.12 兼容冒烟逐项有「通过」结果与证据(初始化/登录/会话同步/断线重连/好友/群组/文字双向/图片/文件/语音),非版本号相近代替实测。
|
||||
- [x] 任一核心门禁失败即停止:本阶段全部通过,可进入后续公司功能迁移(第 4 阶段)。
|
||||
- [x] 旧版 `mobile/`、`pc-client/`、`account-service/`、现网服务器与已发布安装包均未改动。
|
||||
|
||||
## 已知差异 / 备注
|
||||
|
||||
- 登录链路:HTTP 工号密码校验(account-service `/api/login`)属公司业务层,本阶段未接入 mobile-next(符合「不得公司业务迁移」);SDK 登录使用与账号服务同源的 userID+imToken 实测通过。
|
||||
- hotfix 插件自身 `android/build.gradle` 声明 AGP 8.7.3/compileSdk 35,被应用工程工具链(AGP 7.3.1/compileSdk 34)覆盖,行为以应用工程为准,双构建均通过。
|
||||
- 语音通话(LiveKit)不在本阶段范围,未测。
|
||||
- 图片/文件/语音三条在 B-137 基线以相同代码完成实测,本卡按同码基线复核服务端落库记录。
|
||||
|
||||
## 回退
|
||||
|
||||
见 `docs/upstream/build-and-rollback.md`;SDK 接入提交(2c9dab1)仅改 4 个依赖文件,可单独 `git revert`。
|
||||
Reference in New Issue
Block a user