From d3562b4d3605486e3a3ec9b6470b1993f809ae64 Mon Sep 17 00:00:00 2001 From: imeepos Date: Mon, 8 Sep 2025 14:14:44 +0800 Subject: [PATCH] =?UTF-8?q?debug:=20=E6=B7=BB=E5=8A=A0DouyinAuthClient?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E6=B3=A8=E5=85=A5=E8=B0=83=E8=AF=95=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=92=8C=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在DouyinContentAdapter构造函数中添加调试日志 - 在getAccessToken方法中添加详细的错误检查和处理 - 将DouyinAuthClient添加到module的exports中 - 提供更详细的错误信息帮助诊断注入问题 --- .../adapters/douyin-content.adapter.ts | 18 ++++++++++++++++++ .../content-moderation.module.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/content-moderation/adapters/douyin-content.adapter.ts b/src/content-moderation/adapters/douyin-content.adapter.ts index a67ba25..49699c0 100644 --- a/src/content-moderation/adapters/douyin-content.adapter.ts +++ b/src/content-moderation/adapters/douyin-content.adapter.ts @@ -36,6 +36,13 @@ export class DouyinContentAdapter extends BaseContentAdapter { ) { super(httpService, configService, auditLogRepository); + // 调试:检查 douyinAuthClient 是否正确注入 + console.log('DouyinContentAdapter constructor - douyinAuthClient:', this.douyinAuthClient); + console.log('douyinAuthClient type:', typeof this.douyinAuthClient); + if (this.douyinAuthClient) { + console.log('douyinAuthClient.getAccessToken type:', typeof this.douyinAuthClient.getAccessToken); + } + // 抖音开放平台配置:clientKey/clientSecret 实际使用的是 APP_ID/APP_SECRET this.douyinConfig = { clientKey: this.configService.get('BYTEDANCE_APP_ID') || '', @@ -157,6 +164,17 @@ export class DouyinContentAdapter extends BaseContentAdapter { * 获取访问令牌 */ private async getAccessToken(): Promise { + console.log('getAccessToken called - douyinAuthClient:', this.douyinAuthClient); + console.log('douyinAuthClient type:', typeof this.douyinAuthClient); + + if (!this.douyinAuthClient) { + throw new Error('DouyinAuthClient 未正确注入'); + } + + if (typeof this.douyinAuthClient.getAccessToken !== 'function') { + throw new Error(`DouyinAuthClient.getAccessToken 不是函数,类型: ${typeof this.douyinAuthClient.getAccessToken}`); + } + return this.douyinAuthClient.getAccessToken().then(res => res.accessToken) } diff --git a/src/content-moderation/content-moderation.module.ts b/src/content-moderation/content-moderation.module.ts index 2b48933..716df8a 100644 --- a/src/content-moderation/content-moderation.module.ts +++ b/src/content-moderation/content-moderation.module.ts @@ -51,6 +51,6 @@ import { ContentAuditGuard } from './guards/content-audit.guard'; ContentAuditGuard, ], controllers: [ContentModerationController], - exports: [UnifiedContentService, ContentAdapterFactory, ContentAuditGuard], + exports: [UnifiedContentService, ContentAdapterFactory, ContentAuditGuard, DouyinAuthClient], }) export class ContentModerationModule {}