Files
daily_publish/README.md
T
panda afcd18c54f fix: evaluation report P0/P1/P2 fixes, remove Docker, add upload UI
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
2026-06-01 21:35:13 +08:00

75 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Publish — AI 日报分发平台
私有化部署的日报/周报管理与分发平台。后端 Spring Boot + SQLite,前端 Vue 3 + Vite。
## 快速开始
### 开发
```bash
# 后端(需要 Java 21
./mvnw.cmd spring-boot:run
# 前端
pnpm install
pnpm dev # → http://localhost:41733
```
### 部署
本项目使用**宝塔面板**部署(不是 Docker)。
```bash
powershell -File deploy/package.ps1
# 生成 deploy/publish_deploy.zip
# 上传到服务器 /usr/local/publish_dishboard/ 解压覆盖
```
完整部署步骤见 [deploy/README.md](deploy/README.md)
## 文档
- [API.md](API.md) — 完整 API 文档
- [CHANGELOG.md](CHANGELOG.md) — 更新日志
- [deploy/README.md](deploy/README.md) — 部署说明
## 项目结构
```
publish/
├── src/main/java/com/reportdist/ # Spring Boot 后端
│ ├── controller/ # REST API
│ ├── service/ # 业务逻辑
│ ├── repository/ # JPA 仓储
│ ├── entity/ # 数据库实体
│ ├── dto/ # 数据传输对象
│ └── exception/ # 异常处理
├── src/ # Vue 3 前端
│ ├── pages/ # 页面
│ ├── components/ # 组件
│ ├── composables/ # 组合式 API
│ └── router/ # 路由
├── deploy/ # 部署脚本与说明
├── pom.xml # Maven 配置
└── package.json # 前端依赖
```
## 技术栈
- **后端**Spring Boot 3.2.5 + Spring Data JPA + SQLite + Apache POI + PDFBox
- **前端**Vue 3.4 + Vite 5 + TailwindCSS 4 + Axios
- **构建**Maven + pnpm
- **部署**:宝塔面板 (Java 21 + Node.js)
## 端口约定
| 服务 | 端口 |
|------|------|
| 后端 (Spring Boot) | 30081 |
| 前端 (Node.js static server) | 30080 |
| 开发模式 - Vite | 41733 |
## 许可证
私有项目