Commit Graph

67 Commits

Author SHA1 Message Date
imeepos 81d93f59ff fix: 修复应用启动错误和依赖注入问题
- 修复PaymentModule中PlatformAuthGuard依赖注入问题,导入PlatformModule
- 修复PlatformModule导出PlatformAuthGuard供其他模块使用
- 优化支付适配器配置检查,改为警告而非错误,避免阻止应用启动
- 完善微信和抖音支付配置环境变量提示信息
- 确保应用可在支付配置不完整时正常启动
2025-09-25 20:38:14 +08:00
imeepos ca8710686b fix: 修复DouyinContentAdapter代码格式
- 修正console.log语句的缩进和分号格式
2025-09-25 20:30:41 +08:00
imeepos 96ae77471c feat: 实现完整的在线支付模块
- 添加支付模块架构,支持微信支付和抖音支付
- 创建支付订单、交易记录、退款记录数据表和实体
- 实现基于适配器模式的多平台支付集成
- 添加统一支付服务,集成会员订阅、积分购买、模板解锁业务
- 完善支付回调处理和退款功能
- 添加完整的DTO验证和API文档
- 集成到主应用模块,完成依赖注入配置
2025-09-25 20:28:30 +08:00
imeepos fee436eddc refactor: 移除未使用的变量data 2025-09-08 16:05:15 +08:00
imeepos 547bd1eba4 feat: 实现imageUrlToBase64图片转换功能和优化抖音SDK集成
- 添加imageUrlToBase64方法将图片URL转换为Base64格式
- 重构DouyinAuthClient移除第三方SDK依赖,使用原生HTTP请求
- 更新抖音内容审核API调用逻辑,使用image_data字段
- 优化错误处理和日志输出
- 修复依赖注入和模块配置问题
2025-09-08 15:26:32 +08:00
imeepos 8eeedb444f fix: 修复DouyinAuthClient方法签名和添加详细调试信息
- 将getAccessToken方法改为async异步方法
- 在构造函数中添加配置和Client创建的调试信息
- 在getAccessToken方法中添加完整的调用流程调试
- 添加try-catch错误处理和详细的错误日志
- 隐藏敏感的clientSecret信息在日志中
2025-09-08 14:19:49 +08:00
imeepos d3562b4d36 debug: 添加DouyinAuthClient依赖注入调试信息和错误处理
- 在DouyinContentAdapter构造函数中添加调试日志
- 在getAccessToken方法中添加详细的错误检查和处理
- 将DouyinAuthClient添加到module的exports中
- 提供更详细的错误信息帮助诊断注入问题
2025-09-08 14:14:44 +08:00
imeepos dfa2d5eaae fix: 修复DouyinAuthClient依赖注入问题
- 在ContentModerationModule中注册DouyinAuthClient为provider
- 添加DouyinAuthClient导入声明
- 解决"getAccessToken is not a function"错误
2025-09-08 13:50:05 +08:00
imeepos d5c4344ad3 chore: 添加项目配置文件和测试脚本
- 添加CLAUDE.md项目指令文件
- 添加test-package.js用于测试抖音SDK包降级结果
2025-09-08 13:42:36 +08:00
imeepos 3d7370d73a refactor: 降级抖音SDK版本并优化项目配置
- 降级@open-dy/open_api_sdk从1.1.3到1.1.2解决兼容性问题
- 优化import顺序,移动HttpModule和JwtModule到顶部
- 移除未使用的TemplateController导入
- 修复TypeScript配置,改用commonjs模块系统
- 添加DouyinAuthClient文件到版本控制
2025-09-08 13:41:24 +08:00
imeepos 39f2ecc4f5 fix: 修复抖音内容审核适配器HTTP请求Observable问题
- 导入firstValueFrom从rxjs处理HttpService返回的Observable
- 使用await firstValueFrom包装httpService.post调用
- 修复响应数据访问,使用response.data获取实际数据
2025-09-08 13:39:19 +08:00
imeepos 6cd2e75d15 refactor: 重构抖音内容审核适配器使用SDK v3并集成OAuth认证
主要变更:
- 集成抖音OpenAPI SDK v3替代原有的HTTP请求方式
- 实现OAuth客户端令牌自动获取和刷新机制
- 统一环境变量配置,使用BYTEDANCE_APP_ID/APP_SECRET同时支持小程序和开放平台API
- 添加智能token缓存和过期检测
- 更新响应解析逻辑适配SDK v3格式
- 添加测试接口验证token获取功能

