105 lines
2.2 KiB
Markdown
105 lines
2.2 KiB
Markdown
# 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
|