Commit Graph

18 Commits

Author SHA1 Message Date
imeepos 5e4f9b1292 fix: 兼容性问题 2025-11-12 14:54:29 +08:00
imeepos 67f3c0b70e fix: 修复 Android 闪退问题 - SecureStore 异步调用
问题:
- NativeStorage 使用了同步方法调用 expo-secure-store
- expo-secure-store 的正确 API 是异步的(getItemAsync/setItemAsync/deleteItemAsync)
- 在 Android 上同步调用不存在的方法导致应用崩溃

修复:
- 将 Storage 接口改为异步方法
- 使用 SecureStore.getItemAsync/setItemAsync/deleteItemAsync
- removeItem 使用 deleteItemAsync 而不是设置空字符串

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 14:44:42 +08:00
imeepos 3ebcc24e9b fix: bug 2025-11-12 13:19:06 +08:00
imeepos a7d922b535 fix: 修复布局问题 2025-11-12 10:02:55 +08:00
imeepos 26cd0139bf feat: 完整的生成流程 - 登录检查、文件上传、支付凭证验证
主要功能:
1.  添加 canGenerate() - 检查登录、metered 订阅、余额
2.  添加 uploadBlobFiles() - 自动上传所有 blob URL 到服务器
3.  支付凭证强制验证 - identifier 缺失时报错"支付失败"
4.  新增 lib/api/upload.ts - 文件上传 API
5.  更新 useTemplateRun hook 支持 identifier 参数

完整流程(7步骤):
  1. 表单验证
  2. canGenerate 检查(登录 + 订阅 + 余额)
  3. 上传 blob 文件到服务器
  4. recordTokenUsage 扣费并获取 identifier
  5. 验证所有 URL 都是服务器 URL
  6. 转换数据格式
  7. runTemplate(id, data, identifier) 创建任务

安全保障:
-  无 identifier → 抛出错误"支付凭证缺失"
-  blob URL 未上传 → 报错"存在未上传的文件"
-  余额不足 → 引导用户充值

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 18:51:31 +08:00
imeepos 74ca367081 🐛 fix: 修复 template run 数据格式与 identifier 缺失问题
主要修复:
1.  添加 transformFormDataToRunFormat 函数转换表单数据
2.  根据节点类型正确格式化数据:
   - image: { images: [{ url: "..." }] }
   - video: { videos: [{ url: "..." }] }
   - text: { texts: ["..."] }
   - select: { selections: "..." } (单选) / ["..."] (多选)
3.  添加 identifier 字段到 API 请求
4.  从 storage 获取用户 session 作为 identifier

修复问题:
-  之前:{ "data": { "node_xxx": "blob:..." } }
-  现在:{ "data": { "node_xxx": { "images": [{ "url": "..." }] } }, "identifier": "user-id" }

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 18:30:03 +08:00
imeepos 5ad83146ad 🐛 fix: 统一充值页面路径为 /exchange
- 修复 redirectToPricePage 跳转路径不一致问题
- 统一使用 /exchange 作为充值页面入口

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 18:24:00 +08:00
imeepos fe814bd403 🔧 config: 切换到生产环境 API
- 更新 API base URL 从测试环境到生产环境
- lib/api/client.ts: api-test.mixvideo.bowong.cc → api.mixvideo.bowong.cc
- lib/auth/client.ts: api-test.mixvideo.bowong.cc → api.mixvideo.bowong.cc

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 18:20:39 +08:00
imeepos 93e0cfdae1 ♻️ refactor: 重构余额系统 - 基于 usePricing 逻辑优化
主要改进:
- 🔄 完全重构 balance.ts,参考 usePricing.md 的最佳实践
-  集成余额检查、扣费、错误处理到单一 API
- 🎯 使用 authClient.subscription.meterEvent 替代自定义 API
- 💡 添加 checkTokenBalance 和 redirectToPricePage 辅助方法
- 🧹 简化 form.tsx 中的扣费流程,减少60%代码量

技术细节:
- 从 metered 订阅类型获取 creditBalance
- 使用 React Native Alert 替代 Web toast
- 余额不足时自动引导用户充值
- 扣费成功后自动刷新余额显示

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 18:20:09 +08:00
imeepos d22ca2a85c feat: 性能优化与余额扣费系统集成
主要更新:
- 🚀 模板详情页性能优化:添加缓存机制、图片预加载、请求中断控制
- 💰 集成余额检查与扣费功能到表单提交流程
- 🔄 添加错误重试机制,提升用户体验
- 🎨 重构动态表单字段为独立组件 (DynamicFormField)
- 🔧 修复类型错误,优化样式结构

