Commit Graph

166 Commits

Author SHA1 Message Date
imeepos 95f58aa70e feat: add cb url for payment 2025-09-28 12:32:45 +08:00
iHeyTang 637cfc5b95 Merge branch 'master' of https://gitea.bowongai.com/bowong/bw-mini-app 2025-09-28 11:49:42 +08:00
iHeyTang c855cfca82 refactor(i18n): simplify internationalization to support only English
- Removed language switching functionality and related hooks.
- Updated i18n configuration to default to English and support only English.
- Adjusted components to hide language switcher and related features.
- Ensured all language-related functions and formatting are fixed to English.
2025-09-28 11:49:08 +08:00
imeepos 3322bdda7f feat: add payment 2025-09-28 11:34:51 +08:00
iHeyTang 9b4458399d refactor: modularize components and improve image upload handling 2025-09-28 11:33:31 +08:00
iHeyTang 157f055acb feat(i18n): implement internationalization support across the application
- Added a new i18n hook for managing language settings and translations.
- Introduced a LanguageSwitcher component for dynamic language switching.
- Updated existing components and pages to utilize the i18n system for text translations.
- Enhanced app configuration to support runtime language updates for tabBar and navigation titles.
- Added language resources for English, Japanese, Korean, and simplified Chinese.
- Improved loading and error messages to be language-aware.
- Refactored existing code to ensure compatibility with the new i18n structure.
2025-09-28 11:16:43 +08:00
imeepos be24e28fc4 feat: google login 2025-09-28 10:32:59 +08:00
imeepos 733713f42f Merge branch 'master' of ssh://gitea.bowongai.com:222/bowong/bw-mini-app 2025-09-26 23:09:17 +08:00
imeepos 4bf5935b06 fix: 修复模板卡片和页面的类型安全问题
- 修复TemplateCard组件中url字段的可选类型处理
- 修复home页面中模板类型字段名称错误(templateType -> code)
- 修复result页面中任务状态判断逻辑(processing -> running)
- 增强代码类型安全,避免运行时错误
2025-09-26 23:04:32 +08:00
imeepos 595e56378c fix(cors): 修复H5环境下的CORS上传问题
- 在config/dev.ts中添加代理配置,将/api/*请求代理到外部API服务器
- 在bowongAISDK.ts中添加平台检测逻辑,H5环境使用fetch避免CORS
- 新增H5专用的文件上传和图像生成方法
- 保持小程序环境使用原有的Taro.uploadFile方法
- 确保跨平台兼容性,解决XMLHttpRequest凭据模式与通配符CORS头冲突

修复错误:
- Access-Control-Allow-Origin头在凭据模式下不能使用通配符*
- H5环境下uploadFile自动设置withCredentials导致的CORS阻止
2025-09-26 23:03:52 +08:00
imeepos 6c4247c8ea feat(sdk): 根据API文档全面升级sdk-server.ts
- 完整实现Mixvideo Workflow API的所有接口
- 新增模板管理:创建、更新、删除、激活、禁用、同步Stripe等17个接口
- 新增支付处理:Stripe结账、成功/取消回调、退款、支付历史等8个接口
- 新增任务管理:创建任务、获取状态、进度追踪等3个接口
- 新增Google OAuth:登录、令牌刷新、用户信息、撤销等5个接口
- 完善TypeScript类型定义,新增15+个接口类型
- 优化中文注释和文档,添加emoji增强可读性
- 更新默认API基础URL为生产环境
- 改进错误处理和日志输出
- 保持向后兼容性

API支持:
- 模板管理 (Template Controller)
- 支付处理 (Payment Controller)
- 任务管理 (Task Controller)
- OAuth认证 (Auth Controller)
2025-09-26 22:46:47 +08:00
imeepos 142a38d7d1 feat(platforms): refactor platform architecture and update API endpoints
- Refactor app.tsx to use new platform factory authorization system
- Update TemplateCard to use new URL property names (inputExampleUrl, outputExampleUrl)
- Enhance platform factory with authorization support for H5, TT, and WeApp
- Add new platform-specific authorization modules for multi-platform support
- Update SDK server endpoints to match new API structure
- Fix useAd hook factory instantiation timing
- Update API base URL for development environment
2025-09-26 22:28:58 +08:00
iHeyTang 4c5b910f61 feat(friends-photo): add Friends Photo page with image upload and AI generation functionality
- Introduced a new page for generating a combined photo from two uploaded images.
- Implemented image upload logic with audit handling and user feedback.
- Added CSS styles for the new page layout and components.
- Updated app configuration to include the new Friends Photo page in the navigation.
2025-09-26 16:44:22 +08:00
iHeyTang 9d890478d8 feat(config): enhance development configuration and update platform support
- Added `devServer` configuration for H5 platform to allow file system access.
- Updated platform type to include 'h5' in the factory.
- Adjusted icon paths in app configuration for consistency.
- Cleaned up code formatting and removed deprecated Redux store documentation.
2025-09-26 15:07:00 +08:00
iHeyTang bc33c158bb Merge branch 'master' of https://gitea.bowongai.com/bowong/bw-mini-app 2025-09-25 20:46:30 +08:00
iHeyTang 33b08433b5 feat(home): add Canvas import and update image upload logic for template selection 2025-09-25 20:46:13 +08:00
菜菜酱 a869ea0827 style: 生成成功的icon 2025-09-15 10:33:52 +08:00
iHeyTang 884d7410c8 style: update CSS and TSX for TemplateCard and history components 2025-09-12 19:17:55 +08:00
iHeyTang 89b6ff3fec fix(result): 更新成功组件中的错误提示处理
- 增加对错误信息的处理,确保在下载失败时能够准确反馈具体错误
- 提升用户体验,通过更清晰的错误提示帮助用户理解问题
2025-09-12 19:00:44 +08:00
菜菜酱 a53faecc29 style: css 2025-09-12 18:37:33 +08:00
菜菜酱 412ac92297 style: css 2025-09-12 18:29:38 +08:00
菜菜酱 44a382a551 style: generate css 2025-09-12 18:25:39 +08:00
菜菜酱 e6f83fa1ca style: css 2025-09-12 16:11:39 +08:00
菜菜酱 170dc6e244 style: css 2025-09-12 14:19:30 +08:00
菜菜酱 a1d286f08b style: css 2025-09-12 13:56:53 +08:00
菜菜酱 2f92304257 style(home): css 2025-09-12 11:49:51 +08:00
iHeyTang 74b2a6ee94 fix(result): 更新成功组件中的提示文字
- 将提示文字“免费保存”修改为“免费保存到相册”,提升用户理解
- 确保信息传达的准确性,增强用户体验
2025-09-11 15:25:58 +08:00
iHeyTang 64df42678f refactor: 移除下载部分组件及样式,优化项目结构
- 删除DownloadSection组件及其相关CSS,简化代码结构
- 在历史页面中添加生成中任务的进度计算和显示功能
- 更新历史页面样式,增强用户体验和视觉效果
- 添加缩略图毛玻璃蒙版和进度指示器,提升信息传达的清晰度
2025-09-11 15:24:35 +08:00
iHeyTang e0b0c6e533 style(result): 添加下载提示文字和更新样式
- 在结果页面添加下载提示文字,提供用户反馈
- 更新CSS样式,移除冗余z-index,优化视觉效果
- 增强用户体验,提升信息传达的清晰度
2025-09-11 14:56:02 +08:00
iHeyTang ad5735b6a5 refactor(generate): 移除生成页面及相关资源,优化项目结构
- 删除生成页面的配置、样式和逻辑文件,简化项目结构
- 更新历史和首页逻辑,调整跳转至结果页面的参数
- 增强结果页面的任务轮询逻辑,提升用户体验
- 添加生成中和错误状态的组件,优化代码可读性
2025-09-11 14:43:35 +08:00
iHeyTang 60dfe3465a style(result): 更新结果页面样式和配置
- 修改导航栏标题为“预览”,提升用户体验
- 优化CSS结构,移除冗余样式,增强页面布局
- 添加毛玻璃背景效果,提升视觉效果
- 简化组件结构,提升代码可读性
2025-09-11 13:40:29 +08:00
iHeyTang 1422eef000 style(history): 重新设计历史页面样式,优化布局和视觉效果
- 移除多余的样式规则,简化CSS结构
- 调整历史项的边距、内边距和圆角,提升视觉一致性
- 更新字体大小和颜色,增强可读性
- 删除不再使用的状态文本和颜色函数,精简代码
2025-09-11 12:56:42 +08:00
iHeyTang a38a0847eb refactor: 更新配置文件和图标资源
- 精简prod.ts配置,移除不必要的注释和代码
- 更新app.config.ts中的tabBar样式和图标路径
- 删除不再使用的图标文件,优化项目资源结构
2025-09-11 12:47:31 +08:00
iHeyTang b3c7c09e13 style: 统一样式单位为px,优化代码格式和可读性
- 将CSS样式中的rpx单位替换为px,提升样式一致性
- 在TypeScript文件中添加缺失的分号,优化代码可读性
- 删除不再使用的组件及其样式,简化项目结构
- 更新生成页面和结果页面的样式,提升用户体验
2025-09-10 20:12:50 +08:00
iHeyTang 09aa9d6192 style(history): 统一样式单位为px,优化代码格式
- 将CSS样式中的rpx单位替换为px,提升样式一致性
- 在TypeScript文件中添加缺失的分号,优化代码可读性
- 简化代码结构,移除多余的注释和空行
2025-09-10 19:44:03 +08:00
iHeyTang dbcbcc07a4 refactor: 移除不再使用的首页和图片审核演示组件
- 删除首页相关的配置、样式和逻辑文件,简化项目结构
- 移除图片审核演示组件及其样式,减少冗余代码
- 更新app.config.ts,移除原有首页的引用
2025-09-10 19:39:07 +08:00
iHeyTang 74efd4b91e style(home): 统一样式单位为px,优化代码格式
- 将CSS样式中的rpx单位替换为px,提升样式一致性
- 在TypeScript文件中添加缺失的分号,优化代码可读性
- 移除多余的注释和空行,简化代码结构
2025-09-10 19:36:01 +08:00
iHeyTang 49ec32e2ac fix: 添加ai生成水印 2025-09-10 15:48:41 +08:00
imeepos 9e39ca842c feat: 添加图片生视频功能
- 在结果页面添加图片生视频按钮,仅在图片结果时显示
- 集成serverSdk调用executeTemplate接口生成视频
- 实现加载状态和错误处理机制
- 生成成功后跳转到生成页面查看进度
- 扩展DownloadSection组件支持新功能
2025-09-09 17:47:19 +08:00
imeepos be157d0bcb refactor: 优化用户体验和代码清理
- 简化生成页面流程,成功后直接跳转到结果页
- 优化首页加载状态和错误处理逻辑
- 移除结果页面多余的调试日志
- 提升整体用户体验流畅度
2025-09-09 17:38:02 +08:00
imeepos dd97b8b439 fix: 更新相册权限配置为scope.album
- 将权限配置从scope.writePhotosAlbum更改为scope.album
- 统一权限声明,与权限检查逻辑保持一致
- 提升跨平台权限兼容性
2025-09-09 14:54:34 +08:00
imeepos ad8aea7bdb feat: 完善广告系统和文件保存功能
- 广告系统优化:
  - 添加广告预加载机制,解决"广告尚未加载完成"错误
  - 实现广告播放后自动重新加载下一个广告
  - 优化广告加载状态跟踪和错误处理

- 文件保存功能增强:
  - 支持图片和视频文件类型自动识别和保存
  - 从URL中智能提取文件名和扩展名
  - 添加详细的错误分析和用户友好提示
  - 优化文件下载流程,增加进度提示

- 权限管理完善:
  - 添加隐私权限配置(privacy.json)
  - 在app.config.ts中声明相册权限用途
  - 支持多平台权限兼容性检查

- UI/UX优化:
  - 简化下载按钮状态逻辑
  - 优化广告观看后的用户体验流程
  - 改进错误提示信息的准确性

- 代码质量提升:
  - 移除未使用的状态变量和函数
  - 优化组件Props接口定义
  - 增强日志记录用于问题诊断
2025-09-09 14:46:12 +08:00
imeepos d6fba57afc style: 移除app.css中的Tailwind CSS导入
- 移除@tailwind base、components、utilities导入语句
- 保持基础应用样式配置
2025-09-09 12:10:16 +08:00
imeepos c845ad2102 fix: 优化广告平台适配和下载流程
- 新增平台检测:仅ByteDance平台支持广告功能
- 修复非广告平台用户体验:跳过广告直接下载,避免重复提示
- 优化useAd钩子:非支持平台直接触发奖励回调
- 改进handleDownloadImages:增加skipAdCheck参数绕过广告状态检查
- 提升用户体验:简化提示文案,调整交互延时
2025-09-09 12:09:44 +08:00
imeepos be71df2ecd refactor: 优化平台适配器命名规范和登录逻辑
- 将平台标识符从简写改为语义化名称(tt->bytedance, weapp->wechat)
- 登录接口动态获取平台类型,提升代码可维护性
- 优化代码格式,统一条件判断样式
2025-09-09 10:20:35 +08:00
imeepos f7073fb4f7 refactor: 优化用户体验,移除冗余提示和日志输出 2025-09-08 16:53:28 +08:00
imeepos d91274a6dd fix: 优化首页审核功能的类型安全和错误处理
**类型安全优化**:
- 为 handleAuditFailure 函数添加完整的 Record<AuditConclusion, string> 类型
- 添加 AuditConclusion.PASS 枚举项以保持类型完整性
- 使用可选链操作符安全访问 auditResult.conclusion

**错误处理优化**:
- 改进 loadingState 类型检查,使用 typeof 确保类型安全
- 优化错误信息的条件判断逻辑

**文档更新**:
- 添加 hooks 和 sdk 相关的 prompt.md 文档文件
2025-09-08 16:22:45 +08:00
imeepos 2495f40eea feat: 集成图片审核功能到首页业务流程
**核心功能**:
- 在首页模板点击流程中集成图片内容审核
- 只有审核通过的图片才能进入业务处理环节
- 审核不通过时显示详细的错误信息和建议

**用户体验优化**:
- 添加详细的进度状态提示:上传中 → 审核中 → 审核通过 → 处理中
- 不同阶段的 loading 文案和错误处理
- 防重复点击机制,确保流程的稳定性

**技术实现**:
- 使用 LoadingState 类型管理详细的加载状态
- 集成 useImageDetectionTaskManager hook 处理审核逻辑
- Promise 封装审核流程,便于错误处理和状态管理
- 审核结果缓存机制,提升性能

**错误处理**:
- 上传失败、审核失败、业务处理失败的分类错误提示
- 审核不通过时的详细原因说明(违规/复审/不确定)
- 统一的错误边界处理机制

**修复内容**:
- 修复演示页面的 TypeScript 类型错误
- 修复审核结果缓存 key 不匹配问题
- 优化审核结果传递逻辑
2025-09-08 16:08:29 +08:00
imeepos 075854099e feat: 新增 ImageAudit 组件及演示页面
- 添加 ImageAudit 图片审核组件,支持图片上传和内容安全审核
- 集成 useImageDetectionTaskManager hook 处理审核任务管理
- 新增 imageaudit-demo 演示页面展示组件功能
- 添加图片上传工具 imageUploader
- 支持审核进度跟踪、结果显示和历史记录
- 优化用户交互体验,包括上传进度、错误处理等
2025-09-08 13:50:59 +08:00
iHeyTang 6e3390a595 fix: 修复历史记录中图片显示逻辑,移除不必要的提示信息 2025-09-05 00:48:04 +08:00
iHeyTang b98e706fa9 fix: 更新错误提示信息以改善用户体验 2025-09-05 00:45:17 +08:00
iHeyTang 2dec37614a Merge branch 'master' of https://gitea.bowongai.com/bowong/bw-mini-app 2025-09-04 23:22:19 +08:00
iHeyTang e8dfa3a440 feat: 增加广告观看功能,优化下载按钮和提示文本 2025-09-04 23:21:55 +08:00
imeepos 39b81bf0bb fix: 修改历史记录bug 2025-09-04 23:20:01 +08:00
imeepos 870991d81d fix: 修复样式问题 2025-09-04 22:38:24 +08:00
imeepos a11932e2bd fix: 修复loading页结果渲染错误 2025-09-04 22:31:39 +08:00
imeepos c4ae8f2806 fix: loading页面支持图片和视频展示 2025-09-04 22:25:50 +08:00
imeepos b4edf70e8f fix: 查看记录改为黑色字体 2025-09-04 22:23:15 +08:00
imeepos 8f0e1f1104 fix: 修复log日志重复加载 2025-09-04 22:22:19 +08:00
imeepos cf13707c3c fix: 修复样式问题 2025-09-04 22:20:30 +08:00
imeepos 374d909667 fix: 修复历史记录问题 2025-09-04 22:16:48 +08:00
imeepos 8326d4c6f3 fix: 修复图片bug 2025-09-04 21:44:50 +08:00
imeepos 9055f9e62e fix: 尝试修复视频黑边 2025-09-04 21:42:54 +08:00
imeepos 9465a71f17 fix: 修复图片bug 2025-09-04 21:34:19 +08:00
imeepos 95d0776075 fix: 修复history对接后端接口 2025-09-04 21:32:50 +08:00
imeepos 72a8fb6e14 fix: 首页任务改为异步调用 2025-09-04 20:49:05 +08:00
imeepos 482318e7c3 fix: 修改图标颜色 2025-09-04 20:26:08 +08:00
imeepos c198b542a6 fix: 修复home页面代码规范问题
- 修复bounces属性的布尔值写法
2025-09-04 14:54:55 +08:00
imeepos bdb0fec184 feat: 完善视频模板支持和界面优化
- 优化TemplateCard组件,支持视频模板显示
- 添加视频检测逻辑,自动识别视频文件格式
- 完善结果页面的视频播放支持
- 清理无用的测试代码和导入
- 优化界面样式和用户体验
2025-09-04 14:54:43 +08:00
imeepos 258bcb9a2a fix: 修复授权被拒绝后的重新授权逻辑
- 添加授权错误检测机制,识别各种授权相关错误
- 实现友好的重新授权流程,引导用户到设置页面开启权限
- 添加自动重试机制,授权成功后自动重新选择图片
- 优化用户体验,避免授权被拒绝时直接报错
2025-09-04 14:51:32 +08:00
imeepos 0e9e3c9247 fix: 移除点击模板时不必要的loading状态
- 移除点击模板时立即显示的"选择图片中..."loading提示
- 保留选择图片后上传时的loading状态
- 优化用户体验,避免不必要的loading显示
2025-09-04 14:37:17 +08:00
杨明明 03d1d67265 feat: 优化历史记录页面显示和布局
- 添加真实图片缩略图显示功能:
  - 已完成状态显示实际结果图片缩略图
  - 不同状态使用对应的占位符和颜色
  - 支持单图片和多图片数组格式处理
- 修复布局对齐问题:
  - 重新组织状态指示器和操作提示的位置
  - 确保状态标签始终靠右对齐
  - 优化加载指示器和操作提示的布局
- 改进时间格式显示:
  - 统一使用YYYY-MM-DD HH:mm:ss格式
  - 提供完整的日期时间信息
- 增强交互体验:
  - 添加图片缩放动画效果
  - 优化不同状态的视觉反馈
2025-09-03 21:29:06 +08:00
杨明明 27a196d763 Merge branch 'master' of ssh://gitea.bowongai.com:222/bowong/bw-mini-app 2025-09-03 21:16:55 +08:00
杨明明 0ebe5f9cc2 fix: 修复历史记录页面参数传递和清理未使用代码
- 统一结果页面参数格式,使用images参数传递图片数组
- 移除未使用的clearHistory函数,简化代码结构
- 保持与其他页面的参数传递格式一致
2025-09-03 21:16:02 +08:00
imeepos 0212b29cf6 feat: 更换图标 2025-09-03 21:14:33 +08:00
杨明明 ed15d2d44b feat: 美化历史记录页面并统一设计风格
- 美化历史记录页面UI设计:
  - 添加现代化的卡片设计和动画效果
  - 优化状态指示器和交互反馈
  - 增加下拉刷新和点击查看功能
  - 改进空状态和加载状态显示
- 统一页面背景风格:
  - 历史记录页面背景与首页保持一致
  - 调整颜色主题为统一的蓝色系
  - 优化文字对比度和可读性
- 修复结果页面参数传递格式
- 优化布局和响应式设计
2025-09-03 21:09:12 +08:00
杨明明 c5fcab683f feat: 修复字体大小问题并添加历史记录功能
- 将所有页面和组件的px单位改为rpx,确保跨设备适配
- 修复首页右侧padding超出屏幕的问题
- 在模板执行流程中添加历史记录功能:
  - 开始处理时创建generating状态记录
  - 处理成功时更新为completed状态并保存结果
  - 处理失败时更新为failed状态并记录错误信息
- 优化布局间距和字体大小,提升用户体验
2025-09-03 20:53:29 +08:00
杨明明 4c0d69e1b2 feat: 修复首页滚动卡顿并添加下拉刷新功能
滚动性能优化:
- 使用ScrollView组件替代普通View,提供原生滚动性能
- 启用硬件加速:transform: translateZ(0)和will-change属性
- 优化CSS动画:减少clip-path动画频率,简化transition效果
- 图片渲染优化:image-rendering: optimizeSpeed和backface-visibility

 下拉刷新功能:
- 集成ScrollView原生下拉刷新能力
- 添加refresherEnabled、refresherTriggered等配置
- 实现handleRefresh异步刷新逻辑
- 完善错误处理和用户反馈

 性能提升措施:
- 移除不必要的transition动画减少重绘
- 使用requestAnimationFrame节流触摸事件
- 启用contain: layout style paint优化渲染
- 简化active状态效果,使用opacity替代transform

 用户体验改进:
- 流畅的原生滚动体验,消除卡顿现象
- 直观的下拉刷新操作,符合用户习惯
- 完整的加载状态和错误提示
- 自动数据同步和状态管理

 技术实现:
- ScrollView enhanced模式启用增强特性
- enablePassive被动事件监听提升性能
- refresherBackground和refresherDefaultStyle视觉定制
- 异步错误处理和Toast提示集成

解决问题:首页滚动时的卡顿现象,提升用户交互体验
2025-09-03 20:39:18 +08:00
杨明明 77afadbe36 fix: 优化模板处理请求,增强调试信息和错误处理
请求优化:
- 添加User-Agent标识小程序请求来源
- 设置dataType和responseType确保数据格式正确
- 增强executeTemplate方法的日志记录

 错误排查:
- 添加详细的请求参数和响应日志
- 记录完整的错误信息便于调试
- 针对function_proxy_error提供友好提示

 调试增强:
- 输出请求URL、参数、响应等完整信息
- 区分不同类型的网络错误
- 便于定位小程序与API Fox行为差异

 问题定位:
- 解决小程序请求与API工具差异问题
- 针对EOF错误和function_proxy_error优化
- 提升模板处理成功率
2025-09-03 20:24:49 +08:00
杨明明 3c17fb7015 fix: 修复HTTP/2流提前终止错误,增强网络请求稳定性
网络请求优化:
- 禁用HTTP/2协议,强制使用HTTP/1.1避免兼容性问题
- 优化请求头配置,添加Connection: keep-alive
- 禁用缓存,确保请求实时性

 重试机制:
- 添加智能重试机制,最多重试3次
- 递增延迟策略:1s、2s、3s
- 自动识别网络错误类型进行重试

 错误处理增强:
- 智能检测HTTP/2流终止、超时、网络错误
- 详细的错误日志记录,便于调试
- 友好的错误消息提示用户

 请求优化:
- GET请求使用URL参数而非body
- POST请求正确设置data字段
- 添加详细的请求和响应日志

 稳定性提升:
- 自动处理网络不稳定情况
- 减少因临时网络问题导致的失败
- 提升用户体验,减少重复操作

 调试改进:
- 完整的请求生命周期日志
- 包含重试次数和错误详情
- 便于定位和解决网络问题

解决错误:request:fail The HTTP/2 stream has been early terminated
2025-09-03 20:14:59 +08:00
杨明明 24098c4c7a refactor: 简化模板处理逻辑和错误处理
SDK接口优化:
- executeTemplate直接返回string|null,简化返回类型
- 移除ExecuteTemplateResult包装,直接抛出异常
- 统一错误处理机制,使用try-catch模式

 代码逻辑简化:
- 简化模板处理结果判断逻辑
- 移除success字段检查,直接使用结果
- 优化异常处理,统一使用Error类型

 页面跳转优化:
- 简化结果页面URL参数
- 直接传递处理结果URL
- 移除冗余的参数传递

 代码质量提升:
- 统一代码格式(箭头函数空格)
- 简化条件判断逻辑
- 减少嵌套层级,提高可读性

 错误处理改进:
- 使用标准的try-catch异常处理
- 统一错误消息格式
- 简化错误状态管理
2025-09-03 20:04:47 +08:00
杨明明 bf67547eeb feat: 添加模板处理完整流程,包含loading状态和结果页面
模板处理流程:
- 点击模板卡片触发选择图片并上传
- 调用模板服务处理图片
- 处理完成后跳转到结果页面展示对比效果

 用户体验优化:
- 添加loading状态提示:选择图片、上传进度、处理中
- 防止重复点击,避免多次触发处理
- 完整的错误处理和用户提示
- 上传进度实时显示

 结果页面增强:
- 支持原图与效果图对比显示
- 显示模板名称和处理状态
- 保持原有多图片显示兼容性
- 优化对比布局和视觉效果

 SDK功能扩展:
- 新增chooseAndUploadImage接口,纯粹的选择并上传功能
- 支持上传进度回调和图片选择完成回调
- 完善错误处理和日志记录

 架构改进:
- 从服务端动态加载模板列表
- 使用真实的模板服务API
- 移除硬编码的模板配置
- 简化首页布局,专注模板展示

 交互流程:
1. 用户点击模板卡片
2. 选择图片(相册/拍照)
3. 上传图片到服务器
4. 调用模板服务处理
5. 跳转结果页面展示对比效果
6. 支持保存图片到相册

 技术实现:
- 使用Taro.showLoading显示处理状态
- URL参数传递结果数据
- 响应式对比布局设计
- 完整的异常处理机制
2025-09-03 19:47:49 +08:00
杨明明 38fbd12921 fix: 优化TemplateCard布局结构,修复图片高度并调整元素层次
布局结构优化:
- 标题移至卡片顶部,不占用图片空间
- 积分徽章和标签移入图片容器内,作为悬浮元素
- 简介保持在卡片底部,图片下方
- 消除元素间的空间占用冲突

 图片区域修复:
- 增加图片容器最小高度:min-height: 240px
- 确保所有图片层填满容器:width/height: 100%
- 图片对比区域使用flex: 1占据剩余空间
- 移除图片区域内边距,图片完全填充

 悬浮元素定位:
- 积分徽章:绝对定位在图片右上角 (top: 12px, right: 12px)
- 标签区域:绝对定位在图片底部 (bottom: 12px)
- 使用z-index: 4确保悬浮元素在最顶层
- 保持毛玻璃效果和半透明背景

 层次结构清晰:
template-card
 template-header (标题)
 image-comparison (图片区域)
    merged-image-container
        图片层 (原图+效果图)
        分割线
        积分徽章 (悬浮)
        标签区域 (悬浮)
 template-footer (简介)

 修复效果:
- 图片区域现在占据更多空间,视觉效果更好
- 悬浮元素不影响图片显示区域
- 布局层次清晰,信息展示合理
- 保持拖拽分割线功能完整性
2025-09-03 19:22:27 +08:00
杨明明 691b174287 fix: 修复积分徽章上方空白问题
� 问题修复:
- 减少积分徽章上边距:top: 20px → 12px
- 优化内边距:padding: 4px 8px → 3px 6px
- 调整圆角大小:border-radius: 12px → 10px

� 布局优化:
- 添加flexbox布局:display: flex, align-items: center, justify-content: center
- 设置最小高度:min-height: 18px,确保徽章有合适高度
- 重置行高:line-height: 1,消除默认行高空白

� 文字样式:
- 重置文字外边距和内边距:margin: 0, padding: 0
- 设置行高为1,消除文字上下空白
- 使用block显示确保文字正确渲染

 修复效果:
- 积分徽章紧贴图片右上角,无多余空白
- 文字在徽章中完美居中显示
- 整体视觉更加紧凑和专业
2025-09-03 19:15:50 +08:00
杨明明 810abaa0b1 feat: 美化home页面布局,突出图片展示并优化文字布局
� 布局重构:
- 标题移至图片上方,突出模板名称
- 积分徽章悬浮在图片右上角,不占用布局空间
- 标签悬浮在图片底部,使用半透明黑色背景
- 简介移至图片下方,保持简洁描述

� 视觉优化:
- 增加图片区域占比,提升视觉冲击力
- 移除图片区域内边距,图片完全填充
- 优化卡片圆角和阴影效果
- 标签和积分使用毛玻璃效果增强层次感

� 样式改进:
- 积分徽章:橙色背景,右上角悬浮,带阴影
- 标签徽章:半透明黑色,底部悬浮,支持多标签
- 标题区域:白色背景,字体加粗突出
- 简介区域:限制2行显示,超出省略

 用户体验提升:
- 图片成为视觉焦点,占据主要空间
- 悬浮元素不影响布局流,信息层次清晰
- 保持拖拽分割线功能完整性
- 响应式设计适配不同屏幕尺寸
2025-09-03 18:57:42 +08:00
杨明明 0ce0f32aea feat: 更新SDK Server匹配后端NestJS控制器的ApiResponse格式
� 后端API适配:
- 更新ApiResponse接口匹配后端标准响应格式
- 重构ExecuteTemplateResult为简化的结果格式
- 优化HTTP请求处理,自动检查status字段

� 核心更新:
- getAllTemplates(): 返回Template[]数组
- getTemplate(): 处理Template|null响应
- executeTemplate(): 包装字符串结果为结构化对象
- 增强错误处理,基于后端msg字段提供错误信息

� 接口变更:
- ExecuteTemplateResult: {result: string|null, success: boolean, message: string}
- 请求失败时自动抛出包含后端msg的错误
- 成功时返回data字段的实际内容

� 文档和示例更新:
- 更新README.md中的接口说明和使用示例
- 修复sdk-server-example.ts中的示例代码
- 添加ApiResponse格式说明

 完美匹配后端NestJS控制器的响应格式,可无缝对接!
2025-09-03 18:32:26 +08:00
杨明明 f37a1e7b81 fix: 修复多个TemplateCard拖拽逻辑冲突问题
问题分析:
- 每个TemplateCard都使用相同的CSS选择器
- Taro选择器总是选择页面中第一个匹配元素
- 导致第二个及后续卡片获取到错误的容器信息
- 造成拖拽计算错误,出现不连续的滑动效果

解决方案:
- 为每个TemplateCard容器添加唯一ID
- 使用ID选择器替代class选择器
- 确保每个卡片获取到正确的容器边界信息
- 保证拖拽计算基于正确的容器尺寸和位置

修复效果:
- 所有卡片的拖拽逻辑互不干扰
- 分割线移动精确响应触摸位置
- 解决多实例组件选择器冲突问题
2025-09-03 18:10:20 +08:00
杨明明 ccdacf2fb4 feat: 重新实现图片对比效果,使用clip-path实现真正的before/after对比
� 核心改进:
- 使用图片层叠 + CSS clip-path 实现真正的图片对比效果
- 底层显示完整原图,顶层显示完整效果图并通过clip-path裁剪
- 拖拽时只改变裁剪边界,图片尺寸始终保持不变
- 左半部分显示原图,右半部分显示效果图,完美拼接

� 技术实现:
- 使用两个image-layer层叠显示两张完整图片
- 通过clip-path: polygon()动态控制效果图的显示区域
- splitPosition控制分割线位置和裁剪边界
- 图片使用aspectFill模式确保完整填充

� 实现原理:
- 原图层:完整显示在底层
- 效果图层:完整显示但通过clip-path裁剪右半部分
- 拖拽时:只更新clip-path的polygon坐标
- 结果:左边看到原图,右边看到效果图,无缝拼接

 用户体验:
- 图片尺寸固定,永不缩放变形
- 真正的before/after对比效果
- 流畅的拖拽交互体验
- 专业级图像编辑软件的对比效果

这个实现完全符合需求:无论如何拖拽,图片大小不变,左右两半完美拼接成一张完整的对比图!
2025-09-03 18:06:37 +08:00
杨明明 a946420240 fix: 移除动态标签并修复图片显示问题
� UI优化:
- 移除动态标签组件,简化界面设计
- 删除image-labels相关的JSX结构和CSS样式
- 移除label-left、label-right等标签样式定义
- 提供更简洁的图片对比体验

�️ 图片显示修复:
- 修复容器高度设置,使用固定height: 180px替代min/max-height
- 恢复object-fit: cover确保图片正确填充容器
- 修复图片无法显示的问题
- 确保aspectFit模式下图片正常渲染

� 样式优化:
- 简化image-wrapper布局,保持flexbox居中
- 移除不必要的标签相关CSS代码
- 优化容器尺寸控制,确保图片稳定显示
- 保持拖拽功能的完整性

 预期效果:
- 图片正常显示,无变形
- 界面更简洁,无多余标签
- 拖拽分割线功能正常
- 左右对比效果清晰直观
2025-09-03 17:57:16 +08:00
杨明明 be582a668a fix: 修复图片变形问题并优化瀑布流布局
� 图片显示修复:
- 改用mode='aspectFit'替代aspectFill,保持图片完整比例
- 设置height: auto让图片高度自适应,避免变形
- 限制宽度但不限制高度,确保图片不被拉伸
- 使用flexbox居中对齐图片显示

� 瀑布流布局优化:
- 简化CSS布局,使用标准grid布局替代复杂的flex+grid混合方案
- 移除不必要的max-height和flex-wrap属性
- 删除TemplateCard的margin-bottom,使用grid gap统一间距
- 确保小程序环境下的兼容性和稳定性

� 样式细节调整:
- 容器使用min-height和max-height控制高度范围
- 添加line-clamp标准属性提升CSS兼容性
- 优化响应式断点,确保不同屏幕尺寸下的良好显示
- 保持卡片圆角和阴影效果

 预期效果:
- 图片不再变形,保持原始宽高比
- 瀑布流布局正确显示为2列网格
- 拖拽功能正常,图片尺寸稳定
- 在微信小程序中完美兼容
2025-09-03 17:53:47 +08:00
杨明明 f4588a563e fix: 修复拖拽时图片缩放变形问题,保证图片尺寸不变形
� 问题修复:
- 解决拖拽分割线时图片会缩放变形的问题
- 确保图片始终保持原始比例,不会因容器宽度变化而变形
- 只改变图片的显示区域,而非图片本身的尺寸

� 技术实现:
- 使用CSS背景图片替代Image组件
- 通过backgroundSize动态计算保持图片原始比例
- 左侧:backgroundPosition: 'left center' 显示图片左侧部分
- 右侧:backgroundPosition: 'right center' 显示图片右侧部分
- 动态调整backgroundSize确保图片不变形

� 实现原理:
- 左半部分:backgroundSize = (100 / splitPosition) * 100%
- 右半部分:backgroundSize = (100 / (100 - splitPosition)) * 100%
- 通过数学计算确保图片在任何分割比例下都保持原始尺寸

 效果验证:
- 拖拽时图片不再缩放变形
- 保持图片原始宽高比
- 只显示对应区域的图片内容
- 提供更真实的before/after对比效果
2025-09-03 17:49:32 +08:00
杨明明 3647b40631 fix: 修复Taro环境下拖拽功能的getBoundingClientRect错误
� 问题修复:
- 替换getBoundingClientRect()为Taro.createSelectorQuery()
- 使用Taro官方推荐的boundingClientRect()方法获取元素位置
- 解决小程序环境下DOM API不可用的问题

� 技术改进:
- 异步获取容器位置信息并缓存
- 在触摸开始时预先获取容器数据
- 保持拖拽过程中的流畅性和响应性
- 完全兼容微信小程序环境

 功能验证:
- 项目成功构建,无编译错误
- 保持所有原有拖拽功能特性
- 维持10%-90%拖拽范围限制
- 确保触摸事件正常响应

现在可以在微信开发者工具中正常使用拖拽分割线功能
2025-09-03 17:47:15 +08:00
杨明明 a0efbc2cbd feat: 实现可拖拽分割线功能,支持动态调整对比比例
� 核心功能:
- 添加可拖拽分割线,用户可左右拖动调整原图和效果图显示比例
- 初始50/50比例,支持10%-90%范围内自由调整
- 实时响应拖拽操作,提供流畅交互体验

� 交互优化:
- 增大拖拽区域(4px宽度)便于操作
- 拖拽时手柄放大并增强阴影效果
- 使用touch-action: none防止页面滚动干扰
- 延迟重置拖拽状态避免误触发卡片点击

� 动态效果:
- 左右区域宽度随拖拽实时调整
- 标签宽度动态跟随区域变化
- 平滑过渡动画(0.1s ease-out)
- 分割线位置流畅跟随手指移动

� 技术实现:
- React useState管理分割线位置状态
- getBoundingClientRect()获取精确容器位置
- 动态计算触摸点位置并转换为百分比
- CSS动态样式与React状态完美结合
- 触摸事件阻止冒泡避免干扰其他交互

� 更新设计文档,添加交互使用说明
2025-09-03 17:41:35 +08:00
杨明明 e683bcdcb9 feat: 实现图片合成对比效果,左半部分显示原图左半,右半部分显示效果图右半
- 重新设计图片对比逻辑,实现真正的图片合成对比效果
- 左半部分显示原图的左半部分,右半部分显示效果图的右半部分
- 使用CSS transform实现图片的精确裁剪和定位
- 左图不偏移显示左半部分,右图向左偏移50%显示右半部分
- 优化标签布局,左右标签分别覆盖对应区域底部
- 保持中央分割线和交互手柄的视觉引导效果
- 实现真正的before/after对比效果,用户可直观看到处理差异
2025-09-03 17:34:54 +08:00
杨明明 e37e7334cd feat: 实现左右对比效果,原图和效果图各占一半
- 重新设计图片对比区域,实现左右分屏布局
- 原图展示在左半边,效果图展示在右半边,各占50%宽度
- 添加中央分割线和圆形交互手柄,带有左右箭头图标
- 标签位置调整到图片底部中央,使用毛玻璃效果
- 统一图片高度180px,确保视觉平衡和完美对比
- 保持圆角设计和阴影效果,提升视觉体验
- 更新设计预览文档,记录左右对比的实现细节
2025-09-03 17:30:32 +08:00
杨明明 68dc675e84 feat: 美化home页面,实现瀑布流布局展示模板对比效果
- 重新设计TemplateCard组件,突出展示input原图和output效果图的对比
- 实现瀑布流布局,每行2列,充分利用屏幕空间
- 添加渐变色标题和现代化的卡片设计
- 使用CSS Grid实现响应式布局,兼容小程序环境
- 原图和效果图都有清晰的标签标识(蓝色原图,绿色效果)
- 添加箭头指示转换过程,使用渐变背景和阴影效果
- 扩展模板数据,添加6个不同的AI处理功能
- 包含标签系统和积分成本信息展示
- 添加设计预览文档
2025-09-03 17:20:55 +08:00
imeepos 4709666814 feat: 修改Template结构与后端保持一致 2025-09-03 16:59:58 +08:00
杨明明 14205a9021 feat: 配置 TailwindCSS 并迁移到 Redux
- 配置 TailwindCSS 支持小程序开发
  - 安装 tailwindcss, postcss, autoprefixer
  - 安装 weapp-tailwindcss 插件支持小程序
  - 配置 tailwind.config.js 和 postcss.config.js
  - 更新 Taro 配置支持 TailwindCSS

- 从 Zustand 迁移到 Redux Toolkit
  - 移除 zustand 依赖
  - 安装 redux, react-redux, redux-thunk, @reduxjs/toolkit
  - 重构状态管理架构:
    - src/constants/ - Action 类型常量
    - src/actions/ - Action creators 和异步 actions
    - src/reducers/ - Reducers
    - src/selectors/ - 状态选择器
    - src/hooks/redux.ts - 类型化 hooks
  - 更新组件使用新的 Redux API
  - 保持数据持久化功能

- 更新应用配置
  - 将 app.ts 重命名为 app.tsx 支持 JSX
  - 添加 Redux Provider 到应用根组件
  - 更新 TODO.md 标记完成状态

- 构建验证通过,所有功能正常
2025-09-03 16:33:06 +08:00
imeepos c8480308e0 feat: 添加图标 2025-09-03 15:57:27 +08:00
imeepos 353e0ee6dc feat: 添加跨平台媒体下载功能
- 新增Media抽象类定义文件下载接口
- 在工厂类中添加createMedia方法
- 实现MediaTT类支持字节跳动小程序文件下载
- 实现MediaWeApp类支持微信小程序文件下载
- 统一代码格式,修复空格和缩进问题
2025-09-02 18:26:48 +08:00