# IM通讯 **Repository Path**: yanmingke/im-communication ## Basic Information - **Project Name**: IM通讯 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-10 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该项目旨在提供一个即时通讯(IM)系统的基础通信功能,包括用户注册、登录、信息获取、文件上传等功能。系统分为服务端和前端两部分,服务端使用Java语言开发,前端使用Vue.js框架。 ## 功能概述 ### 服务端功能 - **用户注册与登录**:支持用户注册、登录功能,包含验证码验证机制。 - **用户信息管理**:获取用户详细信息,包括昵称、头像、联系方式等。 - **文件上传**:支持图片和文件上传,包含私有和公共上传路径配置。 - **全局异常处理**:统一处理系统中各类异常,返回标准化响应。 - **安全与权限控制**:通过拦截器实现登录验证和权限控制。 - **加密工具类**:提供AES加密、JWT生成与解析等功能。 - **数据库操作**:使用MyBatis Plus进行数据库操作,支持用户信息的增删改查。 ### 前端功能 - **基础框架**:使用Vue.js和Element Plus构建前端界面。 - **路由管理**:通过Vue Router实现页面导航。 - **状态管理**:使用Vuex进行状态管理。 - **HTTP请求**:使用Axios进行网络请求,支持请求拦截和错误处理。 - **UI组件**:提供丰富的UI组件,包括按钮、输入框、对话框等。 - **工具类**:使用Lodash、Day.js等工具库进行数据处理和时间格式化。 ## 技术栈 ### 服务端 - **语言**:Java - **框架**:Spring Boot + MyBatis Plus - **安全**:JWT + AES加密 - **数据库**:MySQL(或其他关系型数据库) - **日志**:Logback - **配置管理**:application.yml ### 前端 - **语言**:JavaScript/TypeScript - **框架**:Vue.js + Vue Router + Vuex - **UI库**:Element Plus - **工具库**:Axios、Lodash、Day.js - **构建工具**:Vite ## 项目结构 ### 服务端 - **Application.java**:Spring Boot启动类。 - **Controller**:包含用户注册、登录、信息获取、文件上传等接口。 - **Mapper**:数据库操作接口,如ImUserMapper。 - **Pojo**:数据传输对象(DTO)、表单对象(Form)、视图对象(VO)。 - **Utils**:工具类,如AesEncryptUtil、JwtUtil、LoginUtil等。 - **Exception**:全局异常处理类,如GlobalControllerAdvice。 - **Interceptor**:请求拦截器,如AuthInterceptor。 - **Enums**:系统中使用的枚举类,如ResponseType、UserStatus等。 ### 前端 - **index.html**:入口HTML文件。 - **Vue组件**:使用Vue组件构建用户界面。 - **路由配置**:Vue Router配置页面导航。 - **状态管理**:Vuex管理全局状态。 - **工具类**:使用Lodash、Day.js等工具库进行数据处理。 - **UI组件**:Element Plus提供的丰富UI组件。 ## 安装与部署 ### 服务端 1. **依赖管理**:使用Maven管理依赖,pom.xml中配置Spring Boot、MyBatis Plus、JWT等依赖。 2. **数据库配置**:在application.yml中配置数据库连接信息。 3. **启动项目**:运行Application.java启动Spring Boot应用。 4. **测试接口**:使用Postman或Apifox测试用户注册、登录、上传等功能。 ### 前端 1. **安装依赖**:运行`npm install`安装项目依赖。 2. **启动开发服务器**:运行`npm run dev`启动Vite开发服务器。 3. **构建生产环境**:运行`npm run build`构建生产环境代码。 4. **部署**:将构建后的dist目录部署到Web服务器。 ## 使用说明 ### 服务端API - **用户注册**:POST `/app/user/registry` - **用户登录**:POST `/app/user/login` - **获取用户信息**:GET `/app/user/info` - **上传图片**:POST `/common/upload/image` 或 `/app/upload/image` - **文件上传**:POST `/app/upload/file` ### 前端页面 - **登录页面**:提供用户登录界面。 - **注册页面**:提供用户注册界面。 - **用户信息页面**:展示用户详细信息。 - **上传页面**:支持图片和文件上传功能。 ## 贡献指南 - **代码规范**:遵循Spring Boot和Vue.js的编码规范。 - **提交规范**:使用标准的Git提交信息格式。 - **测试要求**:所有功能需提供单元测试和集成测试。 - **文档更新**:每次功能更新需同步更新相关文档。 ## 许可证 该项目采用MIT许可证,详细信息请参考LICENSE文件。