# SmartCabinet 数据库ER图
scss
┌─────────────────────────────────────────────────────────────────────────────────┐
│ SmartCabinet 数据库设计 │
└─────────────────────────────────────────────────────────────────────────────────┘
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ users │ │ cabinets │ │ configurations │
│ (用户表) │ │ (柜表) │ │ (配置表) │
├─────────────────┤ ├─────────────────┤ ├─────────────────┤
│ id (PK) │ │ id (PK) │ │ id (PK) │
│ employee_id │ │ cabinet_number │ │ type │
│ name │ │ board_id │ │ key │
│ phone_number │ │ lock_id │ │ value │
│ position │ │ status │ │ create_time │
│ gender │ │ usage_status │ │ update_time │
│ status │ │ create_time │ └─────────────────┘
│ card_number │ │ update_time │
│ feature_code │ └─────────────────┘
│ create_time │ │
│ update_time │ │
└─────────────────┘ │
│ │
│ │
│ │
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ user_cabinets │ │ operation_logs │
│ (用户柜关联表) │ │ (操作日志表) │
├─────────────────┤ ├─────────────────┤
│ id (PK) │ │ id (PK) │
│ cabinet_id (FK) │◄────────┤ user_id (FK) │
│ user_id (FK) │ │ employee_id │
└─────────────────┘ │ name │
│ type │
│ parameters │
│ cabinet_id (FK) │◄────────┐
│ cabinet_number │ │
│ board_id │ │
│ lock_id │ │
│ status │ │
└─────────────────┘ │
│
│
│
▼
┌─────────────────┐
│ usage_records │
│ (使用记录表) │
├─────────────────┤
│ id (PK) │
│ user_id (FK) │
│ employee_id │
│ name │
│ cabinet_id (FK) │
│ cabinet_number │
│ board_id │
│ lock_id │
│ status │
│ take_time │
│ return_time │
└─────────────────┘
开启Trae的对话框,输入
makefile
柜表:ID、柜号、板ID、锁ID、状态、使用状态、创建时间、修改时间
用户表:ID、工号、姓名、手机号、岗位、性别、状态、卡号、特征码、创建时间、修改时间
用户柜关联表:ID、柜ID、用户ID
配置表:ID、类型、键、值、创建时间、修改时间
使用记录表:ID、用户ID、工号、姓名、柜ID、柜号、板ID、锁ID、状态 取 还、取出时间、归还时间
操作日志表:ID、用户ID、工号、姓名、类型 刷卡、人脸识别、密码、参数、柜ID、柜号、板ID、锁ID、状态

呈现效果
对用户的增删改查基础功能已经实现,但是有的时候用户很多,我们又不想一条一条的添加,先通过接口的形式直接添加或者修改,还记得上一篇文章《# Trae搭建Android开发:项目中Ktor的引入与使用实践》 ,他可以为我们实现这个功能。
在上面截图中我们能看到有一个网络配置的菜单,接下来我们实现这个功能:
- 实现网络配置模块 Ktor服务器管理功能
主要功能
1. 服务器状态管理
- 启动服务器: 启动Ktor HTTP服务器
- 停止服务器: 停止当前运行的服务器
- 状态显示: 实时显示服务器运行状态
2. 网络配置
- 端口配置: 设置服务器监听端口(1-65535)
- 主机配置: 设置服务器监听地址
- 配置应用: 应用新的网络配置
3. 网络状态检查
- 网络连接检查: 检查设备网络连接状态
- IP地址显示: 显示本地IP地址信息
- 连接类型识别: 识别WiFi、移动网络、以太网等连接类型
bash
服务器信息:
• 状态:运行中
• 地址:http://$host:$port
• 支持CORS
• JSON格式
• 用户管理API
API接口:
• GET /api/users - 获取所有用户
• GET /api/users/{id} - 获取指定用户
• GET /api/users/search?query={query} - 搜索用户
• POST /api/users - 创建用户
• PUT /api/users/{id} - 更新用户
• DELETE /api/users/{id} - 删除用户
我们使用Apifox测试一下

到这里我们已经完成了智能存储柜表结构设计和通过接口的形式对用户的增删改查,接下来我们继续完成串口配置、人脸识别等相关功能。关注"Harry技术"公众号,获取最新动态!