feat: 实现 API 接口对接功能 (删除作品、作品搜索、修改密码)
按照 TDD 规范完成三个核心功能的接口对接: ## 新增功能 ### 1. 删除作品功能 (app/generationRecord.tsx) - 新增 use-template-generation-actions.ts hook - 支持单个删除和批量删除作品 - 删除确认对话框 - 删除成功后自动刷新列表 - 完整的错误处理和加载状态 ### 2. 作品搜索功能 (app/searchWorksResults.tsx) - 新增 use-works-search.ts hook - 替换模拟数据为真实 SDK 接口 - 支持关键词搜索和分类筛选 - 支持分页加载 - 完整的加载、错误、空结果状态处理 ### 3. 修改密码功能 (app/changePassword.tsx) - 新增 use-change-password.ts hook - 使用 Better Auth 的 changePassword API - 客户端表单验证(密码长度、确认密码匹配等) - 成功后自动返回并提示 ## 技术实现 - 严格遵循 TDD 规范(先写测试,后写实现) - 新增 3 个 hooks 和对应的单元测试 - 更新中英文翻译文件 - 更新 jest.setup.js 添加必要的 mock ## 文档 - 新增 api_integration_report.md - API 对接分析报告 - 新增 api_integration_development_plan.md - 开发计划和完成汇总 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
{
|
||||
"common": {
|
||||
"noData": "No Data"
|
||||
"noData": "No Data",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"confirm": "Confirm",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"my": {
|
||||
"editProfile": "Edit Profile",
|
||||
@@ -28,7 +32,10 @@
|
||||
"newPasswordSame": "New password cannot be the same as current password",
|
||||
"confirmPasswordRequired": "Please confirm new password",
|
||||
"confirmPasswordMismatch": "New passwords do not match",
|
||||
"submit": "Confirm Changes"
|
||||
"submit": "Confirm Changes",
|
||||
"submitting": "Changing...",
|
||||
"success": "Password changed successfully",
|
||||
"apiError": "Failed to change password, please check if current password is correct"
|
||||
},
|
||||
"editProfile": {
|
||||
"namePlaceholder": "Enter nickname",
|
||||
@@ -116,7 +123,11 @@
|
||||
"aiVideo": "AI Video",
|
||||
"originalImage": "Original Image",
|
||||
"reEdit": "Re-edit",
|
||||
"regenerate": "Regenerate"
|
||||
"regenerate": "Regenerate",
|
||||
"deleteSuccess": "Deleted successfully",
|
||||
"deleteError": "Delete failed",
|
||||
"deleteConfirm": "Confirm to delete this record?",
|
||||
"deleting": "Deleting..."
|
||||
},
|
||||
"search": {
|
||||
"history": "Search History",
|
||||
@@ -126,7 +137,10 @@
|
||||
"refresh": "Refresh",
|
||||
"searchWorks": "Search Generated Works",
|
||||
"searchWorksPlaceholder": "Enter keywords to search generated works",
|
||||
"noTags": "No recommended tags"
|
||||
"noTags": "No recommended tags",
|
||||
"loading": "Loading...",
|
||||
"noResults": "No results found",
|
||||
"errorOccurred": "Search error, please try again later"
|
||||
},
|
||||
"templateDetail": {
|
||||
"title": "Template Details",
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{
|
||||
"common": {
|
||||
"noData": "暂无数据"
|
||||
"noData": "暂无数据",
|
||||
"error": "错误",
|
||||
"success": "成功",
|
||||
"confirm": "确认",
|
||||
"cancel": "取消"
|
||||
},
|
||||
"my": {
|
||||
"editProfile": "编辑资料",
|
||||
@@ -28,7 +32,10 @@
|
||||
"newPasswordSame": "新密码不能与当前密码相同",
|
||||
"confirmPasswordRequired": "请确认新密码",
|
||||
"confirmPasswordMismatch": "两次输入的新密码不一致",
|
||||
"submit": "确认修改"
|
||||
"submit": "确认修改",
|
||||
"submitting": "修改中...",
|
||||
"success": "密码修改成功",
|
||||
"apiError": "密码修改失败,请检查旧密码是否正确"
|
||||
},
|
||||
"editProfile": {
|
||||
"namePlaceholder": "请输入昵称",
|
||||
@@ -116,7 +123,11 @@
|
||||
"aiVideo": "AI 视频",
|
||||
"originalImage": "原图",
|
||||
"reEdit": "重新编辑",
|
||||
"regenerate": "再次生成"
|
||||
"regenerate": "再次生成",
|
||||
"deleteSuccess": "删除成功",
|
||||
"deleteError": "删除失败",
|
||||
"deleteConfirm": "确认删除该记录?",
|
||||
"deleting": "删除中..."
|
||||
},
|
||||
"search": {
|
||||
"history": "搜索历史",
|
||||
@@ -126,7 +137,10 @@
|
||||
"refresh": "换一换",
|
||||
"searchWorks": "搜索生成的作品",
|
||||
"searchWorksPlaceholder": "请输入关键词搜索生成的作品",
|
||||
"noTags": "暂无推荐标签"
|
||||
"noTags": "暂无推荐标签",
|
||||
"loading": "加载中...",
|
||||
"noResults": "未找到相关作品",
|
||||
"errorOccurred": "搜索出错,请稍后重试"
|
||||
},
|
||||
"templateDetail": {
|
||||
"title": "模板详情",
|
||||
|
||||
Reference in New Issue
Block a user