# Enterprise SaaS Dashboard Design This is a code bundle for Enterprise SaaS Dashboard Design. The original project is available at https://www.figma.com/design/SD8ReJmCwErmfmNVnHRlJb/Enterprise-SaaS-Dashboard-Design. ## 🎯 项目简介 企业级SaaS设备管理平台,提供设备全生命周期管理、授权许可管理、维修工单、固件库及系统配置等功能。 ### ✨ 核心功能 - **设备管理** - 设备注册、列表、详情、BOM清单 - **授权管理** - 授权项配置、授权文件生成、手机APP下载接口 ⭐ NEW - **配置文件管理** - 设备技术参数配置 - **维修管理** - 维修工单创建、跟踪、统计 - **固件管理** - 固件版本管理、发布 - **报废管理** - 设备报废流程管理 ## 🚀 快速开始 ### 安装依赖 ```bash npm i ``` ### 启动开发服务器 ```bash npm run dev ``` 访问 http://localhost:3000 ### 构建生产版本 ```bash npm run build npm run preview ``` ## 📚 新增功能:授权文件管理 ### 功能概述 本平台现已支持根据授权项和配置文件自动生成JSON格式的授权文件,手机APP可通过API接口根据设备SN号获取对应的授权文件。 ### 核心特性 ✅ **智能生成** - 保存授权时自动生成JSON文件 ✅ **双重授权** - 支持设备级和型号级两种授权模式 ✅ **数字签名** - 每个授权文件包含SHA256签名确保安全性 ✅ **完整日志** - 记录每次授权的下载行为 ✅ **可视化预览** - 管理后台可直接预览和下载授权文件 ### 相关文档 - 📖 [**快速开始指南**](./QUICKSTART.md) - 5分钟快速上手 - 📖 [**API使用文档**](./API_LICENSE.md) - 完整的API接口说明 - 📖 [**测试指南**](./TEST_LICENSE.md) - 详细的测试步骤 - 📖 [**实现总结**](./IMPLEMENTATION_SUMMARY.md) - 技术实现细节 ### 手机APP集成示例 ```javascript // APP启动时获取设备授权 const response = await fetch( `http://your-server.com/api/licenses/download?sn=${deviceSN}` ); const license = await response.json(); // 启用授权的功能模块 license.authModules.forEach(module => { if (module.enabled) { enableFeature(module.id); } }); // 应用配置参数 applyConfig(license.config); ``` ## 🛠️ 技术栈 - **前端框架**: Next.js 14 (App Router) - **UI组件**: React + Tailwind CSS - **图标库**: lucide-react - **数据库**: SQLite (better-sqlite3) - **语言**: TypeScript ## 📁 项目结构 ``` src/ ├── app/ │ ├── api/ # API路由 │ │ ├── licenses/ # 授权管理API ⭐ │ │ │ ├── route.ts │ │ │ ├── download/route.ts # 手机APP下载接口 │ │ │ └── [id]/preview/route.ts # 授权预览接口 │ │ ├── devices/ # 设备管理API │ │ ├── config-files/ # 配置文件API │ │ └── ... │ ├── licenses/ # 授权管理页面 ⭐ │ ├── devices/ # 设备管理页面 │ ├── config-files/ # 配置文件页面 │ └── ... ├── lib/ │ ├── db.ts # 数据库操作(含授权文件生成工具)⭐ │ └── ... └── styles/ ``` ## 🔧 API接口概览 ### 授权管理API | 接口 | 方法 | 说明 | |------|------|------| | `/api/licenses` | GET | 获取授权列表 | | `/api/licenses` | POST | 创建授权(自动生成JSON) | | `/api/licenses` | PUT | 更新授权 | | `/api/licenses/download?sn=xxx` | GET | ⭐ 手机APP获取授权文件 | | `/api/licenses/{id}/preview` | GET | 预览授权文件JSON | ### 授权文件JSON结构 ```json { "version": "1.0", "deviceModel": "GD-30 Supreme", "deviceSN": "GD30-20260430-001", "validUntil": "2027-04-30", "status": "active", "authModules": [...], "config": {...}, "signature": {...} } ``` ## 📊 数据库表 ### 主要表结构 - `devices` - 设备信息 - `device_models` - 设备型号 - `licenses` - 授权记录(含license_file字段)⭐ - `config_files` - 配置文件 - `license_download_logs` - 授权下载日志 ⭐ NEW - `repair_orders` - 维修工单 - `firmware` - 固件版本 - `scrap_records` - 报废记录 ## 🔐 安全特性 1. **数字签名验证** - 防止授权文件被篡改 2. **下载日志审计** - 追踪每次授权下载行为 3. **有效期控制** - 只返回未过期的有效授权 4. **双重匹配机制** - 设备级优先于型号级授权 ## 📝 开发规范 - 使用TypeScript进行类型检查 - 遵循Next.js App Router规范 - API路由放在 `src/app/api/` 目录下 - 页面组件放在 `src/app/` 对应路由下 - 使用Tailwind CSS进行样式开发 ## 🤝 贡献指南 欢迎提交Issue和Pull Request! ## 📄 许可证 本项目仅供学习和参考使用。 --- **更新时间**: 2026-04-30 **版本**: v1.1.0 (新增授权文件管理功能)