docs: 移除项目文档和配置文件
- 从 .gitignore 中移除 target/ 目录忽略规则 - 添加 backend/target/ 和 frontend 相关目录到忽略列表 - 添加发布包相关文件到忽略列表 - 移除 CLAUDE.md 项目指导文件 - 移除多个 README 和使用说明文档 - 移除 docs 目录下的用户手册、快速开始等文档 - 移除样例报表文件 - 移除 Docker compose 配置文件 - 移除启动脚本文件
This commit is contained in:
+12
-1
@@ -1,5 +1,4 @@
|
|||||||
# Maven
|
# Maven
|
||||||
target/
|
|
||||||
pom.xml.tag
|
pom.xml.tag
|
||||||
pom.xml.releaseBackup
|
pom.xml.releaseBackup
|
||||||
pom.xml.versionsBackup
|
pom.xml.versionsBackup
|
||||||
@@ -9,6 +8,12 @@ dependency-reduced-pom.xml
|
|||||||
buildNumber.properties
|
buildNumber.properties
|
||||||
.mvn/timing.properties
|
.mvn/timing.properties
|
||||||
.mvn/wrapper/maven-wrapper.jar
|
.mvn/wrapper/maven-wrapper.jar
|
||||||
|
backend/target/
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Frontend
|
||||||
|
frontend/node_modules/
|
||||||
|
frontend/dist/
|
||||||
|
|
||||||
# IntelliJ IDEA
|
# IntelliJ IDEA
|
||||||
.idea/
|
.idea/
|
||||||
@@ -40,6 +45,12 @@ md/
|
|||||||
*.xlsx
|
*.xlsx
|
||||||
outputs/
|
outputs/
|
||||||
|
|
||||||
|
# Release artifacts
|
||||||
|
release/windows/*.jar
|
||||||
|
release/unix/*.jar
|
||||||
|
release/*.zip
|
||||||
|
release/*.tar.gz
|
||||||
|
|
||||||
# OS generated files
|
# OS generated files
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.DS_Store?
|
.DS_Store?
|
||||||
|
|||||||
@@ -1,154 +0,0 @@
|
|||||||
# CLAUDE.md
|
|
||||||
|
|
||||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
||||||
|
|
||||||
## Project Overview
|
|
||||||
|
|
||||||
SVN Log Tool is a Java-based application that fetches SVN logs, exports them to Markdown, and uses DeepSeek AI to analyze logs and generate Excel workload reports.
|
|
||||||
|
|
||||||
**Tech Stack**: Java 8, Maven, Spring Boot 2.7.18, SVNKit, Apache POI, OkHttp
|
|
||||||
|
|
||||||
**Entry Points**:
|
|
||||||
- CLI: `com.svnlog.Main` - Interactive SVN log fetcher
|
|
||||||
- Web: `com.svnlog.WebApplication` - Web workbench with REST API (port 8080)
|
|
||||||
- AI Processor: `com.svnlog.DeepSeekLogProcessor` - Standalone AI analysis tool
|
|
||||||
|
|
||||||
## Build & Run Commands
|
|
||||||
|
|
||||||
### Build
|
|
||||||
```bash
|
|
||||||
# Compile only (fastest validation)
|
|
||||||
mvn clean compile
|
|
||||||
|
|
||||||
# Package with tests
|
|
||||||
mvn clean package
|
|
||||||
|
|
||||||
# Package without tests
|
|
||||||
mvn clean package -DskipTests
|
|
||||||
```
|
|
||||||
|
|
||||||
### Run
|
|
||||||
```bash
|
|
||||||
# Web workbench (recommended)
|
|
||||||
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.WebApplication
|
|
||||||
# Access at http://localhost:8080
|
|
||||||
|
|
||||||
# CLI tool
|
|
||||||
java -jar target/svn-log-tool-1.0.0-jar-with-dependencies.jar
|
|
||||||
|
|
||||||
# AI processor
|
|
||||||
java -cp target/svn-log-tool-1.0.0-jar-with-dependencies.jar com.svnlog.DeepSeekLogProcessor
|
|
||||||
```
|
|
||||||
|
|
||||||
### Test
|
|
||||||
```bash
|
|
||||||
# Run all tests
|
|
||||||
mvn test
|
|
||||||
|
|
||||||
# Run single test class
|
|
||||||
mvn -Dtest=ClassName test
|
|
||||||
|
|
||||||
# Run single test method
|
|
||||||
mvn -Dtest=ClassName#methodName test
|
|
||||||
```
|
|
||||||
|
|
||||||
## Architecture
|
|
||||||
|
|
||||||
### Core Components
|
|
||||||
|
|
||||||
**SVN Layer** (`com.svnlog`):
|
|
||||||
- `SVNLogFetcher` - SVN connection, log fetching, user filtering
|
|
||||||
- `LogEntry` - Log data model
|
|
||||||
- `Main` - CLI interaction and Markdown generation
|
|
||||||
|
|
||||||
**AI Layer** (`com.svnlog`):
|
|
||||||
- `DeepSeekLogProcessor` - Calls DeepSeek API, generates Excel workload reports
|
|
||||||
|
|
||||||
**Web Layer** (`com.svnlog.web`):
|
|
||||||
- `controller/AppController` - REST API endpoints
|
|
||||||
- `controller/GlobalExceptionHandler` - Centralized error handling
|
|
||||||
- `service/TaskService` - Async task orchestration
|
|
||||||
- `service/SvnWorkflowService` - SVN fetch workflow
|
|
||||||
- `service/AiWorkflowService` - AI analysis workflow
|
|
||||||
- `service/TaskPersistenceService` - Task history persistence
|
|
||||||
- `service/HealthService` - System health checks
|
|
||||||
- `service/SettingsService` - API key and output directory management
|
|
||||||
- `service/SvnPresetService` - Preset SVN projects
|
|
||||||
- `service/OutputFileService` - File listing and downloads
|
|
||||||
- `service/AiInputValidator` - Input validation (max 20 files, 2MB each)
|
|
||||||
- `service/RetrySupport` - Retry logic for external calls
|
|
||||||
|
|
||||||
**Frontend** (`src/main/resources/static`):
|
|
||||||
- `index.html` - Main web interface
|
|
||||||
- `app.js` - Frontend logic
|
|
||||||
- `styles.css` - Styling
|
|
||||||
|
|
||||||
### Data Flow
|
|
||||||
|
|
||||||
1. **SVN Fetch**: User input → `SVNLogFetcher` → Markdown file (`outputs/md/*.md`)
|
|
||||||
2. **AI Analysis**: Markdown → `DeepSeekLogProcessor` → Excel file (`outputs/excel/*.xlsx`)
|
|
||||||
3. **Web Mode**: REST API → Async tasks → Task history (`outputs/task-history.json`)
|
|
||||||
|
|
||||||
### Output Directory Structure
|
|
||||||
```
|
|
||||||
outputs/
|
|
||||||
├── md/ # SVN log Markdown files
|
|
||||||
├── excel/ # AI-generated Excel reports
|
|
||||||
└── task-history.json # Task persistence (survives restarts)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Key REST API Endpoints
|
|
||||||
|
|
||||||
- `POST /api/svn/test-connection` - Test SVN connection
|
|
||||||
- `POST /api/svn/fetch` - Async SVN log fetch
|
|
||||||
- `GET /api/svn/presets` - List preset SVN projects
|
|
||||||
- `POST /api/ai/analyze` - Async AI analysis
|
|
||||||
- `GET /api/tasks` - List all tasks
|
|
||||||
- `GET /api/tasks/query?status=&type=&keyword=&page=1&size=10` - Query tasks
|
|
||||||
- `POST /api/tasks/{taskId}/cancel` - Cancel running task
|
|
||||||
- `GET /api/health` - System health status
|
|
||||||
- `GET /api/files` - List output files
|
|
||||||
- `GET /api/files/download?path=...` - Download file
|
|
||||||
- `GET /api/settings` - Get settings
|
|
||||||
- `PUT /api/settings` - Update settings
|
|
||||||
|
|
||||||
## DeepSeek API Configuration
|
|
||||||
|
|
||||||
**API Key Priority** (highest to lowest):
|
|
||||||
1. Request-level `apiKey` parameter
|
|
||||||
2. Runtime settings (via `/api/settings`)
|
|
||||||
3. Environment variable `DEEPSEEK_API_KEY`
|
|
||||||
|
|
||||||
**Security**: Never commit real API keys. Use environment variables in production.
|
|
||||||
|
|
||||||
## Code Style Requirements
|
|
||||||
|
|
||||||
- **Java 8 compatibility**: No Java 9+ APIs
|
|
||||||
- **Imports**: No wildcards, explicit imports only, grouped by: `java.*` / third-party / `com.svnlog.*`
|
|
||||||
- **Formatting**: 4 spaces, max 120 chars/line, always use braces for `if/for/while`
|
|
||||||
- **Naming**: `UpperCamelCase` for classes, `lowerCamelCase` for methods/variables, `UPPER_SNAKE_CASE` for constants
|
|
||||||
- **Resources**: Use try-with-resources for I/O, explicit UTF-8 encoding
|
|
||||||
- **Error handling**: Never swallow exceptions, provide actionable error messages
|
|
||||||
|
|
||||||
## Testing Strategy
|
|
||||||
|
|
||||||
- Test directory: `src/test/java/com/svnlog/`
|
|
||||||
- Naming: `<ClassName>Test`, methods: `should<Behavior>When<Condition>`
|
|
||||||
- Minimal validation: `mvn clean compile` must pass
|
|
||||||
|
|
||||||
## Important Notes
|
|
||||||
|
|
||||||
- **Preset SVN projects** are hardcoded in `Main.java` (lines 14-18)
|
|
||||||
- **Task persistence** enables history recovery after restart
|
|
||||||
- **AI input limits**: Max 20 files, 2MB each, `.md` only
|
|
||||||
- **Async tasks** run in background, tracked via `TaskService`
|
|
||||||
- **Web frontend** is a single-page app with vanilla JS
|
|
||||||
|
|
||||||
## When Modifying Code
|
|
||||||
|
|
||||||
- SVN logic → `SVNLogFetcher`
|
|
||||||
- CLI interaction → `Main`
|
|
||||||
- AI/Excel logic → `DeepSeekLogProcessor`
|
|
||||||
- Web API → `AppController` + services
|
|
||||||
- Always update `docs/` if behavior changes
|
|
||||||
- Run `mvn clean compile` before committing
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
# SVN/Git 日报周报月报一键生成
|
|
||||||
|
|
||||||
本地离线运行的代码仓库报表生成工具,支持 SVN 和 Git 仓库,一键生成日报、周报、月报。当前仓库仅保留 `Spring Boot` 后端与打包链路。
|
|
||||||
|
|
||||||
## 核心能力
|
|
||||||
|
|
||||||
- SVN(远程)+ Git(本地路径)双仓库支持
|
|
||||||
- 日报 / 周报 / 月报自动换算日期区间
|
|
||||||
- Markdown + Excel 双产物导出
|
|
||||||
- DeepSeek AI 摘要增强,可选开启
|
|
||||||
- 异步任务管理、历史查询、文件下载
|
|
||||||
- 单 jar、Docker、源码三种交付方式
|
|
||||||
|
|
||||||
## 项目结构
|
|
||||||
|
|
||||||
```text
|
|
||||||
backend/ Spring Boot API 与打包入口
|
|
||||||
docs/ 用户文档、销售文案、打包说明
|
|
||||||
release/ 发行包模板目录
|
|
||||||
```
|
|
||||||
|
|
||||||
## 开发命令
|
|
||||||
|
|
||||||
### 后端开发
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd backend
|
|
||||||
mvn clean compile
|
|
||||||
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.web.WebApplication
|
|
||||||
```
|
|
||||||
|
|
||||||
### 整体构建
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make build
|
|
||||||
```
|
|
||||||
|
|
||||||
或:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd backend
|
|
||||||
mvn clean package -DskipTests
|
|
||||||
```
|
|
||||||
|
|
||||||
说明:仓库已移除前端代码,`backend/pom.xml` 现在只负责后端构建与打包。
|
|
||||||
仓库内置 `backend/.mvn/settings.xml`,默认使用国内镜像源完成 `maven` 依赖下载。
|
|
||||||
|
|
||||||
## 运行方式
|
|
||||||
|
|
||||||
### Docker 方式
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make up
|
|
||||||
```
|
|
||||||
|
|
||||||
访问:`http://localhost:18088`
|
|
||||||
|
|
||||||
### 本机运行
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd backend
|
|
||||||
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.web.WebApplication
|
|
||||||
```
|
|
||||||
|
|
||||||
## 文档
|
|
||||||
|
|
||||||
- [发行版打包指南](docs/发行版打包指南.md)
|
|
||||||
- [用户手册](docs/用户手册.md)
|
|
||||||
- [快速开始](docs/快速开始.md)
|
|
||||||
- [销售文案](docs/销售文案.md)
|
|
||||||
|
|
||||||
## 技术栈
|
|
||||||
|
|
||||||
- 后端:Java 8、Spring Boot 2.7.18
|
|
||||||
- SVN:SVNKit
|
|
||||||
- Git:JGit
|
|
||||||
- Excel:Apache POI
|
|
||||||
- AI:DeepSeek API、OkHttp、Gson
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
# SVN 日志 AI 分析(Web)
|
|
||||||
|
|
||||||
## 功能说明
|
|
||||||
|
|
||||||
通过 Web 工作台上传/选择 Markdown 日志,调用 DeepSeek API 分析并生成 Excel 工作量统计文件。
|
|
||||||
|
|
||||||
## 启动
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Docker 一键启动(推荐)
|
|
||||||
make up
|
|
||||||
```
|
|
||||||
|
|
||||||
备用方式(本机 Java + Maven):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.web.WebApplication
|
|
||||||
```
|
|
||||||
|
|
||||||
访问:`http://localhost:18088`
|
|
||||||
|
|
||||||
## 使用步骤
|
|
||||||
|
|
||||||
1. 在「SVN 日志抓取」先生成 `.md` 文件
|
|
||||||
2. 在「系统设置」配置 DeepSeek API Key(或使用环境变量 `DEEPSEEK_API_KEY`)
|
|
||||||
3. 在「AI 工作量分析」选择 `.md` 文件并发起分析
|
|
||||||
4. 在「任务历史」或「产物列表」下载 `.xlsx`
|
|
||||||
|
|
||||||
## API Key 读取优先级
|
|
||||||
|
|
||||||
1. 请求中的 `apiKey`
|
|
||||||
2. 设置页保存的运行时 `apiKey`
|
|
||||||
3. 环境变量 `DEEPSEEK_API_KEY`
|
|
||||||
|
|
||||||
## 注意事项
|
|
||||||
|
|
||||||
- 不要在源码和日志中写入真实密钥
|
|
||||||
- 需要可访问 DeepSeek API 的网络环境
|
|
||||||
- 接口调用可能产生费用,建议控制调用频率
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# 包结构迁移说明
|
|
||||||
|
|
||||||
## 入口调整
|
|
||||||
|
|
||||||
- 当前只保留 `com.svnlog.web.WebApplication` 作为唯一入口。
|
|
||||||
- 已移除 CLI/AI 独立入口类。
|
|
||||||
|
|
||||||
## 核心类迁移
|
|
||||||
|
|
||||||
- `com.svnlog.SVNLogFetcher` -> `com.svnlog.core.svn.SVNLogFetcher`
|
|
||||||
- `com.svnlog.LogEntry` -> `com.svnlog.core.svn.LogEntry`
|
|
||||||
- `com.svnlog.TrustAllSSLContext` -> `com.svnlog.core.svn.TrustAllSSLContext`
|
|
||||||
|
|
||||||
## 公共能力
|
|
||||||
|
|
||||||
- `com.svnlog.core.report.MarkdownReportWriter`:统一 Markdown 输出逻辑。
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
# SVN 月报
|
|
||||||
|
|
||||||
## 报告信息
|
|
||||||
|
|
||||||
- **仓库**: `ERP-Backend`
|
|
||||||
- **周期**: 2025年05月 月报
|
|
||||||
- **来源**: SVN 远程仓库
|
|
||||||
- **生成时间**: 2025-06-01 09:00:00
|
|
||||||
|
|
||||||
## 统计信息
|
|
||||||
|
|
||||||
- **总提交数**: 45
|
|
||||||
- **涉及文件数**: 128
|
|
||||||
- **活跃作者数**: 4
|
|
||||||
- **作者提交分布**:
|
|
||||||
- `lisi`: 18 次
|
|
||||||
- `wangwu`: 12 次
|
|
||||||
- `zhangsan`: 10 次
|
|
||||||
- `zhaoliu`: 5 次
|
|
||||||
- **涉及模块**:
|
|
||||||
- `src`: 89 个文件
|
|
||||||
- `webapp`: 24 个文件
|
|
||||||
- `config`: 10 个文件
|
|
||||||
- `docs`: 5 个文件
|
|
||||||
|
|
||||||
## 工作摘要
|
|
||||||
|
|
||||||
- 完成采购审批流程模块开发,支持三级审批链路
|
|
||||||
- 库存预警功能上线,支持邮件和站内信双通道通知
|
|
||||||
- 报表导出模块重构,统一使用 Apache POI 模板引擎
|
|
||||||
- 修复财务对账模块金额精度丢失问题(BigDecimal 替换 double)
|
|
||||||
- 前端表单校验增强,新增 15 个字段级校验规则
|
|
||||||
- 数据库慢查询优化 8 处,平均响应时间降低 40%
|
|
||||||
|
|
||||||
## 风险与说明
|
|
||||||
|
|
||||||
- 采购审批流程尚未覆盖退货场景,计划 6 月迭代补充
|
|
||||||
- 库存预警阈值目前为全局配置,后续需支持按品类自定义
|
|
||||||
|
|
||||||
## 提交明细
|
|
||||||
|
|
||||||
### r15230
|
|
||||||
|
|
||||||
**作者**: `lisi`
|
|
||||||
**时间**: 2025-05-30 16:45:00
|
|
||||||
**仓库**: `ERP-Backend`
|
|
||||||
|
|
||||||
**提交信息**:
|
|
||||||
|
|
||||||
```
|
|
||||||
feat: 采购审批流程 - 三级审批链路完整实现
|
|
||||||
```
|
|
||||||
|
|
||||||
**变更路径**:
|
|
||||||
- `src/main/java/com/erp/approval/ApprovalChainService.java`
|
|
||||||
- `src/main/java/com/erp/approval/ApprovalController.java`
|
|
||||||
- `src/main/java/com/erp/model/ApprovalRecord.java`
|
|
||||||
- `webapp/views/approval/list.jsp`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### r15218
|
|
||||||
|
|
||||||
**作者**: `wangwu`
|
|
||||||
**时间**: 2025-05-28 14:20:00
|
|
||||||
**仓库**: `ERP-Backend`
|
|
||||||
|
|
||||||
**提交信息**:
|
|
||||||
|
|
||||||
```
|
|
||||||
feat: 库存预警功能 - 支持邮件和站内信通知
|
|
||||||
```
|
|
||||||
|
|
||||||
**变更路径**:
|
|
||||||
- `src/main/java/com/erp/inventory/AlertService.java`
|
|
||||||
- `src/main/java/com/erp/notification/EmailSender.java`
|
|
||||||
- `src/main/java/com/erp/notification/InboxSender.java`
|
|
||||||
- `config/alert-rules.xml`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### r15205
|
|
||||||
|
|
||||||
**作者**: `zhangsan`
|
|
||||||
**时间**: 2025-05-25 10:30:00
|
|
||||||
**仓库**: `ERP-Backend`
|
|
||||||
|
|
||||||
**提交信息**:
|
|
||||||
|
|
||||||
```
|
|
||||||
fix: 修复财务对账金额精度丢失,double 替换为 BigDecimal
|
|
||||||
```
|
|
||||||
|
|
||||||
**变更路径**:
|
|
||||||
- `src/main/java/com/erp/finance/ReconciliationService.java`
|
|
||||||
- `src/main/java/com/erp/model/FinanceRecord.java`
|
|
||||||
- `src/test/java/com/erp/finance/ReconciliationServiceTest.java`
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
# Git 周报
|
|
||||||
|
|
||||||
## 报告信息
|
|
||||||
|
|
||||||
- **仓库**: `demo-web-app`
|
|
||||||
- **周期**: 2025-05-19 至 2025-05-25 周报
|
|
||||||
- **来源**: Git 本地仓库
|
|
||||||
- **作者过滤**: `zhangsan`
|
|
||||||
- **生成时间**: 2025-05-25 18:30:00
|
|
||||||
|
|
||||||
## 统计信息
|
|
||||||
|
|
||||||
- **总提交数**: 12
|
|
||||||
- **涉及文件数**: 37
|
|
||||||
- **活跃作者数**: 1
|
|
||||||
- **作者提交分布**:
|
|
||||||
- `zhangsan`: 12 次
|
|
||||||
- **涉及模块**:
|
|
||||||
- `src`: 28 个文件
|
|
||||||
- `docs`: 5 个文件
|
|
||||||
- `config`: 4 个文件
|
|
||||||
|
|
||||||
## 工作摘要
|
|
||||||
|
|
||||||
- 完成用户登录模块重构,统一使用 JWT 认证方案
|
|
||||||
- 优化首页加载性能,接口响应时间从 800ms 降至 200ms
|
|
||||||
- 修复订单列表分页查询在大数据量下的 SQL 慢查询问题
|
|
||||||
- 新增导出功能,支持 CSV 和 Excel 两种格式
|
|
||||||
- 补充单元测试 15 个,覆盖率从 62% 提升至 78%
|
|
||||||
|
|
||||||
## 风险与说明
|
|
||||||
|
|
||||||
- JWT 密钥目前硬编码在配置文件中,后续需迁移至密钥管理服务
|
|
||||||
|
|
||||||
## 提交明细
|
|
||||||
|
|
||||||
### abc1234
|
|
||||||
|
|
||||||
**作者**: `zhangsan`
|
|
||||||
**时间**: 2025-05-25 17:20:00
|
|
||||||
**仓库**: `demo-web-app`
|
|
||||||
**引用**: `develop`
|
|
||||||
|
|
||||||
**提交信息**:
|
|
||||||
|
|
||||||
```
|
|
||||||
feat: 新增订单导出 Excel 功能
|
|
||||||
```
|
|
||||||
|
|
||||||
**变更路径**:
|
|
||||||
- `src/main/java/com/demo/service/ExportService.java`
|
|
||||||
- `src/main/java/com/demo/controller/OrderController.java`
|
|
||||||
- `src/test/java/com/demo/service/ExportServiceTest.java`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### bcd2345
|
|
||||||
|
|
||||||
**作者**: `zhangsan`
|
|
||||||
**时间**: 2025-05-24 15:40:00
|
|
||||||
**仓库**: `demo-web-app`
|
|
||||||
**引用**: `develop`
|
|
||||||
|
|
||||||
**提交信息**:
|
|
||||||
|
|
||||||
```
|
|
||||||
perf: 优化首页接口查询,添加缓存层
|
|
||||||
```
|
|
||||||
|
|
||||||
**变更路径**:
|
|
||||||
- `src/main/java/com/demo/service/DashboardService.java`
|
|
||||||
- `src/main/java/com/demo/config/CacheConfig.java`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### cde3456
|
|
||||||
|
|
||||||
**作者**: `zhangsan`
|
|
||||||
**时间**: 2025-05-23 11:15:00
|
|
||||||
**仓库**: `demo-web-app`
|
|
||||||
**引用**: `develop`
|
|
||||||
|
|
||||||
**提交信息**:
|
|
||||||
|
|
||||||
```
|
|
||||||
fix: 修复订单分页查询慢查询问题,添加复合索引
|
|
||||||
```
|
|
||||||
|
|
||||||
**变更路径**:
|
|
||||||
- `src/main/resources/db/migration/V20250523__add_order_index.sql`
|
|
||||||
- `src/main/java/com/demo/mapper/OrderMapper.java`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### def4567
|
|
||||||
|
|
||||||
**作者**: `zhangsan`
|
|
||||||
**时间**: 2025-05-22 09:30:00
|
|
||||||
**仓库**: `demo-web-app`
|
|
||||||
**引用**: `develop`
|
|
||||||
|
|
||||||
**提交信息**:
|
|
||||||
|
|
||||||
```
|
|
||||||
refactor: 重构登录模块,统一使用 JWT 认证
|
|
||||||
```
|
|
||||||
|
|
||||||
**变更路径**:
|
|
||||||
- `src/main/java/com/demo/security/JwtTokenProvider.java`
|
|
||||||
- `src/main/java/com/demo/security/JwtAuthFilter.java`
|
|
||||||
- `src/main/java/com/demo/controller/AuthController.java`
|
|
||||||
- `src/main/java/com/demo/config/SecurityConfig.java`
|
|
||||||
- `docs/auth-design.md`
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
# 发行版打包指南
|
|
||||||
|
|
||||||
本文档说明当前纯 `backend/` 结构下的发行版打包方式。
|
|
||||||
|
|
||||||
## 一键打包
|
|
||||||
|
|
||||||
在项目根目录执行:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make release
|
|
||||||
```
|
|
||||||
|
|
||||||
该命令会自动:
|
|
||||||
|
|
||||||
1. 在 `backend/` 执行 `mvn clean package -DskipTests`
|
|
||||||
2. 生成 `backend/target/svn-log-tool-1.0.0-jar-with-dependencies.jar`
|
|
||||||
3. 将 jar 复制到 `release/windows/` 和 `release/unix/`
|
|
||||||
4. 打包 Windows、Unix、Docker 三类发行包
|
|
||||||
|
|
||||||
## 手动打包步骤
|
|
||||||
|
|
||||||
### 1. 构建后端产物
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd backend
|
|
||||||
mvn clean package -DskipTests
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. 复制 jar 到发行目录
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp backend/target/svn-log-tool-1.0.0-jar-with-dependencies.jar release/windows/
|
|
||||||
cp backend/target/svn-log-tool-1.0.0-jar-with-dependencies.jar release/unix/
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. 打包 Windows 版本
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd release/windows
|
|
||||||
zip -r ../svn-log-tool-1.0.0-windows.zip *
|
|
||||||
cd ../..
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4. 打包 Unix 版本
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd release/unix
|
|
||||||
tar czf ../svn-log-tool-1.0.0-unix.tar.gz *
|
|
||||||
cd ../..
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5. 打包 Docker 版本
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd release/docker
|
|
||||||
cp ../../Dockerfile .
|
|
||||||
tar czf ../svn-log-tool-1.0.0-docker.tar.gz *
|
|
||||||
rm Dockerfile
|
|
||||||
cd ../..
|
|
||||||
```
|
|
||||||
|
|
||||||
## Docker 构建说明
|
|
||||||
|
|
||||||
根目录 `Dockerfile` 采用多阶段构建:
|
|
||||||
|
|
||||||
1. `maven:3.9.6-eclipse-temurin-8` 打包 `backend/`
|
|
||||||
2. `eclipse-temurin:8-jre` 作为最终运行镜像
|
|
||||||
|
|
||||||
## 发布清单
|
|
||||||
|
|
||||||
- [ ] Windows 发行包(.zip)
|
|
||||||
- [ ] Unix 发行包(.tar.gz)
|
|
||||||
- [ ] Docker 发行包(.tar.gz)
|
|
||||||
- [ ] 用户手册
|
|
||||||
- [ ] 快速开始指南
|
|
||||||
- [ ] 样例报表
|
|
||||||
- [ ] 产品截图
|
|
||||||
- [ ] 演示视频(可选)
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
# 快速开始指南
|
|
||||||
|
|
||||||
3 步快速上手「SVN/Git 日报周报月报一键生成」
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 方式一:Docker(推荐)
|
|
||||||
|
|
||||||
### 第 1 步:启动服务
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd release/docker
|
|
||||||
docker compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
### 第 2 步:打开浏览器
|
|
||||||
|
|
||||||
访问:http://localhost:18088
|
|
||||||
|
|
||||||
### 第 3 步:生成报表
|
|
||||||
|
|
||||||
1. 点击左侧「报表生成」
|
|
||||||
2. 选择仓库类型(SVN 或 Git)
|
|
||||||
3. 填写仓库信息
|
|
||||||
4. 选择报表周期(日报/周报/月报)
|
|
||||||
5. 点击「生成 Markdown + Excel」
|
|
||||||
|
|
||||||
完成!报表在 `outputs/` 目录下。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 方式二:Windows
|
|
||||||
|
|
||||||
### 第 1 步:安装 Java
|
|
||||||
|
|
||||||
如果尚未安装,访问 https://adoptium.net/ 下载 JRE 8 (LTS)。
|
|
||||||
|
|
||||||
### 第 2 步:启动服务
|
|
||||||
|
|
||||||
双击 `start.bat`
|
|
||||||
|
|
||||||
### 第 3 步:生成报表
|
|
||||||
|
|
||||||
浏览器打开 http://localhost:18088,按照界面提示操作。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 方式三:macOS / Linux
|
|
||||||
|
|
||||||
### 第 1 步:启动服务
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd release/unix
|
|
||||||
./start.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### 第 2 步:生成报表
|
|
||||||
|
|
||||||
浏览器打开 http://localhost:18088,按照界面提示操作。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 示例:生成本周周报
|
|
||||||
|
|
||||||
1. 打开 http://localhost:18088
|
|
||||||
2. 左侧点击「报表生成」
|
|
||||||
3. 选择「Git」仓库类型
|
|
||||||
4. 填写 Git 仓库路径:`/home/user/my-project`
|
|
||||||
5. 报表周期选择「周报」
|
|
||||||
6. 基准日期选择本周任意一天(默认今天)
|
|
||||||
7. 点击「生成 Markdown + Excel」
|
|
||||||
8. 等待完成,自动下载 Excel
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 可选:配置 AI 分析
|
|
||||||
|
|
||||||
如需 AI 自动生成工作摘要:
|
|
||||||
|
|
||||||
1. 访问 https://platform.deepseek.com 获取 API Key
|
|
||||||
2. 在 Web 工作台 → 系统设置 → 填入 API Key
|
|
||||||
3. 生成报表时勾选「启用 AI 摘要」
|
|
||||||
|
|
||||||
不配置也可正常使用基础功能。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 需要帮助?
|
|
||||||
|
|
||||||
查看完整文档:`docs/用户手册.md`
|
|
||||||
-253
@@ -1,253 +0,0 @@
|
|||||||
# SVN/Git 日报周报月报一键生成 - 用户手册
|
|
||||||
|
|
||||||
## 目录
|
|
||||||
|
|
||||||
1. [产品简介](#1-产品简介)
|
|
||||||
2. [环境要求](#2-环境要求)
|
|
||||||
3. [安装与启动](#3-安装与启动)
|
|
||||||
4. [功能说明](#4-功能说明)
|
|
||||||
5. [AI 工作量分析](#5-ai-工作量分析)
|
|
||||||
6. [常见问题](#6-常见问题)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. 产品简介
|
|
||||||
|
|
||||||
「SVN/Git 日报周报月报一键生成」是一款本地离线运行的代码仓库报表生成工具。
|
|
||||||
|
|
||||||
**核心能力:**
|
|
||||||
|
|
||||||
- 连接 SVN 远程仓库或 Git 本地仓库,自动抓取提交日志
|
|
||||||
- 支持日报、周报、月报三种统计周期
|
|
||||||
- 自动生成 Markdown 格式提交报表
|
|
||||||
- 可选集成 DeepSeek AI,自动分析工作量并导出 Excel
|
|
||||||
- Web 工作台操作,无需命令行
|
|
||||||
|
|
||||||
**适用场景:**
|
|
||||||
|
|
||||||
- 团队周报/月报编写,快速汇总代码提交记录
|
|
||||||
- 项目经理查看团队成员工作量
|
|
||||||
- 个人开发者整理工作日志
|
|
||||||
- 外包项目交付工作量证明
|
|
||||||
|
|
||||||
**数据安全:**
|
|
||||||
|
|
||||||
- 所有数据本地处理,不上传任何服务器
|
|
||||||
- AI 分析仅发送提交摘要(非源码),且可选关闭
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. 环境要求
|
|
||||||
|
|
||||||
### 方式一:Docker 部署(推荐)
|
|
||||||
|
|
||||||
- Docker 20.10+
|
|
||||||
- Docker Compose v2+
|
|
||||||
- 无需安装 Java
|
|
||||||
|
|
||||||
### 方式二:本机 Java 运行
|
|
||||||
|
|
||||||
- Java 8 或更高版本(JRE 即可)
|
|
||||||
- Windows 7+ / macOS 10.12+ / Linux
|
|
||||||
|
|
||||||
**Java 安装指引:**
|
|
||||||
|
|
||||||
| 系统 | 安装方式 |
|
|
||||||
|------|----------|
|
|
||||||
| Windows | 访问 https://adoptium.net/ 下载 JRE 8 (LTS) |
|
|
||||||
| macOS | `brew install openjdk@8` |
|
|
||||||
| Ubuntu/Debian | `sudo apt install openjdk-8-jre` |
|
|
||||||
| CentOS/RHEL | `sudo yum install java-1.8.0-openjdk` |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. 安装与启动
|
|
||||||
|
|
||||||
### 3.1 Docker 方式
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 进入 docker 发行包目录
|
|
||||||
cd release/docker
|
|
||||||
|
|
||||||
# 一键启动
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
# 查看状态
|
|
||||||
docker compose ps
|
|
||||||
|
|
||||||
# 停止服务
|
|
||||||
docker compose down
|
|
||||||
```
|
|
||||||
|
|
||||||
启动后浏览器访问:**http://localhost:18088**
|
|
||||||
|
|
||||||
### 3.2 Windows 方式
|
|
||||||
|
|
||||||
1. 解压发行包到任意目录
|
|
||||||
2. 双击 `start.bat`
|
|
||||||
3. 等待控制台显示启动成功
|
|
||||||
4. 浏览器访问:**http://localhost:18088**
|
|
||||||
|
|
||||||
### 3.3 macOS / Linux 方式
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 进入 unix 发行包目录
|
|
||||||
cd release/unix
|
|
||||||
|
|
||||||
# 启动
|
|
||||||
./start.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
浏览器访问:**http://localhost:18088**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. 功能说明
|
|
||||||
|
|
||||||
### 4.1 工作台
|
|
||||||
|
|
||||||
首页展示系统概览:
|
|
||||||
|
|
||||||
- **任务统计**:总任务数、执行中、失败数
|
|
||||||
- **系统状态**:输出目录可写性、API Key 配置状态
|
|
||||||
- **报表模板**:可用的报表模板列表
|
|
||||||
- **最近文件**:最新生成的报表文件,可直接下载
|
|
||||||
|
|
||||||
### 4.2 报表生成
|
|
||||||
|
|
||||||
这是核心功能页面,操作步骤:
|
|
||||||
|
|
||||||
**第一步:选择仓库类型**
|
|
||||||
|
|
||||||
- **SVN**:需要填写 SVN 预设项目、用户名、密码
|
|
||||||
- **Git**:需要填写本地 Git 仓库路径(如 `/home/user/my-project`)
|
|
||||||
|
|
||||||
**第二步:选择报表周期**
|
|
||||||
|
|
||||||
- **日报**:统计指定日期当天的提交
|
|
||||||
- **周报**:统计指定日期所在周(周一至周日)的提交
|
|
||||||
- **月报**:统计指定日期所在月的全部提交
|
|
||||||
|
|
||||||
**第三步:填写参数**
|
|
||||||
|
|
||||||
- **基准日期**:报表统计的参考日期(默认今天)
|
|
||||||
- **周期标签**:报表标题中的周期描述(自动生成,可修改)
|
|
||||||
- **作者过滤**:只统计包含指定关键词的作者(留空不过滤)
|
|
||||||
- **输出名称**:生成文件的名称前缀(自动生成,可修改)
|
|
||||||
|
|
||||||
**第四步:可选 AI 增强**
|
|
||||||
|
|
||||||
- 勾选「启用 AI 摘要」可让 DeepSeek 自动生成工作摘要
|
|
||||||
- 需要先在系统设置中配置 API Key
|
|
||||||
|
|
||||||
**第五步:点击生成**
|
|
||||||
|
|
||||||
- 点击「测试连接」验证仓库可访问
|
|
||||||
- 点击「生成 Markdown + Excel」开始生成
|
|
||||||
- 执行日志区域会实时显示进度
|
|
||||||
- 完成后自动下载 Excel 文件
|
|
||||||
|
|
||||||
### 4.3 任务历史
|
|
||||||
|
|
||||||
查看所有历史任务:
|
|
||||||
|
|
||||||
- 支持按状态(PENDING/RUNNING/SUCCESS/FAILED/CANCELLED)筛选
|
|
||||||
- 支持按类型筛选
|
|
||||||
- 支持关键词搜索
|
|
||||||
- 分页浏览
|
|
||||||
- 可直接下载任务产物
|
|
||||||
|
|
||||||
### 4.4 系统设置
|
|
||||||
|
|
||||||
- **DeepSeek API Key**:配置 AI 分析所需的密钥
|
|
||||||
- **默认 SVN 项目**:设置默认选中的 SVN 预设
|
|
||||||
- **输出目录**:自定义报表输出路径(默认 `outputs`)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. AI 工作量分析
|
|
||||||
|
|
||||||
### 5.1 获取 API Key
|
|
||||||
|
|
||||||
1. 访问 https://platform.deepseek.com
|
|
||||||
2. 注册账号并登录
|
|
||||||
3. 进入「API Keys」页面
|
|
||||||
4. 创建新的 API Key
|
|
||||||
5. 复制 Key(格式为 `sk-...`)
|
|
||||||
|
|
||||||
### 5.2 配置 API Key
|
|
||||||
|
|
||||||
**方式一:Web 设置页**
|
|
||||||
|
|
||||||
在「系统设置」页面填入 API Key 并保存。
|
|
||||||
|
|
||||||
**方式二:环境变量**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
export DEEPSEEK_API_KEY=sk-your-key-here
|
|
||||||
```
|
|
||||||
|
|
||||||
Docker 方式可在 `docker-compose.yml` 中配置:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
environment:
|
|
||||||
- DEEPSEEK_API_KEY=sk-your-key-here
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5.3 使用说明
|
|
||||||
|
|
||||||
- AI 分析会将提交记录摘要发送给 DeepSeek API
|
|
||||||
- 不会发送源代码内容,仅发送提交信息
|
|
||||||
- 每次分析消耗少量 Token(通常 < 0.01 元)
|
|
||||||
- 不配置 API Key 也可正常使用基础报表功能
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 6. 常见问题
|
|
||||||
|
|
||||||
### Q: 启动后无法访问 http://localhost:18088?
|
|
||||||
|
|
||||||
- 确认服务已启动(控制台无报错)
|
|
||||||
- 检查端口 18088 是否被其他程序占用
|
|
||||||
- 尝试使用 http://127.0.0.1:18088
|
|
||||||
|
|
||||||
### Q: SVN 连接失败?
|
|
||||||
|
|
||||||
- 检查 SVN 地址格式是否正确(以 `http://` 或 `https://` 开头)
|
|
||||||
- 确认用户名和密码正确
|
|
||||||
- 确认网络可以访问 SVN 服务器
|
|
||||||
- 如果是 HTTPS,可能存在证书问题
|
|
||||||
|
|
||||||
### Q: Git 仓库路径无效?
|
|
||||||
|
|
||||||
- 确认路径指向 `.git` 所在的目录(不是 `.git` 本身)
|
|
||||||
- 路径必须是本地绝对路径
|
|
||||||
- Docker 模式下需要将 Git 仓库目录挂载到容器中
|
|
||||||
|
|
||||||
### Q: AI 分析报错?
|
|
||||||
|
|
||||||
- 检查 API Key 是否正确
|
|
||||||
- 确认网络可以访问 api.deepseek.com
|
|
||||||
- 检查 DeepSeek 账户余额是否充足
|
|
||||||
|
|
||||||
### Q: 生成的报表在哪里?
|
|
||||||
|
|
||||||
- 默认在程序目录下的 `outputs/` 文件夹
|
|
||||||
- `outputs/md/` 存放 Markdown 报表
|
|
||||||
- `outputs/excel/` 存放 Excel 工作量统计
|
|
||||||
- 也可在 Web 工作台的「任务历史」页面直接下载
|
|
||||||
|
|
||||||
### Q: 如何修改端口?
|
|
||||||
|
|
||||||
在 jar 同目录下创建 `application.properties` 文件:
|
|
||||||
|
|
||||||
```properties
|
|
||||||
server.port=8080
|
|
||||||
```
|
|
||||||
|
|
||||||
Docker 方式修改 `docker-compose.yml` 中的端口映射:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
ports:
|
|
||||||
- "8080:18088"
|
|
||||||
```
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
# 闲鱼商品文案
|
|
||||||
|
|
||||||
## 商品标题(30字以内)
|
|
||||||
|
|
||||||
SVN/Git日报周报月报一键生成工具 本地离线 AI分析
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 商品描述
|
|
||||||
|
|
||||||
### 一句话介绍
|
|
||||||
|
|
||||||
程序员必备效率工具!连接 SVN 或 Git 仓库,一键生成日报、周报、月报,支持 AI 自动分析工作量,导出 Markdown + Excel。
|
|
||||||
|
|
||||||
### 痛点场景
|
|
||||||
|
|
||||||
- 每周写周报要翻半天 Git 提交记录?
|
|
||||||
- 项目经理要月度工作量统计,手动整理到崩溃?
|
|
||||||
- 外包项目交付,需要提供工作量证明?
|
|
||||||
- 团队成员多,汇总每个人的提交记录费时费力?
|
|
||||||
|
|
||||||
### 产品亮点
|
|
||||||
|
|
||||||
1. **一键生成**:选择仓库、选择周期、点击生成,3 步搞定
|
|
||||||
2. **双仓库支持**:SVN 远程仓库 + Git 本地仓库都能用
|
|
||||||
3. **三种周期**:日报 / 周报 / 月报,自动计算日期范围
|
|
||||||
4. **AI 智能分析**:接入 DeepSeek AI,自动提炼工作摘要(可选)
|
|
||||||
5. **Excel 导出**:直接生成工作量统计表,拿来就能用
|
|
||||||
6. **Web 操作界面**:浏览器打开就能用,不需要命令行
|
|
||||||
7. **本地离线运行**:数据不出你的电脑,安全放心
|
|
||||||
8. **Docker 一键部署**:`make up` 一条命令启动
|
|
||||||
|
|
||||||
### 你会得到什么
|
|
||||||
|
|
||||||
- 完整源码(Java 8 + Spring Boot)
|
|
||||||
- Windows 一键启动包(双击 start.bat 即可运行)
|
|
||||||
- macOS / Linux 启动脚本
|
|
||||||
- Docker 部署包
|
|
||||||
- 详细用户手册 + 快速开始指南
|
|
||||||
- 样例报表(周报 + 月报示例)
|
|
||||||
- 售后技术支持
|
|
||||||
|
|
||||||
### 技术栈
|
|
||||||
|
|
||||||
Java 8 / Spring Boot 2.7 / SVNKit / JGit / Apache POI / DeepSeek API
|
|
||||||
|
|
||||||
### 适合谁
|
|
||||||
|
|
||||||
- 需要写日报周报月报的开发者
|
|
||||||
- 需要统计团队工作量的项目经理
|
|
||||||
- 需要提供工作量证明的外包团队
|
|
||||||
- 想学习 Spring Boot + 前后端一体化项目的同学
|
|
||||||
|
|
||||||
### 运行环境
|
|
||||||
|
|
||||||
- Windows / macOS / Linux 均可
|
|
||||||
- 需要 Java 8+(或 Docker)
|
|
||||||
- AI 功能需要 DeepSeek API Key(免费额度够用很久)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 定价建议
|
|
||||||
|
|
||||||
- 基础版(源码 + 文档):¥149
|
|
||||||
- 标准版(+ 启动包 + 视频教程):¥299
|
|
||||||
- 专业版(+ 一对一部署支持 + 定制需求沟通):¥599
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 商品标签(搜索关键词)
|
|
||||||
|
|
||||||
SVN, Git, 日报, 周报, 月报, 工作量统计, 报表工具, 程序员工具,
|
|
||||||
AI分析, DeepSeek, Spring Boot, Java, 代码日志, 提交记录,
|
|
||||||
工作量证明, 项目管理, 效率工具
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 买家常见问题(FAQ)
|
|
||||||
|
|
||||||
**Q: 需要什么技术基础?**
|
|
||||||
A: 不需要编程基础。Windows 用户双击 start.bat 即可启动,打开浏览器操作。
|
|
||||||
|
|
||||||
**Q: AI 功能收费吗?**
|
|
||||||
A: 工具本身不收费。AI 功能使用 DeepSeek API,新用户有免费额度,日常使用每月花费不到 1 元。不用 AI 也能正常生成报表。
|
|
||||||
|
|
||||||
**Q: 支持哪些 SVN/Git 服务器?**
|
|
||||||
A: SVN 支持所有标准 SVN 服务器(VisualSVN、CollabNet 等)。Git 支持本地仓库(GitHub、GitLab、Gitee 克隆到本地的都行)。
|
|
||||||
|
|
||||||
**Q: 数据安全吗?**
|
|
||||||
A: 完全本地运行,不上传任何数据。AI 分析只发送提交信息摘要(不含源码)。
|
|
||||||
|
|
||||||
**Q: 买了之后怎么获取更新?**
|
|
||||||
A: 提供售后群,有更新会在群里通知。
|
|
||||||
|
|
||||||
**Q: 可以定制功能吗?**
|
|
||||||
A: 专业版包含定制需求沟通,简单需求可免费实现。
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
SVN/Git 日报周报月报一键生成 - Docker 使用说明
|
|
||||||
================================================
|
|
||||||
|
|
||||||
一、环境要求
|
|
||||||
-----------
|
|
||||||
- Docker 20.10+
|
|
||||||
- Docker Compose v2+
|
|
||||||
|
|
||||||
|
|
||||||
二、一键启动
|
|
||||||
-----------
|
|
||||||
将本目录下的 docker-compose.yml 放到任意位置,执行:
|
|
||||||
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
启动后访问:http://localhost:18088
|
|
||||||
|
|
||||||
查看状态:
|
|
||||||
docker compose ps
|
|
||||||
|
|
||||||
停止服务:
|
|
||||||
docker compose down
|
|
||||||
|
|
||||||
|
|
||||||
三、数据持久化
|
|
||||||
-----------
|
|
||||||
生成的报表保存在宿主机的 ./outputs/ 目录下。
|
|
||||||
容器重启后任务历史和输出文件不会丢失。
|
|
||||||
|
|
||||||
|
|
||||||
四、AI 功能配置(可选)
|
|
||||||
--------------------
|
|
||||||
方式一:在 Web 工作台 → 系统设置中填入 API Key
|
|
||||||
|
|
||||||
方式二:通过环境变量传入(修改 docker-compose.yml):
|
|
||||||
|
|
||||||
services:
|
|
||||||
svn-log-tool:
|
|
||||||
environment:
|
|
||||||
- DEEPSEEK_API_KEY=sk-your-key-here
|
|
||||||
|
|
||||||
|
|
||||||
五、技术支持
|
|
||||||
-----------
|
|
||||||
如有问题,请联系卖家获取支持。
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
services:
|
|
||||||
svn-log-tool:
|
|
||||||
image: svn-log-tool:latest
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
container_name: svn-log-tool
|
|
||||||
ports:
|
|
||||||
- "18088:18088"
|
|
||||||
volumes:
|
|
||||||
- ./outputs:/app/outputs
|
|
||||||
restart: unless-stopped
|
|
||||||
# 如需配置 AI 功能,取消下方注释并填入 API Key
|
|
||||||
# environment:
|
|
||||||
# - DEEPSEEK_API_KEY=sk-your-key-here
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
SVN/Git 日报周报月报一键生成 - macOS / Linux 使用说明
|
|
||||||
====================================================
|
|
||||||
|
|
||||||
一、环境要求
|
|
||||||
-----------
|
|
||||||
- macOS 10.12+ 或 Linux(Ubuntu/CentOS/Debian 等)
|
|
||||||
- Java 8 或更高版本(JRE 即可)
|
|
||||||
|
|
||||||
安装 Java:
|
|
||||||
macOS (Homebrew): brew install openjdk@8
|
|
||||||
Ubuntu / Debian: sudo apt install openjdk-8-jre
|
|
||||||
CentOS / RHEL: sudo yum install java-1.8.0-openjdk
|
|
||||||
|
|
||||||
|
|
||||||
二、使用方法
|
|
||||||
-----------
|
|
||||||
1. 打开终端,进入本目录
|
|
||||||
2. 执行启动脚本:
|
|
||||||
./start.sh
|
|
||||||
3. 浏览器打开 http://localhost:18088
|
|
||||||
4. 在 Web 工作台中操作
|
|
||||||
|
|
||||||
|
|
||||||
三、AI 工作量分析(可选)
|
|
||||||
-----------------------
|
|
||||||
如需使用 AI 自动分析功能:
|
|
||||||
1. 访问 https://platform.deepseek.com 获取 API Key
|
|
||||||
2. 在 Web 工作台 → 系统设置 → 填入 API Key
|
|
||||||
3. 生成报表时勾选"启用 AI 摘要"
|
|
||||||
|
|
||||||
不配置 API Key 也可正常使用基础报表功能。
|
|
||||||
|
|
||||||
|
|
||||||
四、常见问题
|
|
||||||
-----------
|
|
||||||
Q: 提示 Permission denied?
|
|
||||||
A: 执行 chmod +x start.sh 赋予执行权限。
|
|
||||||
|
|
||||||
Q: 端口 18088 被占用?
|
|
||||||
A: 关闭占用该端口的程序,或在 jar 同目录下创建
|
|
||||||
application.properties 文件,添加 server.port=8080
|
|
||||||
|
|
||||||
Q: 输出文件在哪里?
|
|
||||||
A: 在 start.sh 同目录的 outputs/ 文件夹下。
|
|
||||||
|
|
||||||
|
|
||||||
五、技术支持
|
|
||||||
-----------
|
|
||||||
如有问题,请联系卖家获取支持。
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# SVN/Git 日报周报月报一键生成 - 启动脚本
|
|
||||||
|
|
||||||
echo "============================================"
|
|
||||||
echo " SVN/Git 日报周报月报一键生成"
|
|
||||||
echo " 本地离线报表生成工具"
|
|
||||||
echo "============================================"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
# 检查 Java 环境
|
|
||||||
if ! command -v java &> /dev/null; then
|
|
||||||
echo "[错误] 未检测到 Java 环境。"
|
|
||||||
echo ""
|
|
||||||
echo "请安装 Java 8 或更高版本:"
|
|
||||||
echo ""
|
|
||||||
echo " macOS (Homebrew):"
|
|
||||||
echo " brew install openjdk@8"
|
|
||||||
echo ""
|
|
||||||
echo " Ubuntu / Debian:"
|
|
||||||
echo " sudo apt install openjdk-8-jre"
|
|
||||||
echo ""
|
|
||||||
echo " CentOS / RHEL:"
|
|
||||||
echo " sudo yum install java-1.8.0-openjdk"
|
|
||||||
echo ""
|
|
||||||
echo "安装完成后,请重新运行本脚本。"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 显示 Java 版本
|
|
||||||
JAVA_VER=$(java -version 2>&1 | head -n 1)
|
|
||||||
echo "[信息] 检测到 Java: $JAVA_VER"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
# 检查 jar 文件
|
|
||||||
JAR_FILE="svn-log-tool-1.0.0-jar-with-dependencies.jar"
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
||||||
|
|
||||||
if [ ! -f "$SCRIPT_DIR/$JAR_FILE" ]; then
|
|
||||||
echo "[错误] 未找到 $JAR_FILE"
|
|
||||||
echo "请确认 jar 文件与本脚本在同一目录下。"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 创建输出目录
|
|
||||||
mkdir -p "$SCRIPT_DIR/outputs"
|
|
||||||
|
|
||||||
echo "[启动] 正在启动 Web 工作台..."
|
|
||||||
echo "[信息] 启动后请在浏览器中访问: http://localhost:18088"
|
|
||||||
echo "[信息] 按 Ctrl+C 可停止服务"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
cd "$SCRIPT_DIR"
|
|
||||||
java -jar "$JAR_FILE"
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
SVN/Git 日报周报月报一键生成 - Windows 使用说明
|
|
||||||
================================================
|
|
||||||
|
|
||||||
一、环境要求
|
|
||||||
-----------
|
|
||||||
- Windows 7 / 10 / 11
|
|
||||||
- Java 8 或更高版本(JRE 即可)
|
|
||||||
|
|
||||||
如果尚未安装 Java,请访问以下地址下载:
|
|
||||||
https://adoptium.net/
|
|
||||||
选择 "JRE 8 (LTS)" → Windows x64 → 下载安装
|
|
||||||
|
|
||||||
安装后在命令行输入 java -version 确认安装成功。
|
|
||||||
|
|
||||||
|
|
||||||
二、使用方法
|
|
||||||
-----------
|
|
||||||
1. 双击 start.bat 启动服务
|
|
||||||
2. 浏览器打开 http://localhost:18088
|
|
||||||
3. 在 Web 工作台中操作:
|
|
||||||
- 选择仓库类型(SVN 或 Git)
|
|
||||||
- 选择报表周期(日报/周报/月报)
|
|
||||||
- 填写仓库信息,点击"生成"
|
|
||||||
4. 生成的报表在 outputs/ 目录下
|
|
||||||
|
|
||||||
|
|
||||||
三、AI 工作量分析(可选)
|
|
||||||
-----------------------
|
|
||||||
如需使用 AI 自动分析功能:
|
|
||||||
1. 访问 https://platform.deepseek.com 注册并获取 API Key
|
|
||||||
2. 在 Web 工作台 → 系统设置 → 填入 API Key
|
|
||||||
3. 生成报表时勾选"启用 AI 摘要"
|
|
||||||
|
|
||||||
不配置 API Key 也可正常使用基础报表功能。
|
|
||||||
|
|
||||||
|
|
||||||
四、常见问题
|
|
||||||
-----------
|
|
||||||
Q: 双击 start.bat 闪退?
|
|
||||||
A: 右键 start.bat → 以管理员身份运行,查看错误信息。
|
|
||||||
通常是 Java 未安装或未加入 PATH。
|
|
||||||
|
|
||||||
Q: 端口 18088 被占用?
|
|
||||||
A: 关闭占用该端口的程序,或修改 jar 同目录下的
|
|
||||||
application.properties 中的 server.port。
|
|
||||||
|
|
||||||
Q: SVN 连接失败?
|
|
||||||
A: 检查 SVN 地址、用户名、密码是否正确。
|
|
||||||
确认网络可以访问 SVN 服务器。
|
|
||||||
|
|
||||||
Q: 输出文件在哪里?
|
|
||||||
A: 在 start.bat 同目录的 outputs/ 文件夹下。
|
|
||||||
- outputs/md/ Markdown 报表
|
|
||||||
- outputs/excel/ Excel 工作量统计
|
|
||||||
|
|
||||||
|
|
||||||
五、技术支持
|
|
||||||
-----------
|
|
||||||
如有问题,请联系卖家获取支持。
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
@echo off
|
|
||||||
chcp 65001 >nul 2>&1
|
|
||||||
title SVN/Git 日报周报月报一键生成
|
|
||||||
|
|
||||||
echo ============================================
|
|
||||||
echo SVN/Git 日报周报月报一键生成
|
|
||||||
echo 本地离线报表生成工具
|
|
||||||
echo ============================================
|
|
||||||
echo.
|
|
||||||
|
|
||||||
:: 检查 Java 环境
|
|
||||||
where java >nul 2>&1
|
|
||||||
if %errorlevel% neq 0 (
|
|
||||||
echo [错误] 未检测到 Java 环境。
|
|
||||||
echo.
|
|
||||||
echo 请安装 Java 8 或更高版本:
|
|
||||||
echo 下载地址: https://adoptium.net/
|
|
||||||
echo 选择 JRE 8 (LTS) 下载安装即可。
|
|
||||||
echo.
|
|
||||||
echo 安装完成后,请重新运行本脚本。
|
|
||||||
echo.
|
|
||||||
pause
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
|
|
||||||
:: 检查 Java 版本
|
|
||||||
for /f "tokens=3" %%v in ('java -version 2^>^&1 ^| findstr /i "version"') do (
|
|
||||||
set JAVA_VER=%%v
|
|
||||||
)
|
|
||||||
echo [信息] 检测到 Java 版本: %JAVA_VER%
|
|
||||||
echo.
|
|
||||||
|
|
||||||
:: 检查 jar 文件
|
|
||||||
set JAR_FILE=svn-log-tool-1.0.0-jar-with-dependencies.jar
|
|
||||||
if not exist "%JAR_FILE%" (
|
|
||||||
echo [错误] 未找到 %JAR_FILE%
|
|
||||||
echo 请确认 jar 文件与本脚本在同一目录下。
|
|
||||||
echo.
|
|
||||||
pause
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
|
|
||||||
:: 创建输出目录
|
|
||||||
if not exist "outputs" mkdir outputs
|
|
||||||
|
|
||||||
echo [启动] 正在启动 Web 工作台...
|
|
||||||
echo [信息] 启动后请在浏览器中访问: http://localhost:18088
|
|
||||||
echo [信息] 按 Ctrl+C 可停止服务
|
|
||||||
echo.
|
|
||||||
|
|
||||||
java -jar "%JAR_FILE%"
|
|
||||||
|
|
||||||
pause
|
|
||||||
Reference in New Issue
Block a user