重构项目结构,移除旧Java客户端,添加前后端目录
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
111
README.md
111
README.md
@@ -1,93 +1,72 @@
|
||||
# SVN Manager
|
||||
|
||||
SVN管理工具 - 多项目管理界面
|
||||
|
||||
## 项目简介
|
||||
|
||||
基于 JavaFX 开发的 SVN 管理工具,提供图形化界面进行 SVN 仓库的日常操作。
|
||||
SVN 管理工具 - 多项目管理界面
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **Java**: 11+
|
||||
- **JavaFX**: 17.0.2
|
||||
- **Maven**: 构建工具
|
||||
- **Jackson**: JSON 解析
|
||||
- **Logback**: 日志管理
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 1. 仓库管理
|
||||
- Checkout 检出仓库
|
||||
- Update 更新仓库
|
||||
- Commit 提交修改
|
||||
|
||||
### 2. 文件操作
|
||||
- Add 添加文件
|
||||
- Delete 删除文件
|
||||
- Revert 回退文件
|
||||
|
||||
### 3. 版本查看
|
||||
- Status 查看状态
|
||||
- Log 查看日志
|
||||
- Diff 查看差异
|
||||
- Info 查看信息
|
||||
|
||||
### 4. 分支管理
|
||||
- Create Branch 创建分支
|
||||
- Switch 切换分支
|
||||
- Merge 合并分支
|
||||
- **前端**: Vue 3 + Vite + Pinia + Axios(IDEA 风格深色主题)
|
||||
- **后端**: Java 17 + Spring Boot 3,REST API,本地调用 `svn` CLI
|
||||
- **配置**: 项目列表存储在 `~/.svn-manager/projects.json`
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
svn-manager/
|
||||
├── src/
|
||||
│ ├── main/
|
||||
│ │ ├── java/
|
||||
│ │ │ └── com/svnmanager/
|
||||
│ │ │ ├── controller/ # UI控制器
|
||||
│ │ │ ├── service/ # SVN服务封装
|
||||
│ │ │ ├── model/ # 数据模型
|
||||
│ │ │ ├── util/ # 工具类
|
||||
│ │ │ └── MainApp.java
|
||||
│ │ └── resources/
|
||||
│ │ ├── fxml/ # FXML界面文件
|
||||
│ │ ├── css/ # 样式文件
|
||||
│ │ └── application.properties
|
||||
│ └── test/
|
||||
├── pom.xml
|
||||
├── backend/ # Java Spring Boot 后端
|
||||
│ ├── src/main/java/com/svnmanager/
|
||||
│ │ ├── controller/ # REST 控制器
|
||||
│ │ ├── service/ # SVN 服务与文件树
|
||||
│ │ ├── model/ # 数据模型
|
||||
│ │ └── util/ # 配置与进程工具
|
||||
│ └── pom.xml
|
||||
├── frontend/ # Vue 3 前端
|
||||
│ ├── src/
|
||||
│ │ ├── api/ # API 客户端
|
||||
│ │ ├── components/ # 侧栏、工具栏、文件树、弹窗
|
||||
│ │ ├── stores/ # Pinia 状态
|
||||
│ │ └── App.vue
|
||||
│ └── package.json
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 构建与运行
|
||||
## 运行方式
|
||||
|
||||
### 前置要求
|
||||
- JDK 11 或更高版本
|
||||
- Maven 3.6+
|
||||
- SVN 客户端已安装并配置在系统 PATH 中
|
||||
|
||||
### 编译项目
|
||||
- JDK 17+
|
||||
- Node.js 18+
|
||||
- 系统已安装 `svn` 并已在 PATH 中
|
||||
|
||||
### 1. 启动后端
|
||||
|
||||
```bash
|
||||
mvn clean compile
|
||||
cd backend
|
||||
mvn spring-boot:run
|
||||
```
|
||||
|
||||
### 运行项目
|
||||
后端默认端口:`8080`,API 前缀:`/api`。
|
||||
|
||||
### 2. 启动前端
|
||||
|
||||
```bash
|
||||
mvn javafx:run
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 打包项目
|
||||
```bash
|
||||
mvn clean package
|
||||
```
|
||||
浏览器访问 Vite 提供的地址(如 `http://localhost:5173`)。开发环境下 Vite 会将 `/api` 代理到 `http://localhost:8080`。
|
||||
|
||||
## 开发说明
|
||||
### 3. 生产构建
|
||||
|
||||
项目采用 MVC 架构模式:
|
||||
- **Controller**: 处理 UI 交互逻辑
|
||||
- **Service**: 封装 SVN 命令调用
|
||||
- **Model**: 解析 SVN 输出数据
|
||||
- **Util**: 提供通用工具方法
|
||||
- 后端:`cd backend && mvn package`,运行 `java -jar target/svn-manager-backend-1.0.0.jar`
|
||||
- 前端:`cd frontend && npm run build`,将 `dist/` 部署到任意静态服务器,并配置 API 代理或同域部署
|
||||
|
||||
## 功能说明
|
||||
|
||||
- **项目列表**:左侧栏展示已配置项目,点击切换当前项目
|
||||
- **添加项目**:填写本地工作副本路径(及可选 SVN 地址、账号密码)保存到 `~/.svn-manager/projects.json`
|
||||
- **文件树**:选中项目后自动拉取 `svn status` 并展示树形结构,支持 SVN 状态徽章(M/A/D/C/?)
|
||||
- **工具栏**:刷新状态、更新、提交、日志、差异;提交/日志/差异通过弹窗完成
|
||||
|
||||
## 许可证
|
||||
|
||||
|
||||
Reference in New Issue
Block a user