afcd18c54f
Backend: - Add NotFoundException + BusinessException, return correct HTTP status (404/400) - Add @Index on reports.project_id and reports.upload_time - Add fileSize column to reports, populate on upload, return in DTO - Cascade delete: deleting project now removes all reports (DB + files + PDFs) - Delete report: also clean up pre-rendered PDF - File upload MIME validation (extension + Content-Type) - Remove duplicate @ExceptionHandler from ReportController - Switch from System.err to SLF4J logger - Handle MethodArgumentNotValid, MissingServletRequestPart, etc. Frontend: - Remove all Docker files (project uses 宝塔 panel deployment) - Upgrade axios 1.6.8 -> 1.7.7 (CVE-2024-39338) - Remove unused @vue-office/pptx + vue-demi (see CHANGELOG for rationale) - Fix vite proxy port 37821 -> 30081 - Remove mock data fallback in production - Add upload report UI (button + modal in ProjectDetail) - Add create project UI (button + modal in ProjectList) - Add filename search box in ProjectDetail - New useApi methods: createProject, uploadReport, deleteProject, deleteReport - FilePreview/ReportCard: show fileSize (was undefined before) Docs: - Add README.md (overview, quick start, structure) - Add CHANGELOG.md (full change log + pptx removal rationale) - Include EVALUATION_REPORT.md and blog-vibe-coding.md Tests: - All 73 backend tests pass - All 43 frontend tests pass - Updated test fixtures for new API contract
41 lines
1.2 KiB
JSON
41 lines
1.2 KiB
JSON
{
|
|
"url": "https://www.1415243231.top",
|
|
"screenshots": [
|
|
{
|
|
"width": 1280,
|
|
"path": "D:\\Idea Project\\publish\\agent_test\\screenshots\\viewport_1280px.png",
|
|
"size_bytes": 8146
|
|
},
|
|
{
|
|
"width": 1280,
|
|
"path": "D:\\Idea Project\\publish\\agent_test\\screenshots\\console_1280px.json",
|
|
"type": "console"
|
|
},
|
|
{
|
|
"width": 768,
|
|
"path": "D:\\Idea Project\\publish\\agent_test\\screenshots\\viewport_768px.png",
|
|
"size_bytes": 7464
|
|
},
|
|
{
|
|
"width": 768,
|
|
"path": "D:\\Idea Project\\publish\\agent_test\\screenshots\\console_768px.json",
|
|
"type": "console"
|
|
},
|
|
{
|
|
"width": 375,
|
|
"path": "D:\\Idea Project\\publish\\agent_test\\screenshots\\viewport_375px.png",
|
|
"size_bytes": 5907
|
|
},
|
|
{
|
|
"width": 375,
|
|
"path": "D:\\Idea Project\\publish\\agent_test\\screenshots\\console_375px.json",
|
|
"type": "console"
|
|
}
|
|
],
|
|
"errors": [
|
|
"[1280px] Failed to load resource: the server responded with a status of 403 ()",
|
|
"[768px] Failed to load resource: the server responded with a status of 403 ()",
|
|
"[375px] Failed to load resource: the server responded with a status of 403 ()"
|
|
],
|
|
"success": false
|
|
} |