enterprise-saa-s-dashboard-.../README.md

182 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 (新增授权文件管理功能)