Go to file
gitadmin c6a92ed33a feat: SSO双路径认证 + 端口修正 5177→6177
- 中间件支持 X-Remote-User (SSO) + JWT 双路径
- lib/auth.ts 新增 getSession() 统一会话获取
- 所有 API 路由改用 getSession(),支持 SSO header 回退
- 退出登录同时清除 SSO cookie
- 侧边栏根据角色显示/隐藏系统设置
- layout.tsx 支持 SSO 用户自动创建
- package.json 端口 5177→6177
- 跨站点引用 localhost 端口全部修正
2026-05-09 17:14:36 +08:00
scripts chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
src feat: SSO双路径认证 + 端口修正 5177→6177 2026-05-09 17:14:36 +08:00
templates-docs chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
.dockerignore feat: 添加 .dockerignore 减小 Docker 构建上下文 2026-05-08 12:56:03 +08:00
.env.example feat: SSO双路径认证 + 端口修正 5177→6177 2026-05-09 17:14:36 +08:00
.gitignore chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
CHANGELOG.md feat: 角色权限系统改造 + 导出权限细粒度拆分 2026-05-07 21:47:21 +08:00
CLAUDE.md feat: SSO双路径认证 + 端口修正 5177→6177 2026-05-09 17:14:36 +08:00
Caddyfile chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
Dockerfile chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
README.md feat: 角色权限系统改造 + 导出权限细粒度拆分 2026-05-07 21:47:21 +08:00
docker-compose.yml feat: SSO双路径认证 + 端口修正 5177→6177 2026-05-09 17:14:36 +08:00
next-env.d.ts chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
next.config.ts chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
package-lock.json chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
package.json feat: SSO双路径认证 + 端口修正 5177→6177 2026-05-09 17:14:36 +08:00
postcss.config.mjs chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
tailwind.config.js chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00
tsconfig.json chore: 初始化仓库 — 资产管理系统 2026-05-07 10:25:02 +08:00

README.md

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
数据库 SQLitebetter-sqlite3WAL 模式)
认证 JWTcookie 方式)+ 自定义 session + API Key

功能

  • 设备 CRUD创建、编辑、删除、搜索、列筛选、高级查询
  • 设备状态管理(腾讯使用 / 图灵使用 / 闲置 / 备用 / 维修中 / 已下线)
  • 设备详情(含完整硬件信息、历史工单卡片)
  • 批量编辑(多选设备批量修改类型、位置、状态等)
  • Excel 导入/导出(模板下载、多选导出、全量导出权限控制)
  • 工单历史联动(调用 issue-ai API 获取同 IP 历史工单)
  • API Key 管理(支持服务间调用认证,细粒度权限控制)
  • 用户/角色权限管理12 个细粒度权限,支持自定义角色)
  • 审计日志

设备字段

分类 字段
设备标识 node_name、serial_number、device_type、device_purpose、status
位置信息 room、rack_position
网络 business_ip、hdm_ip、NIC×3型号/类型/速率/数量)
硬件规格 manufacturer、device_model、warranty_date
CPU/内存 cpu_model、cpu_generation、cpu_cores、cpu_threads、memory_total 等
GPU gpu_model、gpu_power、gpu_count
存储 sys_disk、data_disk1/2型号/规格/容量/类型/协议、raid_model、raid_spec
电源 psu1/2_model、psu1/2_power、psu_total_power

完整 schema 含 68 列硬件字段,详见 src/lib/db-schema.ts

API 路由

方法 路径 说明
GET/POST /api/assets 设备列表(分页/搜索/列筛选/排序)/ 创建设备
GET/PUT/DELETE /api/assets/[id] 单个设备操作
POST /api/assets/batch 批量修改设备
POST /api/assets/import Excel 导入
GET /api/assets/export Excel 导出
GET /api/assets/field-values 获取字段可选值(列筛选下拉)
GET /api/stats 统计概览(按状态/类型/厂商/机房)
GET/POST /api/api-keys API Key 列表 / 创建(仅显示一次)
DELETE /api/api-keys/[id] 删除 Key
GET/POST /api/users 用户列表 / 创建
GET/PUT/DELETE /api/users/[id] 单个用户操作
GET/POST /api/roles 角色列表 / 创建
PUT/DELETE /api/roles/[id] 更新角色权限 / 删除角色
POST /api/auth/login 登录
POST /api/auth/logout 登出
GET /api/auth/me 当前用户信息及权限

……

与 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 KeyAuthorization: Bearer ak_xxx)。