1. 新增 CustomEditor.vue 组件,提供富文本编辑功能,支持@提及、表情、图片和文件上传 2. 优化消息处理逻辑,增加空值检查和错误处理 3. 替换 PanelFooter.vue 中的默认编辑器为自定义编辑器 4. 更新 util.ts 和 talk.ts 中的相关逻辑,增强健壮性 自定义编辑器实现了更丰富的交互功能,包括: - 支持@提及用户并显示选择列表 - 支持插入表情符号和图片 - 优化文件上传处理流程 - 增强粘贴和键盘事件处理 |
||
---|---|---|
build/icons | ||
env | ||
public | ||
src | ||
.gitignore | ||
.prettierrc.json | ||
env.d.ts | ||
index.html | ||
package-lock.json | ||
package.json | ||
pnpm-lock.yaml | ||
README.md | ||
tsconfig.json | ||
uno.config.ts | ||
vite.config.ts |
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
安装依赖
pnpm install
开发环境运行
# 测试环境
pnpm dev:test
# 生产环境
pnpm dev:prod
打包构建
# 测试环境构建
pnpm build:test
# 生产环境构建
pnpm build:prod
预览构建后的项目
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等。
相关链接
许可证
Copyright © 2023 IM