2026-03-10 15:51:03 +08:00
..
2026-03-10 15:51:03 +08:00
2026-03-10 15:51:03 +08:00
2026-03-10 15:51:03 +08:00
2026-03-10 15:51:03 +08:00
2026-03-10 15:51:03 +08:00
2026-03-10 15:51:03 +08:00
2026-03-10 15:51:03 +08:00
2026-03-10 15:51:03 +08:00
2026-03-10 15:51:03 +08:00

摄影设备借还系统 - 后端

技术栈

  • Node.js + Express
  • TypeScript
  • Prisma ORM
  • MySQL 8.0

开发

  1. 安装依赖
npm install
  1. 配置数据库 编辑 .env 文件,设置数据库连接:
DATABASE_URL="mysql://root:password@localhost:3306/equipment_management?charset=utf8mb4"
  1. 初始化数据库
npx prisma generate
npx prisma migrate dev
  1. 启动开发服务器
npm run dev

API文档

API基础路径: http://localhost:3000/api

主要接口

  • /api/equipment - 设备管理
  • /api/borrow - 借用管理
  • /api/return - 归还管理
  • /api/statistics - 统计分析
  • /api/barcode - 条码生成
  • /api/auth - 用户认证

环境变量

.env 文件示例:

DATABASE_URL="mysql://root:password@localhost:3306/equipment_management?charset=utf8mb4"
SESSION_SECRET=equipment-management-secret
KEYCLOAK_URL=http://localhost:8080
KEYCLOAK_REALM=equipment-management
KEYCLOAK_CLIENT_ID=equipment-client
# 可选:若为机密客户端
# KEYCLOAK_CLIENT_SECRET=your-client-secret

Keycloak 集成

后端使用 keycloak-connect 保护接口、管理用户信息。部署步骤:

  1. 使用 Docker 启动 Keycloak(示例):
docker run -d \
  --name keycloak \
  -p 8080:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:23.0.7 start-dev
  1. 在 Keycloak 中创建 Realm equipment-management
  2. 创建客户端 equipment-client
    • 类型:Public Client(或使用 Confidential 并设置 KEYCLOAK_CLIENT_SECRET)
    • 有效重定向 URI:http://localhost:5173/*
  3. 创建用户并分配角色(如 admin、user)

后端接口自动验证 Bearer Token,无需额外登录接口。