feat: sync OneTalk customer avatar profiles

This commit is contained in:
YBF
2026-09-01 18:45:27 +08:00
parent 8bdd9ec34b
commit 89d8240505
43 changed files with 2722 additions and 76 deletions
+14
View File
@@ -695,6 +695,20 @@ CSRF
| 右侧 DOM | 包含公司、邮箱、注册时间、买家标签 |
| 基础 SDK 返回邮箱/注册时间 | 当前未包含 |
## 10.1 当前仓库的本地 profile receipt(仅测试)
当前仓库的 `apps/mind-http-mock` 提供一个仅供本地验证的接口:
```text
POST /internal/bright/onetalk/contact-profiles
Body: { channelAccountId, binding, profiles[] }
Response: 204 No Content
```
它复用共享 OneTalk profile/头像 URL 校验,只按 `channelAccountId + aliId` 在注入或默认的内存 store 中保存白名单字段;有效头像 URL 会保留,显式 `avatarUrl: null` 会覆盖旧值。账号或 binding 不匹配、额外或敏感字段会被拒绝,未知的 `/collector/v1/sync-batches` 路径仍返回 404。
该 receipt 只证明本地 mock 的请求边界和 URL/null 存储语义,不代表真实 Mind 服务已接通。仓库仍没有 TradeMind Workbench、`/collector/v1/sync-batches``customers[].avatarUrl``tm-binding-avatar` 实现;真实 Mind/Workbench/collector/Chromium 联调保持 `external_unverified`
## 11. 历史最小示例(不可直接用于当前任务)
本节代码展示当时探查到的内部详情刷新方式,故意保留为未来任务的证据。当前实现不得调用其中的 HTTP 详情方法,也不得让 chatToken 或加密 ID 离开 MAIN world。