Commit Graph

74 Commits

Author SHA1 Message Date
imeepos a859f0306a fix: 优化支付适配器配置和错误处理机制
- 新增BasePaymentAdapter配置状态管理
  - 添加isConfigured属性跟踪配置状态
  - 支持适配器配置验证机制

- 优化DouyinPaymentAdapter配置处理
  - 配置缺失时警告而非抛异常,允许应用正常启动
  - 在创建订单时检查配置状态并抛出友好错误
  - 提升系统容错性和用户体验
2025-09-26 15:32:19 +08:00
imeepos 573b43f171 fix: 优化应用启动配置和Docker部署设置
- 更新Dockerfile端口配置和启动路径
  - 修改暴露端口从3003改为3000
  - 更新健康检查端口配置
  - 修正应用启动路径为dist/src/main

- 增强应用启动错误处理
  - 添加完整的try-catch错误处理机制
  - 优化启动日志输出和错误信息
  - 确保进程异常退出机制

- 完善健康检查接口类型定义
  - 修复health接口返回类型注解
  - 支持null返回值的类型安全
2025-09-26 15:31:29 +08:00
imeepos 54a1bf141b fix: 优化数据库连接配置和超时设置
- 禁用云函数环境下的自动迁移
- 增加连接超时和重试机制配置
- 优化连接池参数设置
- 提升数据库连接稳定性和性能
2025-09-26 15:29:52 +08:00
imeepos 489756b7a0 feat: 集成Google OAuth认证和完善Stripe支付系统
- 新增Google OAuth 2.0认证模块
  - 实现Google Strategy和AuthController
  - 添加Google平台适配器和用户统一管理
  - 支持OAuth回调和token交换机制

- 完善Stripe支付集成
  - 新增Stripe支付适配器和控制器
  - 实现webhook事件处理和支付确认
  - 支持多币种和国际化支付

- 扩展平台类型支持
  - 在PlatformType中新增GOOGLE和STRIPE
  - 更新适配器工厂注册机制
  - 完善跨平台用户身份管理

- 增强依赖和配置
  - 添加@nestjs/passport和passport-google-oauth20
  - 更新支付方法枚举和货币支持
  - 完善订单号生成和回调URL构建
2025-09-26 15:26:37 +08:00
imeepos cec66085dc feat: 增强支付模块和图片拼接功能,完善异常处理
- 新增 Stripe 支付依赖和支付测试控制器
- 完善抖音支付适配器,支持SHA256-RSA2048签名
- 优化图片拼接API的参数验证和错误处理
- 添加全局异常过滤器提升系统稳定性
- 更新配置文件和API文档
- 完善N8N模板结构
2025-09-26 14:13:48 +08:00
imeepos faaaf00f7f feat: 添加workflow字段到n8n_templates表
- 在N8nTemplateEntity中添加workflow字段
- 创建migration添加workflow列到数据库
- 更新package.json的migration脚本配置
2025-09-25 22:31:28 +08:00
iHeyTang 73ca6723ad feat: 添加图片拼接功能和相关API文档更新
- 在应用中引入ImageCompositionController和ImageCompositionService
- 实现图片拼接功能,支持多种排列方式和输出格式
- 更新Swagger文档,添加图片拼接API描述和示例
- 修改模板执行API描述,简化审核流程说明
2025-09-25 20:42:25 +08:00
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