# onlyoffice **Repository Path**: wu-pingjie/onlyoffice ## Basic Information - **Project Name**: onlyoffice - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-04 - **Last Updated**: 2026-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Boot + Vue 集成 OnlyOffice 搭建指南 ## 1. 技术栈 - **后端**: Spring Boot 3.2.0 - **前端**: Vue 3 - **文档服务器**: OnlyOffice Document Server - **数据库**: MySQL - **容器化**: Docker ## 2. 环境准备 ### 2.1 安装必要软件 - JDK 17 或以上 - Maven 3.6 或以上 - Node.js 16 或以上 - Docker (用于运行 OnlyOffice) - MySQL 8.0 或以上 ## 3. 搭建步骤 ### 3.1 启动 OnlyOffice 服务 使用 Docker Compose 启动 OnlyOffice Document Server: ```bash docker-compose up -d ``` OnlyOffice 将在 http://localhost:8081 运行。 ### 3.2 配置 MySQL 数据库 1. 创建数据库: ```sql CREATE DATABASE onlyoffice CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. 创建用户并授权: ```sql CREATE USER 'root'@'%' IDENTIFIED BY 'root'; GRANT ALL PRIVILEGES ON onlyoffice.* TO 'root'@'%'; FLUSH PRIVILEGES; ``` ### 3.3 启动后端服务 1. 进入后端项目目录: ```bash cd springboot-onlyoffice ``` 2. 构建项目: ```bash mvn clean install ``` 3. 启动服务: ```bash mvn spring-boot:run ``` 后端服务将在 http://localhost:8080/api 运行。 ### 3.4 启动前端服务 1. 进入前端项目目录: ```bash cd vue-onlyoffice ``` 2. 安装依赖: ```bash npm install ``` 3. 启动开发服务器: ```bash npm run dev ``` 前端服务将在 http://localhost:5173 运行。 ## 4. 功能说明 ### 4.1 主要功能 - **文件上传**: 支持上传 doc、docx、xls、xlsx、ppt、pptx、pdf 等格式文件 - **在线编辑**: 通过 OnlyOffice 实现在线文档编辑 - **自动保存**: 编辑内容自动保存到服务器 - **文档列表**: 显示所有上传的文档,支持打开编辑 ### 4.2 API 端点 | 端点 | 方法 | 描述 | |------|------|------| | /api/onlyoffice/upload | POST | 上传文件 | | /api/onlyoffice/document/{id} | GET | 获取单个文档信息 | | /api/onlyoffice/documents | GET | 获取所有文档列表 | | /api/onlyoffice/editor/config/{id} | GET | 获取编辑器配置 | | /api/onlyoffice/callback | POST | 处理 OnlyOffice 回调 | | /api/files/{fileName} | GET | 访问上传的文件 | ## 5. 项目结构 ### 5.1 后端结构 ``` src/main/java/com/example/springbootonlyoffice/ ├── controller/ # 控制器层 │ ├── DocumentController.java # 文档相关接口 │ └── FileController.java # 文件访问接口 ├── entity/ # 实体类 │ └── Document.java # 文档实体 ├── repository/ # 数据访问层 │ └── DocumentRepository.java # 文档仓库 ├── service/ # 服务层 │ ├── DocumentService.java # 文档服务接口 │ └── impl/ # 服务实现 │ └── DocumentServiceImpl.java └── SpringbootOnlyofficeApplication.java # 启动类 ``` ### 5.2 前端结构 ``` src/ ├── components/ # Vue 组件 │ └── OnlyOfficeEditor.vue # OnlyOffice 编辑器组件 ├── App.vue # 根组件 ├── main.js # 入口文件 └── style.css # 全局样式 ``` ## 6. 使用说明 1. 访问 http://localhost:5173 2. 点击"选择文件"按钮上传文档 3. 上传成功后,自动进入文档编辑页面 4. 在文档列表中可以查看和编辑已上传的文档 ## 7. 注意事项 1. 确保 OnlyOffice 服务正常运行在 http://localhost:8081 2. 确保 MySQL 数据库连接配置正确 3. 首次启动时,Spring Boot 会自动创建数据库表 4. 上传的文件存储在后端项目的 `uploads` 目录下 5. OnlyOffice 编辑器需要浏览器支持 WebSocket ## 8. 故障排查 ### 8.1 无法连接 OnlyOffice - 检查 OnlyOffice 服务是否正常运行:`docker ps` - 检查 OnlyOffice 日志:`docker logs onlyoffice-document-server` ### 8.2 文档无法上传 - 检查文件大小限制 - 检查数据库连接是否正常 - 检查上传目录权限 ### 8.3 编辑器无法加载 - 检查浏览器控制台是否有错误 - 检查 OnlyOffice 服务是否可以访问 - 检查前端配置的 OnlyOffice URL 是否正确 ## 9. 扩展建议 1. 添加用户认证和授权 2. 实现文档版本控制 3. 增加文件类型限制和大小限制 4. 实现文档分享功能 5. 添加文档搜索功能 6. 实现文档预览功能 ## 10. 许可证 本项目基于 MIT 许可证开源。