OnlyChat 是一个基于 Vue.js 和 Flask 的实时聊天应用,支持点对点通信、Markdown 消息、文件传输等功能。
- 🚀 基于 WebSocket 的实时通信
- 👥 用户在线状态实时显示
- 📝 支持 Markdown 格式消息
- 📎 支持文件传输
- 📱 响应式设计,支持移动端
- 🏷️ 支持自定义昵称
- 🎯 使用 SQLite 持久化存储用户信息
- 💫 优雅的 UI 界面,支持深色/浅色主题
- Vue.js 2.x
- Element UI
- Socket.io-client
- Toast UI Editor (Markdown 编辑器)
- Flask
- Flask-SocketIO
- SQLAlchemy
- SQLite
- Python 3.8+
- Node.js 16+
- npm 7+
- 克隆仓库
git clone https://github.com/manxisuo/OnlyChat.git
cd OnlyChat- 安装后端依赖
cd backend
python -m venv venv
source venv/bin/activate # Linux/macOS
# 或者
.\venv\Scripts\activate # Windows
pip install -r requirements.txt- 安装前端依赖
cd ../frontend
npm install- 启动后端服务器
cd backend
python app.py- 启动前端开发服务器
cd frontend
npm run serve- 构建前端
cd frontend
npm run build- 启动生产服务器
cd ../backend
python app.py访问 http://localhost:8080 即可使用应用。
- 打开应用后,系统会自动使用你的 IP 地址作为初始昵称
- 点击左上角的昵称标签可以修改你的昵称
- 在左侧用户列表中选择一个在线用户开始聊天
- 使用底部输入框发送消息
- 普通文本模式:直接输入文字
- Markdown 模式:切换复选框后使用 Markdown 语法
- 文件发送:点击回形针图标
- Ctrl + Enter 发送消息,Enter 换行
- 可以通过左侧和底部的折叠按钮调整界面布局
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的改动 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开一个 Pull Request
如果你有任何问题或建议,欢迎提出 Issue 或 Pull Request。
感谢所有为这个项目做出贡献的开发者。