# document-transfer **Repository Path**: qiqd/document-transfer ## Basic Information - **Project Name**: document-transfer - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-07 - **Last Updated**: 2025-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文档转换平台项目 ## 项目简介 文档转换平台是一个完整的在线文档转换解决方案,包含微信小程序前端和 Spring Boot 后端服务,支持多种文档格式的上传、转换和管理。 ## 项目结构 ``` transfer/ ├── document-transfer-wx/ # 微信小程序前端 └── document-transfer/ # Spring Boot后端服务 ``` ## 技术栈 ### 前端(document-transfer-wx) - 微信小程序原生开发 - WXML/WXSS/JavaScript ### 后端(document-transfer) - Spring Boot 2.7.15 - MyBatis-Plus 3.5.3.1 - Redis - MySQL 8.0.33 - Aliyun OSS - Aspose.Words(文档转换库) - JWT(认证) - Swagger(API 文档) ## 核心功能 ### 1. 文件管理 - **文件上传**:支持单个文件上传和分片上传,前端支持拖拽交互体验 - **文件下载**:生成临时下载链接,支持文件保存到本地 - **文件列表**:按用户查询文件,支持文件搜索和管理 - **文件删除**:支持删除用户文件 ### 2. 文档转换 - **创建转换任务**:指定源文件和目标格式创建转换任务 - **任务状态查询**:查询转换任务的处理状态 - **异步转换处理**:使用线程池异步处理转换任务 - **支持多种格式**: - 文档格式:docx、doc、pdf、html、txt、markdown 等 - 图片格式:jpg、jpeg、png、gif、bmp、svg 等 ### 3. 用户管理 - **微信登录**:支持微信授权登录 - **会员管理**:支持会员状态查询和更新 - **转换次数限制**:限制免费用户的每日转换次数 - **用户状态管理**:支持启用/禁用用户 ## 前端功能模块 ### 页面结构 - **首页**:提供文件上传入口和功能导航 - **文件列表**:展示用户上传的文件,支持文件管理操作 - **文件上传**:支持文件选择、格式选择和上传,包含拖拽交互体验 - **转换任务**:展示用户的转换任务列表,支持任务状态查询 - **任务详情**:展示单个转换任务的详细信息和操作 - **个人中心**:用户信息展示和功能设置 - **帮助中心**:提供使用指南和常见问题解答 ### 交互特性 - 文件上传区域支持拖拽交互反馈 - 转换进度实时显示 - 任务状态更新和提醒 - 适配不同屏幕尺寸的响应式布局 ## 后端功能模块 ### 控制器层 - **ConvertTaskController**:转换任务相关 API - **FileController**:文件管理相关 API - **MemberRecordController**:会员记录相关 API - **UserController**:用户管理相关 API ### 服务层 - **ConvertTaskService**:转换任务处理服务 - **FileService**:文件存储和管理服务 - **MemberRecordService**:会员服务 - **UserService**:用户服务 ### 数据访问层 - 使用 MyBatis-Plus 实现数据持久化 - 支持 MySQL 和 Redis 缓存 ## 快速开始 ### 后端部署 1. 准备环境:JDK 1.8、MySQL 8.0、Redis 2. 配置修改:修改`application.yml`配置文件中的数据库、Redis、OSS 等配置信息 3. 项目构建: ```bash cd document-transfer mvn clean package ``` 4. 项目运行: ```bash java -jar target/document-transfer-1.0-SNAPSHOT.jar ``` 5. API 文档访问:http://localhost:8080/swagger-ui.html ### 前端开发 1. 使用微信开发者工具导入`document-transfer-wx`项目 2. 修改`project.config.json`中的 appid 为您的小程序 appid 3. 在开发者工具中编译运行项目 ## 配置说明 ### 后端主要配置项 - `spring.datasource`:数据库配置 - `spring.redis`:Redis 配置 - `aliyun.oss`:OSS 配置 - `aspose.words`:Aspose 文档转换配置 - `convert.task`:转换任务相关配置 - `convert.thread-pool`:转换线程池配置 ### 前端配置项 - `app.json`:小程序页面配置和 tabBar 配置 - `project.config.json`:项目基本配置和编译设置 ## 开发指南 ### 前端开发规范 - 页面结构遵循 WXML 标准 - 样式使用 WXSS,支持 Flex 布局 - 逻辑代码使用 JavaScript,遵循微信小程序开发规范 - 组件化开发,提高代码复用性 ### 后端开发规范 - 遵循 Spring Boot 开发规范 - 采用分层架构设计 - 接口文档使用 Swagger 自动生成 - 代码风格统一,使用 Lombok 简化代码 ## 常见问题 ### 文件上传失败 - 检查文件大小是否超过限制 - 检查网络连接是否正常 - 查看控制台错误信息 ### 转换任务失败 - 检查源文件格式是否支持 - 检查文件内容是否损坏 - 查看系统日志获取详细错误信息 ### 用户登录问题 - 确保小程序已获取用户授权 - 检查网络连接是否正常 - 确认用户状态是否正常 ## 后续优化方向 1. 支持更多文档格式的转换 2. 提高转换效率和并发处理能力 3. 优化用户界面和使用体验 4. 添加更多高级功能,如云打印、批量处理等 5. 增强系统安全性和稳定性 ## 注意事项 - 本项目使用了 Aspose.Words 商业库,生产环境需要购买授权 - 请确保配置正确的阿里云 OSS 账号信息 - 开发环境中可使用 mock 数据进行测试 ---