feat: 任务发布到企微客户群(企业群发)与资源库单条新增
- 任务中心新增「发布到企微群」:同步客户群清单(wecom_group_chats)、 按群主分组创建企业群发任务(add_msg_template)、发送记录落库 wecom_group_pushes,迁移 mysql/0009;lib/wecom-client.ts 补 listCustomerGroupChats/createGroupMsgTemplate - KOC 资源库支持单条新增:app/api/resources-insert + lib/resource-write, 拆出资源写入公共逻辑供导入复用;0008 补合作方外部联系人字段 - 环境变量示例补企微凭证与 SEED_DEMO_DATA;next.config 增加 allowedDevOrigins;CLAUDE.md 补充项目说明 - .gitignore 排除 .codegraph/ 与 .ipynb_checkpoints/
This commit is contained in:
@@ -510,11 +510,12 @@ test("filters and exports the current KOC resource result set", async () => {
|
||||
});
|
||||
|
||||
test("imports existing KOC resources through a validated spreadsheet preview", async () => {
|
||||
const [adminApp, globalCss, importRoute, resourceParser, accountMigration, profileMigration, contactMigration] = await Promise.all([
|
||||
const [adminApp, globalCss, importRoute, resourceParser, resourceWrite, accountMigration, profileMigration, contactMigration] = await Promise.all([
|
||||
readFile(new URL("../app/admin-app.tsx", import.meta.url), "utf8"),
|
||||
readFile(new URL("../app/globals.css", import.meta.url), "utf8"),
|
||||
readFile(new URL("../app/api/resources-import/route.ts", import.meta.url), "utf8"),
|
||||
readFile(new URL("../lib/resource-import.ts", import.meta.url), "utf8"),
|
||||
readFile(new URL("../lib/resource-write.ts", import.meta.url), "utf8"),
|
||||
readFile(new URL("../mysql/0002_resource_import.sql", import.meta.url), "utf8"),
|
||||
readFile(new URL("../mysql/0006_account_profile_tags.sql", import.meta.url), "utf8"),
|
||||
readFile(new URL("../mysql/0007_account_current_contact.sql", import.meta.url), "utf8"),
|
||||
@@ -527,7 +528,7 @@ test("imports existing KOC resources through a validated spreadsheet preview", a
|
||||
assert.match(resourceParser, /RESOURCE_IMPORT_MAX_ROWS = 10_000/);
|
||||
assert.match(resourceParser, /RESOURCE_IMPORT_MAX_BYTES = 20 \* 1024 \* 1024/);
|
||||
assert.match(adminApp, /单次最多 10,000 个账号,文件不超过 20MB/);
|
||||
assert.match(importRoute, /RESOURCE_IMPORT_DB_BATCH_SIZE = 100/);
|
||||
assert.match(resourceWrite, /RESOURCE_IMPORT_DB_BATCH_SIZE = 100/);
|
||||
assert.match(importRoute, /bulk resource profile enrichment/);
|
||||
assert.match(adminApp, /异常数据将自动跳过,不会导入/);
|
||||
assert.match(
|
||||
@@ -542,7 +543,7 @@ test("imports existing KOC resources through a validated spreadsheet preview", a
|
||||
assert.match(importRoute, /跳过 \$\{summary\.error\} 条异常数据/);
|
||||
assert.match(importRoute, /previewAnalyzedRows\(analyzed\)/);
|
||||
assert.match(resourceParser, /当前自动解析仅支持小红书或抖音账号主页/);
|
||||
assert.match(importRoute, /resolveProfileDetailsFromMcp/);
|
||||
assert.match(resourceWrite, /resolveProfileDetailsFromMcp/);
|
||||
assert.match(accountMigration, /cooperation_source/);
|
||||
assert.match(profileMigration, /ADD COLUMN gender/);
|
||||
assert.match(profileMigration, /ADD COLUMN bio/);
|
||||
|
||||
Reference in New Issue
Block a user