Files

201 lines
5.1 KiB
Markdown
Raw Permalink Normal View History

# Rolegram
一个基于 Vue 3 和 Tauri 2 构建的现代化桌面应用程序。
## 📖 项目简介
Rolegram 是一个跨平台桌面应用,结合了现代 Web 技术与原生桌面能力,提供流畅的用户体验和强大的本地功能。
## ✨ 主要特性
- 🚀 **现代化技术栈**: Vue 3.5 + TypeScript + Vite 8
- 💻 **跨平台支持**: 基于 Tauri 2,支持 Windows、macOS 和 Linux
- 🎨 **美观界面**: TailwindCSS 4 + DaisyUI 5 打造的用户界面
- 🔔 **通知系统**: 集成 Tauri 通知插件
- 💾 **本地数据库**: SQLite 支持,数据本地存储
- 🔌 **插件系统**: 可扩展的插件架构(文件插件、文本插件等)
- 🤖 **自动化工作流**: 支持自动化规则和定时任务
- 💬 **聊天功能**: 内置聊天窗口和消息管理
- 🌐 **P2P 通信**: 基于 Iroh 的去中心化通信能力
## 🛠️ 技术栈
### 前端
- **框架**: Vue 3.5.13
- **路由**: Vue Router 5.0.3
- **构建工具**: Vite 8.0.0
- **语言**: TypeScript 5.6.2
- **样式**: TailwindCSS 4.2.1 + DaisyUI 5.5.19
- **图标**: Lucide Icons (@lucide/vue)
- **测试**: Vitest 4.1.0
### 后端 (Rust)
- **框架**: Tauri 2.x
- **数据库**: SQLite (tauri-plugin-sql)
- **P2P 网络**: Iroh 0.97
- **异步运行时**: Tokio
- **序列化**: Serde
### 开发工具
- **包管理器**: pnpm
- **Node.js 版本**: v24.15.0 (通过 fnm 管理)
## 📦 安装与运行
### 前置要求
- Node.js >= 24.x (推荐使用 fnm 管理版本)
- Rust >= 1.70
- pnpm >= 8.x
### 安装依赖
```bash
pnpm install
```
### 开发模式
启动前端开发服务器和 Tauri 应用:
```bash
pnpm tdev
# 或
pnpm run tauri dev
```
仅启动前端开发服务器:
```bash
pnpm dev
```
### 构建生产版本
```bash
pnpm build
```
构建 Tauri 应用:
```bash
pnpm tauri build
```
### 预览生产构建
```bash
pnpm preview
```
## 📁 项目结构
```
rolegram/
├── src/ # 前端源代码
│ ├── api/ # API 接口定义
│ ├── assets/ # 静态资源
│ ├── components/ # Vue 组件
│ │ ├── automation/ # 自动化相关组件
│ │ ├── chat/ # 聊天相关组件
│ │ └── home/ # 主页相关组件
│ ├── composables/ # Vue 组合式函数
│ ├── pages/ # 页面组件
│ │ ├── home/ # 主页子页面
│ │ ├── home.vue # 主页面
│ │ └── login.vue # 登录页面
│ ├── types/ # TypeScript 类型定义
│ ├── utils/ # 工具函数
│ ├── App.vue # 根组件
│ └── main.ts # 入口文件
├── src-tauri/ # Tauri/Rust 后端
│ ├── src/
│ │ ├── db/ # 数据库模块
│ │ ├── handlers/ # Tauri 命令处理器
│ │ ├── iroh/ # P2P 网络模块
│ │ ├── plugins/ # 插件系统
│ │ └── router/ # 消息路由
│ ├── capabilities/ # Tauri 权限配置
│ ├── icons/ # 应用图标
│ └── Cargo.toml # Rust 依赖配置
├── public/ # 公共资源
├── .node-version # Node.js 版本配置
├── package.json # 项目依赖配置
├── vite.config.ts # Vite 配置
└── tsconfig.json # TypeScript 配置
```
## 🔧 配置说明
### 环境变量
- `TAURI_DEV_HOST`: Tauri 开发主机地址(可选)
### 端口配置
- Vite 开发服务器: `1420`
- HMR WebSocket: `1421`
### 路径别名
- `@/*``./src/*`
## 🧪 测试
运行单元测试:
```bash
pnpm vitest
```
运行测试并生成覆盖率报告:
```bash
pnpm vitest --coverage
```
## 📝 开发指南
### 添加新功能
1. 在前端创建新的 Vue 组件和页面
2. 如需原生功能,在 `src-tauri/src` 中添加 Rust 代码
3.`src-tauri/capabilities/default.json` 中配置所需权限
4. 使用 Tauri API 在前端调用后端功能
### 数据库迁移
数据库迁移文件位于 `src-tauri/src/db/migrations.rs`,使用 SQLx 管理数据库 schema。
### 插件开发
插件系统位于 `src-tauri/src/plugins/`,可以创建自定义插件来扩展应用功能。
## 🤝 贡献指南
欢迎提交 Issue 和 Pull Request
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
## 📄 许可证
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件
## 👥 作者
- **you** - 初始开发
## 🙏 致谢
- [Tauri](https://tauri.app/) - 优秀的跨平台桌面应用框架
- [Vue.js](https://vuejs.org/) - 渐进式 JavaScript 框架
- [Iroh](https://iroh.computer/) - 去中心化 P2P 网络库
---
**注意**: 本项目正在积极开发中,API 和功能可能会有变化。