Prmbr/docs/debug-copy-feature.md
2025-08-03 19:14:06 +08:00

96 lines
2.8 KiB
Markdown

# 调试"复制到工作室"功能
## 🔧 已修复的问题
### 1. 头像显示问题 ✅
- **修复**: 头像尺寸从 `h-5 w-5` (20px) 增加到 `h-6 w-6` (24px)
- **修复**: 添加了 `min-w-0` 到父容器防止压缩
- **修复**: 移除了多余的背景样式冲突
### 2. API路由修复 ✅
- **修复**: 添加了 `permissions` 字段处理
- **修复**: 改进了错误处理和调试信息
- **修复**: 添加了详细的控制台日志
## 🧪 调试步骤
如果复制功能仍然不工作,请按以下步骤调试:
### 步骤1: 检查浏览器控制台
1. 打开浏览器开发者工具 (F12)
2. 转到 Console 标签
3. 点击"复制到工作室"按钮
4. 查看是否有以下日志:
```
Duplicating prompt with data: {name: "...", content: "...", ...}
```
### 步骤2: 检查网络请求
1. 在开发者工具中转到 Network 标签
2. 点击"复制到工作室"按钮
3. 查看是否有 POST 请求到 `/api/prompts`
4. 检查请求状态码:
- **200**: 成功
- **400**: 请求数据错误
- **401**: 用户认证问题
- **500**: 服务器错误
### 步骤3: 检查错误详情
如果看到红色错误通知,请:
1. 检查控制台中的错误详情
2. 查看网络请求的响应内容
3. 确认用户已登录且有有效的 user.id
## 🔍 常见问题和解决方案
### 问题1: "User ID is required" 错误
**原因**: useAuth hook 没有正确获取用户信息
**解决**:
- 确保用户已登录
- 检查 `user.id` 是否存在
- 刷新页面重新获取用户信息
### 问题2: 网络错误或超时
**原因**: API路由响应慢或数据库连接问题
**解决**:
- 检查数据库连接状态
- 确保所有环境变量正确设置
- 查看服务器端日志
### 问题3: "Failed to duplicate prompt"
**原因**: 数据验证失败或数据库约束问题
**解决**:
- 检查 prompt 数据是否完整
- 确保 tags 数组格式正确
- 检查数据库是否有相关表和权限
## 📝 当前代码状态
### 请求数据格式
```javascript
{
name: "Original Name (Copy)",
content: "prompt content",
description: "prompt description",
permissions: "private",
userId: "user-id-string",
tags: ["tag1", "tag2"]
}
```
### API响应处理
- ✅ 成功: 绿色通知 2秒
- ❌ API错误: 红色通知显示具体错误 3秒
- ❌ 网络错误: 红色通知显示网络错误 3秒
## 🚀 测试建议
1. **先在Studio页面手动创建一个prompt** 确认基本功能正常
2. **检查广场是否显示公开prompt** 确认数据可访问
3. **确保用户已登录** 查看右上角用户信息
4. **尝试复制不同类型的prompt** 有标签和无标签的
如果按照以上步骤仍然有问题,请提供:
- 浏览器控制台的错误信息
- 网络请求的详细响应
- 具体的错误通知内容