# da2mqtt **Repository Path**: idex_1/da2mqtt ## Basic Information - **Project Name**: da2mqtt - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-22 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DataPulse - 数据脉冲 一个使用 Rust + Vue3 构建的现代化 Web 应用,包含用户认证系统和美观的 UI 界面。 ## 技术栈 ### 后端 - **Rust** - 系统编程语言 - **Axum** - 现代、快速、易用的 Web 框架 - **SQLite** - 轻量级数据库 - **SQLx** - 异步 SQL 工具包 - **JWT** - JSON Web Token 认证 - **bcrypt** - 密码哈希 ### 前端 - **Vue 3** - 渐进式 JavaScript 框架 - **Element Plus** - Vue 3 组件库 - **Vue Router** - 官方路由管理器 - **Pinia** - Vue 状态管理 - **Vite** - 快速构建工具 ## 项目结构 ``` DataPulse/ ├── src/ # Rust 后端源码 │ ├── main.rs # 主程序入口 │ ├── db/ # 数据库模块 │ ├── handlers/ # 请求处理器 │ └── models/ # 数据模型 ├── migrations/ # 数据库迁移文件 ├── web/ # Vue3 前端源码 │ ├── src/ │ │ ├── components/ # Vue 组件 │ │ ├── views/ # 页面视图 │ │ ├── router/ # 路由配置 │ │ └── stores/ # 状态管理 │ ├── package.json # 前端依赖 │ └── vite.config.js # Vite 配置 └── Cargo.toml # Rust 依赖配置 ``` ## 快速开始 ### 1. 启动后端服务 ```bash # 安装 Rust 依赖 cargo build # 设置环境变量(可选) export DATABASE_URL="sqlite:./data.db" export RUST_LOG="info" # 启动服务 cargo run ``` 后端服务将在 `http://localhost:3000` 启动。 ### 2. 启动前端服务 ```bash # 进入前端目录 cd web # 安装依赖 npm install # 启动开发服务器 npm run dev ``` 前端应用将在 `http://localhost:8080` 启动。 ## API 接口 ### 用户认证 - `POST /api/users/register` - 用户注册 - `POST /api/users/login` - 用户登录 - `GET /api/users/profile` - 获取用户信息 ### 请求示例 #### 注册 ```json POST /api/users/register { "username": "testuser", "email": "test@example.com", "password": "password123" } ``` #### 登录 ```json POST /api/users/login { "username": "testuser", "password": "password123" } ``` ## 数据库 项目使用 SQLite 数据库,数据库文件将自动创建在项目根目录下的 `data.db`。 ### 用户表结构 ```sql CREATE TABLE users ( id TEXT PRIMARY KEY NOT NULL, username TEXT UNIQUE NOT NULL, email TEXT UNIQUE NOT NULL, password_hash TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` ## 特性 - ✅ 用户注册和登录 - ✅ JWT 认证 - ✅ 密码加密存储 - ✅ 响应式 UI 设计 - ✅ 路由保护 - ✅ 数据库迁移 - ✅ CORS 支持 - ✅ 错误处理 ## 开发 ### 添加新的 API 端点 1. 在 `src/handlers/` 中添加新的处理函数 2. 在 `src/main.rs` 中注册路由 3. 更新前端路由和组件 ### 数据库变更 1. 在 `migrations/` 目录下创建新的 SQL 文件 2. 重启后端服务,迁移将自动运行 ## 部署 ### 构建前端 ```bash cd web npm run build ``` ### 构建后端 ```bash cargo build --release ``` ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request!