# 私活-Coathanger **Repository Path**: gc482426/private-work-Coathanger ## Basic Information - **Project Name**: 私活-Coathanger - **Description**: 私活-晾衣杆(华为云) - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-29 - **Last Updated**: 2025-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 设备管理系统 (Device Admin) ## 项目介绍 设备管理系统是一个基于Spring Boot开发的物联网设备管理平台,提供设备信息管理、用户管理和设备监控等功能。系统集成了华为云IoT平台,可以实现对云端设备的管理和监控。 ## 系统架构 项目采用经典的多模块Maven架构,遵循分层设计原则,各模块职责明确: ``` device-admin ├── device-common // 公共模块,包含实体类、常量、工具类等 ├── device-dao // 数据访问层,包含Mapper接口和数据库配置 ├── device-service // 业务逻辑层,包含服务接口和实现 ├── device-web // Web层,包含控制器和配置类 └── pom.xml // 父POM文件 ``` ## 核心功能 ### 用户管理 - 用户注册与登录 - 基于JWT的身份认证 - 令牌黑名单管理 ### 设备管理 - 设备信息的增删改查 - 按用户查询设备列表 - 设备状态监控 ### 华为云IoT平台集成 - 云端设备数据同步 - 设备状态实时监控 - 设备远程控制 ## 技术栈 ### 后端技术 - **核心框架**:Spring Boot - **ORM框架**:MyBatis - **数据库**:MySQL - **连接池**:Druid - **安全认证**:JWT (JSON Web Token) - **IoT平台**:华为云IoT平台 ### 开发工具 - **构建工具**:Maven - **IDE**:IntelliJ IDEA(推荐) - **数据库工具**:MySQL Workbench ## 数据库设计 系统包含以下主要数据表: - **base_user**:用户信息表 - **device_info**:设备信息表 - **token_blacklist**:JWT令牌黑名单表 ## 快速开始 ### 环境要求 - JDK 8+ - Maven 3.6+ - MySQL 5.7+ ### 配置数据库 1. 创建名为`device-admin`的数据库 2. 执行`create_table.sql`脚本创建数据库表 3. 根据需要修改`application.yml`中的数据库连接信息 ### 配置华为云IoT平台 在`application.yml`中配置华为云IoT平台的认证信息: ```yaml huawei-auth: REGION_ID: cn-north-4 ENDPOINT: xxx.iotda-app.cn-north-4.myhuaweicloud.com AK: 您的AK SK: 您的SK PROJECT_ID: 您的项目ID ``` ### 启动应用 ```bash # 编译打包 mvn clean package # 运行应用 java -jar device-web/target/device-web-1.0-SNAPSHOT.jar ``` 应用默认运行在 http://localhost:8080 ## API文档 ### 用户相关API - `POST /api/auth/login` - 用户登录 - `POST /api/auth/logout` - 用户登出 ### 设备相关API - `GET /api/devices/all` - 获取所有设备列表 - `GET /api/devices/{id}` - 根据ID获取设备 - `GET /api/devices/user/{userId}` - 获取用户的设备列表 - `POST /api/devices/create` - 创建新设备 - `PUT /api/devices/update/{id}` - 更新设备信息 - `DELETE /api/devices/delete/{id}` - 删除设备 - `POST /api/devices/getDeviceList` - 获取云端设备列表 ## 安全说明 - 系统使用JWT进行身份认证 - 敏感信息(如华为云AK/SK)应在生产环境中加密存储 - 系统实现了令牌黑名单机制,确保已登出的令牌无法再次使用 ## 贡献指南 1. Fork 本仓库 2. 创建您的特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交您的更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 打开一个 Pull Request ## 许可证 [MIT](LICENSE)