feat(feedback): implement user feedback collection system with email reporting
Backend: - Add user_feedback table with RLS policy - Create feedback submission API (multipart/form-data) - Implement xlsx report generation with embedded images - Add scheduled email delivery via Feishu SMTP - Create HTML email templates (daily_report, no_feedback) Frontend: - Add feedback screen with type selection and image picker - Support anonymous submission via skipAuth flag - Collect device info and app version Protocol: - Document feedback API contract and error codes - Update http-error-codes.md with FEEDBACK_* codes
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
"""手动触发 worker-general 定时任务:生成反馈报告
|
||||
|
||||
用法:
|
||||
cd /home/qzl/Code/eryao/.worktrees/feat-user-feedback
|
||||
PYTHONPATH=backend/src uv run python backend/scripts/trigger_feedback_report.py
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent.parent / "src"))
|
||||
|
||||
from core.taskiq.app import worker_general_broker
|
||||
from v1.feedback.tasks import generate_daily_feedback_report
|
||||
|
||||
|
||||
def main():
|
||||
task = generate_daily_feedback_report.kiq()
|
||||
result = worker_general_broker.wait_result(task, timeout=120)
|
||||
print(f"Task result: {result.return_value}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user