feat: 企微通讯录选人替换手填 userid(项目负责人/总群成员/群主合作方)

- wecom-client 新增 listInternalContacts:department/list + 逐部门 user/simplelist(cursor 翻页、去重、部门名映射)
- 新 action wecom_list_internal_contacts(仅返回应用可见范围内成员)
- admin 新增 WecomUserPickerModal:单选点行填入/多选勾选合并,姓名+userid 搜索,5 分钟共享缓存
- 三处接线:项目负责人(单选)、项目总群成员(多选合并去重)、新建群主合作方(单选)
- 拉取失败(60020 等)提示手填兜底,手填路径不变
This commit is contained in:
ABAPPLO
2026-09-03 13:52:10 +08:00
parent bd80b2d7d8
commit 5430624a43
5 changed files with 559 additions and 13 deletions

View File

@@ -43,6 +43,7 @@ import {
sendWecomAppMessage,
sendWecomRobotMessage,
listExternalContacts,
listInternalContacts,
WecomClientError,
type WecomBindings,
} from "../../../lib/wecom-client";
@@ -683,6 +684,12 @@ export async function POST(request: Request) {
);
const contacts = await listExternalContacts(wecomConfig);
return Response.json({ contacts });
} else if (body.action === "wecom_list_internal_contacts") {
const wecomConfig = resolveWecomConfig(
env as unknown as WecomBindings,
);
const contacts = await listInternalContacts(wecomConfig);
return Response.json({ contacts });
} else if (body.action === "wecom_sync_group_chats") {
const wecomConfig = resolveWecomConfig(
env as unknown as WecomBindings,