Files
smart_grid_iot/.trae/specs/smart-grid-iot-admin/spec.md
T
andyesfly 3d7eb12103 feat: 初始化智能物联网设备管理系统前后端基础项目
完成项目整体结构搭建,包含:
1. 前端Vue3+TS+Vite+Antd项目基础配置与核心依赖
2. 后端MidwayJS+TypeORM+JWT权限认证框架
3. 完整的用户、角色、权限、日志数据库表结构
4. 核心业务模块API与基础服务实现
5. 全局样式、路由、状态管理配置
2026-05-28 16:23:15 +08:00

5.2 KiB
Raw Blame History

智能物联网设备后台管理系统 - 实施规范 (Spec)

Why

企业需要一个集中化的智能物联网设备管理平台来统一管理设备、控制访问权限和维护系统配置。当前缺乏这样的管理系统导致设备分散、权限混乱、运维效率低下。

What Changes

  • 初始化前后端分离项目结构:基于Vue 3 + Midway.js的全栈应用
  • 实现认证授权系统:JWT Token认证 + RBAC三层权限模型
  • 构建核心管理模块:用户管理、角色权限、系统设置、操作日志、仪表盘
  • 建立数据库模型:6张核心表(users, roles, permissions, user_roles, role_permissions, operation_logs)
  • 开发RESTful API:18个标准API接口,包含完整的CRUD操作
  • 设计现代化UI界面:基于Ant Design Vue的后台管理系统界面

Impact

  • Affected specs: 无(新项目)
  • Affected code: 全新代码库(client/前端 + server/后端)

ADDED Requirements

Requirement: 项目初始化与基础架构

The system SHALL provide a complete full-stack project structure with:

  • Vue 3 + TypeScript前端框架(Vite构建工具)
  • Midway.js 3.x后端框架(TypeScript)
  • Ant Design Vue 4.x UI组件库
  • Pinia状态管理 + Vue Router 4.x路由
  • Sequelize ORM + MySQL数据库
  • Redis缓存支持
  • Yarn包管理器(遵循用户规则)

Scenario: 成功初始化项目

  • WHEN 开发者运行初始化命令
  • THEN 创建完整的前后端项目结构,所有依赖安装成功,开发服务器可正常启动

Requirement: 用户认证与授权系统

The system SHALL implement secure authentication and authorization:

  • JWT Token双Token机制(Access Token 2h + Refresh Token 7d)
  • bcrypt密码加密存储(saltRounds=10)
  • RBAC三层权限模型(User → Role → Permission)
  • 前端路由守卫 + 后端接口鉴权
  • 登录失败锁定策略
  • IP白名单功能(可选)

Scenario: 用户成功登录

  • WHEN 用户输入正确的账号密码并提交
  • THEN 系统验证凭据,返回JWT Token和用户信息(含角色权限),跳转到仪表盘页面

Scenario: 未授权访问拦截

  • WHEN 未登录用户或无权限用户尝试访问受保护资源
  • THEN 系统重定向到登录页或显示403禁止访问提示

Requirement: 用户管理模块

The system SHALL provide complete user management functionality:

  • 用户列表展示(分页、搜索、筛选、排序)
  • 新增用户(含角色分配)
  • 编辑用户信息(密码修改可选)
  • 删除用户(二次确认)
  • 启用/禁用用户状态切换
  • 批量操作(批量删除、批量启用/禁用)

Scenario: 管理员成功创建用户

  • WHEN 管理员填写完整的用户信息表单(必填项:用户名、密码、昵称、角色)并提交
  • THEN 系统校验数据合法性,创建用户记录,分配指定角色,刷新用户列表显示新用户

Requirement: 角色与权限管理模块

The system SHALL implement flexible role-based access control:

  • 角色CRUD操作(创建、编辑、删除、查看)
  • 权限树形结构展示(菜单权限、按钮权限、API权限)
  • 角色-权限关联配置(可视化勾选)
  • 角色关联用户数量统计
  • 权限继承机制

Scenario: 管理员配置角色权限

  • WHEN 管理员选择某个角色,在权限树中勾选/取消勾选权限节点
  • THEN 系统保存角色-权限关联关系,拥有该角色的用户立即获得/失去相应权限

Requirement: 系统设置模块

The system SHALL provide configurable system parameters:

  • 基本设置(站点名称、Logo上传、会话超时时间)
  • 安全设置(密码策略、登录限制、IP白名单)
  • 通知设置(邮件开关、SMTP配置)
  • 设置变更实时生效(Redis缓存更新)

Scenario: 管理员修改系统参数

  • WHEN 管理员在设置页面修改某个配置项并保存
  • THEN 系统验证参数合法性,持久化到数据库,清除相关缓存,返回成功提示

Requirement: 操作日志模块

The system SHALL record all user operations for audit:

  • 自动记录用户操作(增删改查)
  • 日志字段:操作人、操作类型、时间、IP地址、请求详情
  • 日志查询(按时间范围、操作人、操作类型筛选)
  • 日志导出功能(CSV/Excel格式)
  • 异步写入保证性能

Scenario: 系统自动记录操作日志

  • WHEN 用户执行任何数据变更操作(创建、编辑、删除)
  • THEN 系统异步记录完整操作信息到operation_logs表,不影响主业务响应时间

Requirement: 仪表盘模块

The system SHALL provide data visualization dashboard:

  • 关键指标统计卡片(设备总数、在线数、今日告警数、活跃用户数)
  • 设备趋势折线图(近7天数据)
  • 设备类型分布饼图
  • 最近告警滚动列表
  • 最近活动时间线
  • 数据实时刷新(可配置间隔)

Scenario: 用户查看仪表盘

  • WHEN 已登录用户访问仪表盘页面
  • THEN 页面加载统计数据和图表,展示系统运营概况,数据每30秒自动刷新

MODIFIED Requirements

无(新项目,无需修改现有需求)

REMOVED Requirements

无(新项目,无需移除功能)