From 63ebd737b0ac8051f5f240f8f7c495530df1071c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=8F=E5=BB=BA?= Date: Sun, 10 May 2026 19:49:29 +0800 Subject: [PATCH] =?UTF-8?q?docs(readme):=20=E6=9B=B4=E6=96=B0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=96=87=E6=A1=A3=E6=B7=BB=E5=8A=A0=E8=AF=A6=E7=BB=86?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加项目简介和主要特性介绍 - 补充完整的技术栈说明包括前端后端开发工具 - 详细描述安装与运行步骤及前置要求 - 完善项目结构目录说明 - 添加配置说明环境变量端口配置路径别名 - 补充测试命令和开发指南 - 更新贡献指南和许可证信息 - 添加作者致谢信息和注意事项 --- README.md | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) diff --git a/README.md b/README.md index e69de29..c36a7e6 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,200 @@ +# 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 和功能可能会有变化。