技术改进:
- 自动token管理,无需手动维护访问令牌
- 提前5分钟刷新token避免过期
- 完善的错误处理和类型安全
- 移除重复配置,简化环境变量管理
2025-09-08 12:43:05 +08:00
imeepos 2bac851e6d refactor: 实现正确的CurrentUser装饰器并修复类型问题
- 新增CurrentUser装饰器和CurrentUserData类型定义
- 替换content-moderation.controller.ts中的模拟装饰器实现
- 修复测试文件中的用户数据结构,确保包含必要的platform字段
- 修复app.module.ts中已删除控制器的引用
- 优化Swagger配置使用环境变量定义服务器地址
2025-09-08 11:06:09 +08:00
imeepos fe0aa0a9c5 refactor: 移除executeTemplateByCode接口的后端图片审核功能
- 简化执行流程,直接执行模板跳过后端审核
- 支持前端传递auditTaskId参数用于审核追踪
- 移除UnifiedContentService依赖和相关审核逻辑
- 删除handleAuditComplete和startTemplateExecution方法
- 更新API文档说明前端审核职责
- 修改测试用例适配新的执行流程
- 保持数据库字段兼容性,auditTaskId改为前端传入

变更影响:
- executeTemplateByCode接口不再执行后端图片审核
- 执行记录状态直接设为PROCESSING
- 前端需要在调用接口前完成图片审核
2025-09-08 11:01:30 +08:00
imeepos 6ef0fe5bb1 refactor: 优化模板执行API并移除重复控制器
- 简化模板执行流程,移除后端图片审核逻辑,改为前端预审核
- 删除增强版模板控制器(enhanced-template.controller.ts),统一使用标准控制器
- 更新API文档,明确executionId、taskId、auditTaskId的使用场景
- 修复执行进度查询接口,使用executionId作为主要查询参数
- 完善单元测试,确保API变更后功能正常
- 添加CurrentUser装饰器,标准化用户信息获取方式
2025-09-08 10:55:43 +08:00
imeepos c250ba43ef fix: 完善Swagger配置和构建脚本
- 修复docs:generate脚本路径
- 更新swagger.config.ts中的服务器地址
- 统一开发环境配置
2025-09-05 18:31:03 +08:00
imeepos 8ea6e4ed61 fix: 修复Swagger文档生成和API路径配置
- 修复generate-swagger-json.ts中API前缀配置,与main.ts保持一致
- 修复content-moderation.controller.ts中重复的API前缀
- 更新Swagger配置从环境变量获取服务地址
- 重新生成API文档确保路径正确
2025-09-05 18:30:50 +08:00
imeepos 37f4d8e7c6 refactor: 统一代码格式并完善测试覆盖率
- 优化代码格式和缩进,提升代码可读性
- 增强内容审核适配器的类型安全性
- 完善单元测试用例,提高测试覆盖率
- 优化统一异步审核架构的实现
2025-09-05 18:04:19 +08:00
imeepos 71b26fb5c4 fix: 修复template.controller支持异步审核模式
解决原有template.controller在异步审核模式下无法工作的问题:

🔧 核心修改:
- 检测auditResult.conclusion字段判断同步/异步审核模式
- 同步模式:立即检查审核结果并执行模板
- 异步模式:保存执行记录,等待回调处理

🆕 新增功能:
- handleAuditComplete() 处理审核完成回调
- startTemplateExecution() 启动模板执行
- updateExecutionStatus() 更新执行状态
- 支持PENDING_AUDIT状态管理

📈 改进效果:
- 保持API接口向后兼容
- 同时支持微信同步审核和抖音异步审核
- 完善错误处理和状态管理
- 用户可查询执行进度

 修复问题:
