位置:server/src/services/AccountService.ts 第 385 行
修改内容:
// 修改前
const platformsSkipAI: PlatformType[] = ['douyin', 'xiaohongshu'];
// 修改后
const platformsSkipAI: PlatformType[] = ['douyin', 'xiaohongshu', 'baijiahao'];
验证命令:
grep -n "platformsSkipAI" server/src/services/AccountService.ts
预期输出:
385: const platformsSkipAI: PlatformType[] = ['douyin', 'xiaohongshu', 'baijiahao'];
位置:server/src/services/HeadlessBrowserService.ts 第 580-585 行
修改内容:
async fetchAccountInfo(platform: PlatformType, cookies: CookieData[]): Promise<AccountInfo> {
logger.info(`[fetchAccountInfo] Starting for platform: ${platform}`);
// 百家号使用直接 API 获取账号信息和作品列表
if (platform === 'baijiahao') {
logger.info(`[fetchAccountInfo] Using direct API for baijiahao`);
return this.fetchBaijiahaoAccountInfoDirectApi(cookies);
}
// ...
}
验证命令:
grep -A 3 "if (platform === 'baijiahao')" server/src/services/HeadlessBrowserService.ts | head -5
预期输出:
if (platform === 'baijiahao') {
logger.info(`[fetchAccountInfo] Using direct API for baijiahao`);
return this.fetchBaijiahaoAccountInfoDirectApi(cookies);
}
按 Ctrl+C 停止正在运行的服务
cd server
rm -rf dist
# 或者 Windows 下
# rmdir /s /q dist
npm install
npm run build
预期输出:应该看到编译成功的消息,没有错误
npm run dev
# 或者
npm start
在浏览器中打开账号管理页面
应该看到的日志:
[refreshAccount] Platform: baijiahao, shouldUseAI: false, aiAvailable: true
[checkCookieValid] Checking cookie for baijiahao, cookie count: X
[checkCookieValid] API check result for baijiahao: true
[fetchAccountInfo] Starting for platform: baijiahao
[fetchAccountInfo] Using direct API for baijiahao
[Baijiahao API] Fetching account info via direct API...
[Baijiahao API] Step 1: Fetching appinfo...
[Baijiahao API] appinfo response: errno=0, errmsg=success
[Baijiahao API] Got account info: name=xxx, id=bjh_xxx
[Baijiahao API] Step 2: Fetching growth info...
[Baijiahao API] Got fans count: 123
[Baijiahao API] Step 3: Fetching works list...
[Baijiahao API] Successfully fetched account info
不应该看到的日志:
[AI Refresh] Starting AI-assisted refresh for account
[Playwright] Fetching account info for baijiahao
Launching browser...
症状:
[AI Refresh] Starting AI-assisted refresh for account XXX (baijiahao)
原因:platformsSkipAI 没有包含 baijiahao
解决:
server/src/services/AccountService.ts 第 385 行'baijiahao'npm run build症状:
[Playwright] Fetching account info for baijiahao
原因:fetchAccountInfo 方法没有正确处理百家号
解决:
server/src/services/HeadlessBrowserService.tsif (platform === 'baijiahao') 判断npm run build症状:修改了代码,编译成功,但日志显示仍在使用旧逻辑
原因:
解决:
# 1. 杀死所有 Node 进程
# Windows:
taskkill /F /IM node.exe
# Linux/Mac:
killall node
# 2. 清理编译输出
rm -rf server/dist
# 3. 重新编译
cd server
npm run build
# 4. 启动服务
npm run dev
症状:
TypeError: this.fetchBaijiahaoAccountInfoDirectApi is not a function
原因:方法名拼写错误或方法不存在
解决:
server/src/services/HeadlessBrowserService.tsfetchBaijiahaoAccountInfoDirectApi 方法✅ 编译成功:没有错误
✅ 日志正确:看到 [Baijiahao API] 而不是 [AI Refresh] 或 [Playwright]
✅ 速度快:刷新时间从 10-30 秒降低到 1-3 秒
✅ 数据准确:账号信息、粉丝数、作品数都正确
# 1. 停止服务
Ctrl+C
# 2. 清理
cd server
rm -rf dist
# 3. 验证代码
grep "platformsSkipAI" src/services/AccountService.ts
grep "if (platform === 'baijiahao')" src/services/HeadlessBrowserService.ts
# 4. 编译
npm run build
# 5. 启动
npm run dev
# 6. 测试
# 在浏览器中刷新百家号账号
# 7. 查看日志
# 应该看到 [Baijiahao API] 开头的日志
[AI Refresh] Starting AI-assisted refresh for account 123 (baijiahao)
[Playwright] Launching browser...
[Playwright] Navigating to https://baijiahao.baidu.com/...
[refreshAccount] Platform: baijiahao, shouldUseAI: false
[fetchAccountInfo] Starting for platform: baijiahao
[fetchAccountInfo] Using direct API for baijiahao
[Baijiahao API] Fetching account info via direct API...
[Baijiahao API] Step 1: Fetching appinfo...
[Baijiahao API] appinfo response: errno=0
[Baijiahao API] Got account info: name=xxx
[Baijiahao API] Step 2: Fetching growth info...
[Baijiahao API] Got fans count: 123
[Baijiahao API] Step 3: Fetching works list...
[Baijiahao API] Successfully fetched account info
| 方式 | 时间 | 日志特征 |
|---|---|---|
| AI/浏览器 | 10-30秒 | [AI Refresh] 或 [Playwright] |
| API 接口 | 1-3秒 | [Baijiahao API] |
如果刷新时间仍然很长(超过 5 秒),说明没有使用 API。