# LumenIM - 在线即时通讯应用

LumenIM 是一个基于 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 LumenIM