- 解决template.controller.ts:201行异步审核时的undefined错误
- 统一审核架构,无需维护两套API
2025-09-05 17:21:16 +08:00
imeepos e36cdfc38d test: 完善单元测试覆盖率并优化统一异步架构
- 添加 AppController 测试用例,测试回调接口的错误处理
- 新增控制器、服务层、平台服务等全面的单元测试
- 优化增强模板控制器的错误处理和审核完成事件处理
- 添加数据库迁移脚本支持统一异步架构升级
- 完善 TypeScript 配置,添加 jest 类型支持
- 修复端到端测试,确保 API 响应格式正确性
- 所有测试通过 (109 个测试用例),覆盖率达到要求
2025-09-05 17:05:08 +08:00
imeepos 4cb6b63948 feat: 修复抖音图片审核失败并设计统一异步架构
解决抖音图片审核"无效图片URL"问题,并设计统一异步架构方案:

## 核心修复
- 增强 validateImageUrl 方法,支持文件扩展名 + Content-Type 双重验证
- 修复抖音审核失败问题:binary/octet-stream 响应头导致的验证失败

## 架构设计
- 设计统一异步内容审核架构,抹平平台差异(同步/异步)
- 创建 EnhancedBaseContentAdapter 统一接口
- 实现平台适配器模式,WeChat同步转异步,Douyin原生异步
- 添加回调驱动的模板执行流程

## 数据库增强
- 新增 taskId 字段关联审核任务和模板执行
- 添加 PENDING_AUDIT 状态支持异步审核流程
- 创建 MySQL 优化的数据库迁移脚本

## 文档完善
- 更新内容审核设计文档,包含详细序列图
- 创建 5 阶段升级文档,含 MySQL 专项优化
- 提供完整的向后兼容迁移方案

