# MIMS2 后端 API 接口文档
药企计量器具与特种设备管理系统(MIMS2)完整 API 接口文档
## 目录
1. [全局规范](#1-全局规范)
2. [认证与用户 (Auth)](#2-认证与用户-auth)
3. [组织架构 (Organizations)](#3-组织架构-organizations)
4. [用户管理 (Users)](#4-用户管理-users)
5. [计量器具管理 (Instruments)](#5-计量器具管理-instruments)
6. [特种设备管理 (Special Equipments)](#6-特种设备管理-special-equipments)
7. [鉴定/溯源管理 (Appraisals)](#7-鉴定溯源管理-appraisals)
8. [维护记录 (Maintenance Records)](#8-维护记录-maintenance-records)
9. [风险评估 (Risk Assessments)](#9-风险评估-risk-assessments)
10. [审计追踪 (Audit Trails)](#10-审计追踪-audit-trails)
11. [仪表盘 (Dashboard)](#11-仪表盘-dashboard)
12. [导出功能](#12-导出功能)
13. [消息通知 (Messages)](#13-消息通知-messages)
14. [待办事项 (Todos)](#14-待办事项-todos)
15. [通知配置 (Notification Configs)](#15-通知配置-notification-configs)
# 01 系统架构设计 (Architecture Design)
## 1. 整体架构概述
本系统(药企计量器具与特种设备管理系统)采用**前后端分离**的现代化 Web 架构。系统设计严格遵循药企 GxP 规范,重点解决**多层级组织架构的数据隔离**与**高标准合规性(审计追踪)**问题。
## 2. 逻辑分层架构
### 2.1 前端展示层 (Frontend)
* **技术栈**: React 18, TypeScript, Vite, Tailwind CSS, React Router, Recharts, Lucide React.
* **核心机制**:
* **状态管理**: 使用 React Context API (`AuthContext`) 全局管理用户会话、当前登录组织及权限边界。
* **路由守卫**: `ProtectedRoute` 拦截未登录或无权限的访问。
* **动态数据过滤**: 前端基于当前选择的“工厂级”组织架构,动态计算 `activeScopeIds`,并在所有列表、图表展示中进行数据过滤。
### 2.2 后端服务层 (Backend)
* **架构模式**: 模块化单体架构 (Modular Monolith) 或 微服务架构 (Microservices)。初期推荐模块化单体以降低运维复杂度。
* **推荐技术栈**: Node.js (NestJS) 或 Java (Spring Boot)。
* **核心模块**:
* **认证与权限模块 (Auth & RBAC)**: 负责 JWT 签发、Token 校验、角色权限控制及数据范围 (Data Scoping) 计算。
* **组织架构模块 (Org Management)**: 维护“公司-工厂-车间-部门”的树形结构。
* **资产管理模块 (Asset Management)**: 统一处理计量器具和特种设备的生命周期(台账、状态流转)。
* **合规与审计模块 (Compliance & Audit)**: 拦截所有业务模块的写操作(AOP 切面编程),强制记录审计日志,处理电子签名逻辑。
### 2.3 数据存储层 (Data Layer)
* **主数据库**: PostgreSQL 14+。利用其强大的 JSONB 支持存储复杂的数据变更快照,利用其事务特性保证业务数据与审计日志的一致性。
* **缓存**: Redis。用于缓存组织架构树、数据字典、用户 Session/Token 黑名单。
* **文件存储**: MinIO 或 AWS S3。用于存储设备说明书、校准证书扫描件、检验报告等非结构化数据。