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

4.8 KiB
Raw Permalink Blame History

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
  • 配置文件管理 - 设备技术参数配置
  • 维修管理 - 维修工单创建、跟踪、统计
  • 固件管理 - 固件版本管理、发布
  • 报废管理 - 设备报废流程管理

🚀 快速开始

安装依赖

npm i

启动开发服务器

npm run dev

访问 http://localhost:3000

构建生产版本

npm run build
npm run preview

📚 新增功能:授权文件管理

功能概述

本平台现已支持根据授权项和配置文件自动生成JSON格式的授权文件手机APP可通过API接口根据设备SN号获取对应的授权文件。

核心特性

智能生成 - 保存授权时自动生成JSON文件
双重授权 - 支持设备级和型号级两种授权模式
数字签名 - 每个授权文件包含SHA256签名确保安全性
完整日志 - 记录每次授权的下载行为
可视化预览 - 管理后台可直接预览和下载授权文件

相关文档

手机APP集成示例

// 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结构

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