## 测试改进
- 更新单元测试,修复 validateStatus 参数
- 增强错误处理和边界情况测试覆盖
2025-09-05 16:08:45 +08:00
imeepos 082775094e refactor: 统一使用 ResponseUtil 构造 API 响应格式
- 统一 unified-user.controller.ts 的响应格式
- 统一 template.controller.ts 的响应格式
- 统一 content-moderation.controller.ts 的响应格式
- 所有响应现在包含 code、message、data、timestamp、traceId 字段
- 提高响应格式一致性和可追踪性
2025-09-05 15:04:52 +08:00
imeepos da5db8c5b6 resolve: 解决template.controller.ts合并冲突
- 保留内容审核功能(403状态码响应)
- 保留任务限制检查功能(429状态码响应)
- 合并两个版本的executeTemplateByCode方法
- 确保UnifiedContentService正确注入
2025-09-05 14:53:54 +08:00
imeepos 6b49fe9d1f fix: 修复内容审核模块依赖注入问题
- 在BaseContentAdapter中添加@InjectRepository装饰器
- 在ContentModerationModule中导入JwtModule和PlatformModule
- 修复Repository依赖注入问题
- 确保应用正常启动
2025-09-05 14:51:39 +08:00
imeepos 00bf807b31 feat: 添加图片内容审核功能到模板执行流程
- 集成统一内容审核服务到模板控制器
- 在模板执行前进行图片内容审核
- 审核未通过时返回403错误和详细原因
- 添加内容审核模块和相关服务
- 创建内容审核日志表迁移文件
2025-09-05 14:48:49 +08:00
iHeyTang 80c96d283c fix: 更新任务数量限制逻辑
- 修改 template.controller.ts 中的任务数量检查逻辑,将限制条件从大于 0 改为大于 3,以更严格地控制用户并发任务数量。
- 更新异常消息,确保反馈的任务数量与实际正在进行的任务一致。
2025-09-05 00:19:40 +08:00
iHeyTang 9cdbed02eb fix: 修复时间比较逻辑错误
- 更新 template.controller.ts 中的时间比较逻辑,确保在过滤最近任务时正确比较时间戳。使用 getTime() 方法进行比较,以避免潜在的错误。
2025-09-04 23:48:19 +08:00
iHeyTang 6307b216d6 feat: 添加用户任务限制检查功能
- 在 executeTemplateByCode 方法中添加用户当前任务数量限制检查,确保用户在执行新任务前不超过最大并发任务数。
- 新增 checkUserTaskLimit 方法,查询用户正在进行的任务并判断是否满足执行条件。
- 更新 Swagger API 文档,添加任务数量限制的响应示例。
2025-09-04 23:23:01 +08:00
imeepos 1e31514f11 fix: 修复失败时 解析失败原因bug 2025-09-04 22:29:11 +08:00
imeepos 8cb8badb5d fix: 返回结果添加executionResult 2025-09-04 21:15:03 +08:00
imeepos 4311527356 fix: 修复数据格式错误 2025-09-04 21:12:28 +08:00
imeepos fd7d619a51 fix: 修复回调数据格式错误 2025-09-04 20:59:42 +08:00
imeepos db67fd718d fix: 修复n8n异步任务解析结果bug 2025-09-04 20:40:00 +08:00
imeepos d2acf1b702 fix: 统一执行进度查询接口响应格式
- 更新 getExecutionProgress 方法使用 ResponseUtil 统一响应格式
- 添加 Promise<ApiResponse<any>> 返回类型声明
- 保持原有功能逻辑,优化响应消息提示
- 确保与项目其他接口响应格式一致
2025-09-04 20:19:33 +08:00
imeepos 6622488a74 fix: 修复 taskId 字段映射错误
- 将 taskId 字段映射改为 task_id,匹配实际的数据库字段名
- 解决 'Unknown column execution.taskId' 查询错误
- 确保所有字段映射与数据库表结构一致
2025-09-04 20:15:32 +08:00
imeepos e261cb027d feat: 统一API响应格式规范
- 创建 ResponseUtil 工具类,提供标准化的API响应格式
- 统一所有控制器的响应结构:code、message、data、timestamp、traceId
- 修复 template.controller.ts 响应格式,使用 ResponseUtil.success()
- 修复 app.controller.ts 回调接口,使用标准化错误处理
- 更新 unified-user.controller.ts 使用 ResponseUtil
- 解决 Swagger ApiResponse 类型冲突问题
- 使用 crypto.randomUUID() 生成追踪ID,避免外部依赖
2025-09-04 20:02:16 +08:00
imeepos 0e33292d7a feat: 完善模板执行系统和任务状态管理
- 为 TemplateExecutionEntity 添加 taskId 字段用于任务追踪
- 完善 executeTemplateByCode 接口,保存执行记录到数据库
- 重构 app.controller.ts callback 逻辑,支持任务状态回调更新
- 添加平台认证守卫和用户信息获取
- 新增 AddTaskIdToTemplateExecution migration
- 修复模板类型映射和执行状态管理
- 优化 N8N 模板返回 taskId 而非直接结果
2025-09-04 19:56:02 +08:00
imeepos 42fa667d3c feat: 完善模板系统排序功能和代码格式优化
- N8nTemplateEntity已包含sortOrder排序字段
- 所有模板列表接口均按sortOrder倒序排列
- 修复ESLint代码格式问题
2025-09-04 18:22:49 +08:00
iHeyTang 0bc27df560 chore: 更新Dockerfile和TypeScript配置,优化代码结构
- 将基础镜像版本从Node.js 18 Alpine更新至Node.js 22 Alpine
- 修改生产阶段镜像为Node.js 22 Alpine
- 在tsconfig.json中添加对Node.js类型的支持
- 在wechat.adapter.ts中优化crypto模块的导入方式
2025-09-04 18:16:12 +08:00
imeepos 21a2865e43 feat: 完善API文档系统和Swagger集成
- 集成Swagger文档生成和UI界面
- 为所有API端点添加详细的文档注解
- 添加统一的响应装饰器和DTO类型定义
- 优化API路由结构和全局验证配置
- 新增文档生成和服务脚本命令
2025-09-04 18:11:43 +08:00
imeepos 4dd37c7ce2 fix: 完善数据库实体类型安全性和配置优化
- 为所有枚举字段添加 enumName 属性确保数据库类型安全
- 移除 DB_SYNCHRONIZE 环境变量,统一设为 false 避免生产风险
- 修复 refreshToken 字段类型定义提升兼容性
2025-09-04 17:33:46 +08:00
imeepos 546ccad21a fix: 修复平台适配器依赖注入问题
- 为 WechatAdapter 和 BytedanceAdapter 添加完整的构造函数
- 正确注入 Repository, HttpService, ConfigService, JwtService 依赖
- 修复 UnknownDependenciesException 错误
- 确保适配器可以正常实例化和使用
2025-09-04 17:28:29 +08:00
imeepos b750aede6a feat: 实现跨平台用户身份统一和配置管理优化
- 修改 BaseAdapter.findOrCreateUnifiedUser 方法支持手机号去重
- 实现相同手机号用户在不同平台自动绑定到统一账号
- 优化数据库连接配置支持环境变量
- 修改 N8N 模板系统支持 ConfigService 依赖注入
- 统一 N8N Webhook URL 配置管理
2025-09-04 17:24:32 +08:00
imeepos 14f4c450b5 feat: 完善多平台适配器架构和微信小程序集成功能
- 新增字节跳动和微信平台适配器实现
- 完善平台适配器基础架构和接口定义
- 添加平台用户管理和数据同步功能
- 实现完整的平台模块和控制器
- 更新所有实体类支持多平台数据结构
- 优化模板系统支持平台特定功能
2025-09-04 17:12:03 +08:00
imeepos 3b07e641db refactor: 统一实体类命名规范并完善模板执行进度查询功能
- 统一所有实体类添加Entity后缀保持命名一致性
- 重命名User->UserEntity, PlatformUser->PlatformUserEntity等
- 更新所有实体间关联引用和Repository注入
- 新增模板执行进度查询接口GET /templates/execution/:taskId/progress
- 新增用户执行任务列表查询接口GET /templates/executions/user/:userId
- 完善数据库配置支持环境变量动态配置
- 添加class-validator和class-transformer依赖支持数据验证
2025-09-04 17:05:34 +08:00
imeepos 1a7ef913ef feat: 实现模板管理后台完整CRUD功能和修复MySQL迁移兼容性
- 新增模板CRUD操作:创建、更新、删除、管理后台查询接口
- 创建CreateTemplateDto和UpdateTemplateDto用于数据验证
- 修复所有迁移文件的MySQL语法兼容性问题
- 转换PostgreSQL特有语法为MySQL标准语法
- 添加索引创建的重复检查机制
2025-09-04 16:41:04 +08:00
imeepos de2858012d feat: 实现模板执行记录系统和完整的CRUD API接口
- 新增TemplateExecutionEntity实体替代原有的GenerationTask方式
- 实现模板执行记录的完整生命周期管理,包含状态跟踪和性能指标
- 添加模板管理的完整CRUD操作API(创建、更新、删除、查询)
- 更新数据库迁移文件,包含n8n_templates和template_executions表
- 完善模板工厂服务,支持执行记录管理和统计分析
- 重构DynamicN8nImageTemplate和DynamicN8nVideoTemplate类名
- 添加用户相关实体:User、PlatformUser、ExtensionData、UserCredit等
- 实现完整的数据库表结构和索引优化
2025-09-04 16:29:24 +08:00
imeepos cf6844ad6e refactor: 移除模板迁移API接口,改为migrations阶段处理
- 删除 template-migration.service.ts 文件
- 移除控制器中的迁移相关API接口 (/migrate, /sync, /admin/migration-report)
- 清理文档中的迁移服务相关内容
- 添加 data-source.ts 配置文件用于运行数据库迁移
- 模板迁移功能完全通过数据库migration脚本处理
2025-09-04 15:36:26 +08:00
imeepos f83859b518 feat: 实现数据库配置和模板迁移系统
- 配置MySQL数据库连接和TypeORM集成
- 创建N8nTemplate实体和动态实例实体
- 实现混合架构:代码逻辑+数据库配置
- 添加模板工厂服务和迁移服务
- 创建RESTful API控制器用于模板管理
- 将所有n8nTemplates模板整理为独立migration文件
- 添加完整的数据库迁移指南和使用文档
- 更新app.module.ts集成新服务和配置
2025-09-04 15:20:33 +08:00
imeepos ef90c7c71d fix: 修复CreateN8nTemplatesTable迁移文件类型错误
- 使用TableIndex替代Index类创建数据库索引
- 修复createIndex方法参数类型错误
- 更新dropIndex方法参数格式
- 确保TypeScript类型检查通过
2025-09-04 15:18:55 +08:00