技术细节:
- 实现5分钟缓存策略减少API调用
- 使用 AbortController 管理请求生命周期
- React.memo 优化列表项渲染性能
- 图片预缓存提升加载体验

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 18:11:05 +08:00
imeepos eee280d9b3 🐛 修复视频播放器无限循环渲染问题
## 主要修复
- 修复 FullscreenMediaModal 和 FullscreenVideoModal 中的 useEffect 循环依赖
- 重构 VideoPlayer 组件的视频属性管理逻辑
- 优化 useVideoPlayer 的初始化回调机制

## 新增功能
- 新增标签 API 支持 (lib/api/tags.ts)
- 新增内容骨架屏组件 (components/profile/content-skeleton.tsx)
- 新增返回按钮组件 (components/ui/back-button.tsx)

## 改进优化
- 优化视频播放器的性能,避免重复初始化
- 修复 useEffect 依赖项导致的无限循环更新
- 完善类型定义和 API 接口

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 11:58:56 +08:00
imeepos af64049c69 feat: 完整应用重构 - 优化界面架构与用户体验
主要变更:
- 重构应用界面:优化首页、登录、认证流程
- 新增用户档案模块:包含完整的档案管理组件
- 优化路由结构:重新组织页面布局和导航
- 改进API集成:新增活动、内容分类等API模块
- 删除冗余组件:清理不必要的文件和依赖

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 12:44:12 +08:00
imeepos b9399bf4cf feat: 应用界面重构 - 从模板中心到AI内容生成平台
- 重构首页:从模板列表展示改为AI功能展示界面
- 更新底部导航:将explore改为content,index改为home
- 新增多个页面:积分、兑换、历史记录、结果展示、设置等
- 优化UI组件:新增通用按钮、分类标签、加载状态等组件
- 清理冗余文件:删除旧的认证文档和积分详情页面
- 更新主题配置:调整配色方案和视觉风格
- 修复导入路径:优化组件导入结构

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 17:53:56 +08:00
imeepos 668caaa91f 🔐 feat: 认证系统升级 - 从重定向到底部Modal的完整改造
## 核心功能

### 1. 全局认证架构
- 新增 AuthProvider:全局认证上下文,管理登录状态和Modal
- 新增 useAuthGuard Hook:提供 requireAuth 认证拦截功能
- 新增 AuthGuard 组件:包装需要认证的组件
- 新增 AuthPrompt 组件:多种样式的登录引导组件

### 2. 登录体验优化
- LoginModal 已优化为底部抽屉式设计
- 登录成功后自动关闭Modal并恢复用户操作
- 支持队列机制,多个认证检查依次执行

### 3. 页面架构调整
- 根布局集成 AuthProvider
- 移除 Tabs 布局的重定向逻辑
- Explore 页面添加认证保护,显示登录提示

### 4. API安全增强
- 新增 TokenManager:完整的Token生命周期管理
- 新增 SecureClient:安全API客户端,自动处理认证
- 更新 API 客户端:支持认证头和自动Token刷新

### 5. 文档完善
- AUTH_SYSTEM.md:完整的认证系统使用指南
- AUTH_UPGRADE_SUMMARY.md:升级总结文档

## 技术亮点

 TypeScript 完整支持,编译时类型检查
 React 最佳实践,合理使用 Hooks 和 Context
 优雅的错误处理,友好的用户提示
 流畅的动画效果,原生级用户体验

## 核心优势

- 流畅:无需页面跳转,Modal即用即走
- 智能:自动检测登录需求,无需手动判断
- 安全:完整Token管理和自动刷新机制
- 灵活:多种认证组件满足不同场景
- 易用:详细文档和示例,快速上手

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 11:18:20 +08:00
imeepos add140dbda feat: 美化登录界面并集成登录模态框
- 重设计未登录状态UI,添加动画效果和渐变按钮
- 集成LoginModal组件,提供完整的登录体验
- 新增游客浏览功能,提升用户体验
- 切换至测试环境API (api-test.mixvideo.bowong.cc)
- 添加@expo/vector-icons图标库依赖

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 11:04:15 +08:00
imeepos 30ea4fb13c fix: error 2025-10-29 19:38:04 +08:00
imeepos 3a99ff96d5 fix: bug 2025-10-21 10:21:45 +08:00
imeepos 7e3f94bae3 Initial commit: Expo app with Better Auth integration
- Complete Expo React Native app setup with TypeScript
- Better Auth authentication system integration
- Secure storage implementation for session tokens
- Authentication flow with login/logout functionality
- API client configuration for backend communication
- Responsive UI components with themed styling
- Expo Router navigation setup
- Development configuration and scripts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 10:32:52 +08:00