chore(task): archive 04-17-feat-user-feedback

This commit is contained in:
qzl
2026-04-20 12:51:15 +08:00
parent ae7727a1c4
commit 4a3fe85fc9
4 changed files with 4 additions and 3 deletions
@@ -0,0 +1,76 @@
{
"name": "feat-user-feedback",
"title": "用户反馈投送功能",
"type": "feature",
"priority": "medium",
"dev_type": "fullstack",
"created_at": "2026-04-17",
"status": "completed",
"worktree": "feat-user-feedback",
"branch": "worktree/feat-user-feedback",
"description": "实现用户反馈投送功能:前端反馈表单 + 后端数据存储 + 图片上传。Phase 2 实现定时报告生成和邮件推送。",
"prd": "prd.md",
"phase": {
"current": 1,
"total": 3,
"description": "Phase 1: 前端反馈 + 后端存储 + 图片上传"
},
"tech_stack": {
"backend": {
"language": "Python",
"framework": "FastAPI",
"orm": "SQLAlchemy",
"task_queue": "Taskiq",
"xlsx_lib": "openpyxl"
},
"frontend": {
"language": "Dart",
"framework": "Flutter",
"storage": "Supabase Storage"
}
},
"features": {
"anonymous_feedback": true,
"image_upload": true,
"max_images": 3,
"max_content_length": 500,
"report_generation": false,
"email_notification": false
},
"constraints": {
"schema_strict": "所有字段使用 Pydantic Schema 强约束,extra=forbid",
"no_contact_email": "删除 contact_email 字段,不存储用户联系方式",
"no_admin_routes": "暂不实现管理员路由",
"config_via_settings": "客服邮箱和推送时间通过 Settings 环境变量配置"
},
"checklist": {
"backend": [
"添加 openpyxl 依赖",
"创建 user_feedback 表迁移(含 images JSONB 字段)",
"创建 Supabase Storage feedback bucket",
"创建 Pydantic Schema(强约束,extra=forbid",
"创建 Feedback 模型",
"创建 FeedbackRepositoryCRUD 操作)",
"创建 FeedbackService(业务逻辑)",
"创建 POST /api/v1/feedback 接口",
"添加错误码到协议文档"
],
"frontend": [
"创建 Feedback 数据模型",
"创建 FeedbackApi",
"创建 FeedbackRepository",
"创建 FeedbackScreen(含图片上传组件)",
"在 SettingsScreen 添加反馈入口",
"添加 l10n keys(中/英/繁)"
]
},
"notes": [
"Phase 1 只实现前端反馈 + 后端存储 + 图片上传",
"Phase 2 实现定时报告生成和邮件推送",
"使用 Python openpyxl 生成 xlsx 报告(技术栈统一)",
"Schema 使用 extra=forbid 禁止模糊字段",
"客服邮箱通过 FEEDBACK_REPORT_EMAIL 环境变量配置",
"推送时间通过 FEEDBACK_REPORT_CRON 环境变量配置"
],
"completedAt": "2026-04-20"
}