# HmChat **Repository Path**: wengxiulin/hmchat ## Basic Information - **Project Name**: HmChat - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-20 - **Last Updated**: 2025-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HmChat #### 介绍 {**以下是 Gitee 平台说明,您可以替换此简介** Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} #### 软件架构 软件架构说明 ### 技术栈总结表 | 模块 | 推荐技术 | 参考案例 | | ---------------------------------------------------- | ------------------------------------------------------------ | -------------------------------------------------------- | | 前端框架 | Vue3 + Nuxt3、Tauri、React Native | JiwuChat | | 实时通信 | Socket.IO、Kafka、WebRTC | Vue-Chat | | 数据库 | MongoDB(主)、Redis(缓存) | 技术栈汇总 | | AI集成 | 讯飞星火API、HMS Core、LoRA微调 | HMS Core | | 部署运维 | Docker、AWS Fargate、GitHub Actions | Fargate.chat | | 安全 | JWT、HTTPS、AES | 环信技术指南 | | **功能模块** | **功能描述** | **状态** | | :----------------------------------------------------------- | :----------------------------------------------------------- | :--------------------------------------------------- | | 用户模块 | 支持账号、手机号和邮箱的登录和注册 | | | 消息模块 | 支持文本、图片、文件、语音、@用户、撤回、删除等多种消息类型的实时聊天功能 | | | 会话模块 | 支持群聊、私聊多种聊天模式,群主、管理员、普通用户等角色 | | | 联系人模块 | 支持查看、添加、删除联系人 | | | 系统版本模块 | 支持应用的自动更新、查看版本公告等 | | | 账号与安全模块 | 提供账号登录、修改密码、账号管理、设备安全、账号上下线等功能 | | | AI模块 | 群聊支持多种AI聊天机器人,如`DeepSeek`
`讯飞星火`
`KimiAI`
| | | 智能客服模块 | AI购物聊天功能,提供`极物圈`
下的商品推荐 | | | 文件下载管理模块 | 支持文件本地下载、打开、删除等功能 | | | 语音视频模块 | 基于WebRTC的共享屏幕、语音、视频聊天功能 | | | 其他功能 | 全局夜间模式、字体、自定义下载路径、多系统支持、定制化设置等 | | ##### 前端 ~~~shell hmchat-frontend/ ├── src/ │ ├── assets/ # 静态资源 │ │ ├── themes/ # 主题文件(深色/浅色CSS变量) │ │ └── icons/ # SVG图标库 │ ├── components/ # 通用组件 │ │ ├── core/ # 核心组件库 │ │ │ ├── ChatWindow.vue # 聊天主界面(消息列表+输入框) │ │ │ ├── VideoCallModal.vue # 音视频通话弹窗 │ │ │ └── AIChatBubble.vue # AI机器人对话气泡 │ │ └── features/ # 功能模块组件 │ │ ├── ai-shopping/ # AI购物相关组件 │ │ └── screen-share/ # 屏幕共享组件 │ ├── composables/ # Composition API逻辑 │ │ ├── chat/ │ │ │ ├── useSocket.ts # WebSocket连接管理 │ │ │ └── useMessage.ts # 消息发送/接收逻辑 │ │ ├── ai/ │ │ │ ├── useSparkAI.ts # 讯飞星火API封装 │ │ │ └── useShoppingAI.ts # 商品识别逻辑 │ │ └── webrtc/ │ │ ├── useVideoCall.ts # 音视频通话逻辑 │ │ └── useScreenShare.ts # 屏幕共享逻辑 │ ├── stores/ # Pinia状态管理 │ │ ├── auth.store.ts # 用户认证状态 │ │ ├── chat.store.ts # 聊天消息状态 │ │ └── settings.store.ts # 应用设置(主题/通知等) │ ├── pages/ # Nuxt3页面路由 │ │ ├── login.vue # 登录页 │ │ ├── chat/ │ │ │ ├── [roomId].vue # 动态聊天室页面 │ │ │ └── ai-shopping.vue # AI购物页面 │ │ └── settings/ # 设置子路由 │ ├── layouts/ # 全局布局 │ │ └── default.vue # 包含导航栏和WS连接监听 │ ├── plugins/ # 第三方插件 │ │ ├── socket.io.ts # Socket.IO客户端初始化 │ │ └── tauri.ts # Tauri API封装(文件读写等) │ └── utils/ │ ├── crypto.ts # 加密工具(AES) │ └── date-formatter.ts # 时间格式化 ├── src-tauri/ # Tauri桌面端配置 │ ├── icons/ # 应用图标(多尺寸) │ ├── Cargo.toml # Rust依赖 │ └── tauri.conf.json # 窗口配置/权限设置 ├── public/ # 公共资源 ├── nuxt.config.ts # SSR/模块配置 ├── tailwind.config.js # 主题颜色扩展 └── package.json ~~~ ##### 后端 ~~~shell hmchat-backend/ ├── src/main/ │ ├── java/com/hmchat/ │ │ ├── application/ # 主应用入口 │ │ │ └── HmChatApplication.java │ │ ├── config/ │ │ │ ├── WebSecurityConfig.java # Spring Security配置 │ │ │ ├── WebSocketConfig.java # STOMP协议配置 │ │ │ └── MongoConfig.java # 多数据源配置 │ │ ├── controller/ │ │ │ ├── api/ # REST API │ │ │ │ ├── AuthController.java # 登录/注册 │ │ │ │ └── UserController.java # 用户管理 │ │ │ └── ws/ # WebSocket端点 │ │ │ ├── ChatWebSocket.java # 聊天消息处理 │ │ │ └── WebRTCSignaling.java # 信令服务器 │ │ ├── service/ │ │ │ ├── impl/ # 服务实现类 │ │ │ │ ├── ChatServiceImpl.java │ │ │ │ └── AIServiceImpl.java │ │ │ └── AI/ # AI服务模块 │ │ │ ├── SparkAIService.java # 讯飞星火集成 │ │ │ └── ShoppingAIService.java # 商品识别服务 │ │ ├── repository/ # 数据访问层 │ │ │ ├── UserRepository.java # Spring Data MongoDB │ │ │ └── MessageRepository.java │ │ ├── model/ # 数据模型 │ │ │ ├── dto/ # DTO类 │ │ │ │ ├── ChatMessageDTO.java │ │ │ │ └── AIRequest.java │ │ │ ├── entity/ # 数据库实体 │ │ │ │ ├── User.java │ │ │ │ └── Message.java │ │ │ └── enums/ # 枚举类 │ │ │ └── MessageType.java # 文本/图片/文件等 │ │ ├── exception/ # 自定义异常 │ │ │ └── GlobalExceptionHandler.java # 全局异常处理 │ │ └── utils/ │ │ ├── JwtUtils.java # JWT工具 │ │ ├── RedisUtils.java # Redis客户端 │ │ └── WebRTCUtils.java # 信令服务器工具 │ ├── resources/ │ │ ├── application.yml # 主配置文件 │ │ ├── static/ # 静态资源(可选) │ │ └── templates/ # 邮件模板等 ├── src/test/ # 单元测试 │ └── java/com/hmchat/ │ └── service/ChatServiceTest.java ├── docker/ # 容器化配置 │ ├── Dockerfile # Java应用镜像 │ └── docker-compose.yml # 依赖服务(MongoDB+Redis+Kafka) ├── mvnw # Maven Wrapper ├── pom.xml # Maven依赖(含Spring Boot+WebSocket+JWT) └── .gitignore ~~~ #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)