Show Feishu app visibility and preserve sync toggle

This commit is contained in:
Codex committed 2026-10-23 11:19:15 +08:00
1 parent e5375deeb2
commit 594bb61cef
6 files changed
+40 -18

No files matched your search

+6 -3
View File
@@ -4,7 +4,7 @@
|---|---|
| 版本 / 变更级别 | 0.1 / S3(通讯录权限、个人信息持久化与服务发布) |
| 设计状态 | 已形成实施方案 |
| 实现状态 | 已实现,待远程验证 |
| 实现状态 | 已部署;当前飞书可见范围仅含一名成员,部门尚不可见 |
| 负责人 / 日期 | Codex / 2026-10-23 |
| 关联需求 | 飞书组织成员导入,启用后每 30 分钟同步 |
| 批准状态 | 用户要求开发;飞书应用权限由管理员自行授予 |
@@ -35,6 +35,7 @@
- 新增 `GET /api/system/identity/directory-sync`、`PUT /api/system/identity/directory-sync`(enabled)、`POST /api/system/identity/directory-sync/run`。仅 admin + HTTPS;不返回凭据。
- 新增同步状态、部门、成员表,使用 `(issuer, app_id, id)` 区分应用;保留缺席成员,仅更新本次见到的数据和 `last_seen_at`。
- 最近同步状态还记录飞书 `/scopes` 返回的可见部门入口数和单独成员数;这不是企业通讯录总人数。
- 不修改原有登录、专线及 VPNUser API。Fly书权限以实际 API 报错为准:部门与成员列表通常要求部门和用户的应用身份读取权限及足够的通讯录可见范围,页面提供具体引导。
## 5. 风险与验收
@@ -48,10 +49,12 @@
| AC | 对应需求 | 前置/操作 | 预期 | 验证方式 | 结果 |
|---|---|---|---|---|---|
| AC-01 | FR-01 | 启用自动同步并重启 | 下次到期继续运行,关闭后停止 | 代码检查/人工验证 | 待远程验证 |
| AC-01 | FR-01 | 启用自动同步并重启 | 下次到期继续运行,关闭后停止 | 代码检查/人工验证 | 未启用;待权限配置完善后验证 |
| AC-02 | FR-02 | 模拟部门分页与成员重复 | 完整遍历、按 open_id 去重 | `go test ./backend/internal/identityprovider -run TestReadDirectory` | 通过 |
| AC-03 | FR-03 | 中间页错误 | 不接受不完整快照,不给新准入 | `TestReadDirectoryFailsClosedOnIncompletePage`;Go 事务代码检查 | 通过 |
| AC-04 | FR-04 | 打开身份页 | 可查看状态及成员摘要 | `npm run build`;页面待人工检查 | 构建通过,页面待验证 |
| AC-04 | FR-04 | 打开身份页 | 可查看状态及成员摘要 | `npm run build`、远程 API 手动试读 | API 通过:1 名成员、0 个部门;页面待人工检查 |
2026-10-23 首次测试服务器部署后,手动同步成功,自动开关仍关闭。实际仅 1 位可见成员、0 个部门,无法据此认为企业只有 1 位员工;等待飞书开放平台配置部门权限与应用通讯录可见范围后复测全量组织。后续界面增补了可见范围计数与部门缺失提示,待再次部署复测。
## 6. 发布与恢复