62 lines
2.0 KiB
Markdown
62 lines
2.0 KiB
Markdown
# IT 设备资产管理系统
|
||
|
||
基于 Next.js + SQLite 的 IT 设备资产管理系统(CMDB),域名为 `assets.tlyq.ai`,管理 GPU 服务器、存储服务器等 120+ 台设备的硬件信息,通过 REST API 对外提供服务。
|
||
|
||
## 技术栈
|
||
|
||
| 分类 | 技术 |
|
||
|------|------|
|
||
| 框架 | Next.js 15 + TypeScript |
|
||
| UI | React 19 + Tailwind CSS v4 + lucide-react |
|
||
| 数据库 | SQLite(better-sqlite3,WAL 模式) |
|
||
| 认证 | JWT(cookie 方式)+ 自定义 session + API Key |
|
||
|
||
## 功能
|
||
|
||
- 设备 CRUD(创建、编辑、删除、搜索、筛选)
|
||
- 设备状态管理(腾讯使用 / 已回收(退役) / 备件 / 借用 / 故障)
|
||
- 设备详情(含硬件信息、历史工单卡片)
|
||
- 工单历史联动(调用 issue-ai API 获取同 IP 历史工单)
|
||
- API Key 管理(支持服务间调用认证)
|
||
- 用户/角色权限管理
|
||
- Excel 导出设备清单
|
||
|
||
## 设备字段
|
||
|
||
| 字段 | 说明 |
|
||
|------|------|
|
||
| node_name | 节点名称 |
|
||
| serial_number | 序列号 |
|
||
| device_type | 设备类型(GPU服务器 / 存储服务器) |
|
||
| business_ip | 业务 IP |
|
||
| hdm_ip | HDM 管理 IP |
|
||
| manufacturer | 厂商 |
|
||
| device_model | 设备型号 |
|
||
| status | 设备状态 |
|
||
| cabinet | 机柜 |
|
||
| asset_number | 资产编号 |
|
||
| remark | 备注 |
|
||
|
||
## API 路由
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| GET/POST | `/api/assets` | 设备列表 / 创建设备 |
|
||
| GET/PUT/DELETE | `/api/assets/[id]` | 单个设备操作 |
|
||
| GET/POST | `/api/api-keys` | API Key 管理 |
|
||
| GET/POST | `/api/users` | 用户管理 |
|
||
| GET | `/api/stats` | 统计概览 |
|
||
|
||
……
|
||
|
||
## 与 issue.tlyq.ai 联动
|
||
|
||
assets-ai 向 issue-ai 提供设备信息,issue-ai 在工单管理中根据 IP 自动关联设备并展示详情卡片。同时 assets-ai 设备详情页调用 issue-ai API 展示同 IP 历史工单。
|
||
|
||
```
|
||
issue-ai ──→ GET /api/assets?search=IP (获取设备信息)
|
||
assets-ai ──→ GET /api/tickets/by-asset?ip=X (获取历史工单)
|
||
```
|
||
|
||
认证方式:双向 API Key(`Authorization: Bearer ak_xxx`)。
|