# IM - 在线即时通讯应用 IM 是一个基于 Vue 3 开发的现代化在线即时通讯应用,提供实时聊天、消息管理、笔记等功能。 ## 功能特性 - 📱 实时聊天:支持一对一即时通讯 - 📝 消息管理:高效管理各类消息 - 📓 笔记功能:支持Markdown格式的笔记编辑与管理 - 🌓 暗色模式:支持明暗主题切换,呵护您的眼睛 - 🔒 用户认证:完善的登录注册系统 ## 技术栈 - **前端框架**:Vue 3 + TypeScript - **状态管理**:Pinia - **UI组件库**:Naive UI - **路由管理**:Vue Router - **CSS预处理器**:Less - **构建工具**:Vite - **WebSocket**:用于实时通讯 - **编辑器**: - Markdown编辑器:@kangc/v-md-editor - 富文本编辑器:Quill ## 快速开始 ### 环境要求 - Node.js >= 14.0.0 - pnpm >= 6.0.0 ### 安装依赖 ```bash pnpm install ``` ### 开发环境运行 ```bash # 测试环境 pnpm dev:test # 生产环境 pnpm dev:prod ``` ### 打包构建 ```bash # 测试环境构建 pnpm build:test # 生产环境构建 pnpm build:prod ``` ### 预览构建后的项目 ```bash pnpm preview ``` ## 项目结构 ``` src/ ├── api/ # API请求 ├── assets/ # 静态资源 ├── components/ # 公共组件 ├── connect.ts # WebSocket连接管理 ├── constant/ # 常量定义 ├── directive/ # 自定义指令 ├── event/ # 事件管理 ├── hooks/ # 自定义钩子 ├── layout/ # 布局组件 ├── main.ts # 入口文件 ├── plugins/ # 插件配置 ├── router/ # 路由配置 ├── store/ # 状态管理 ├── types/ # 类型定义 ├── utils/ # 工具函数 └── views/ # 页面视图 ``` ## 环境变量配置 项目支持不同环境配置,环境变量文件位于`env/`目录下。 ## 浏览器支持 支持现代浏览器,如Chrome、Firefox、Safari、Edge等。 ## 相关链接 - [Vue 3](https://v3.vuejs.org/) - [Vite](https://vitejs.dev/) - [Naive UI](https://www.naiveui.com/) - [Pinia](https://pinia.vuejs.org/) ## 许可证 Copyright © 2023 IM