一个基于 ThinkPHP + Vue3 的集装箱进出管理系统,支持动态表单配置、实时数据推送、多端访问等功能。
本系统用于管理道口集装箱的进出登记、实时监控和数据统计,采用前后端分离架构,支持多端访问。
| 角色 | 权限描述 | 主要功能 |
|---|---|---|
| 超级管理员 | 系统所有权限 | 系统配置、用户管理、所有功能 |
| 管理员 | 表单和数据管理 | 表单设计、数据管理、统计分析 |
| 工作人员 | 查看和处理数据 | 实时看板、数据查询、消息接收 |
| 司机 | 填写表单 | 扫码填报、查看提交记录 |
container-management/ ├── backend/ # 后端项目 │ ├── app/ # 应用目录 │ │ ├── api/ # API接口模块 │ │ │ ├── controller/ # 控制器 │ │ │ └── model/ # 模型 │ │ └── common/ # 公共模块 │ │ ├── model/ # 公共模型 │ │ ├── service/ # 服务类 │ │ ├── exception/ # 异常处理 │ │ └── middleware/ # 中间件 │ ├── config/ # 配置文件 │ ├── public/ # Web根目录 │ ├── route/ # 路由定义 │ ├── workerman/ # WebSocket服务 │ └── composer.json # 依赖配置 │ ├── frontend/ # 前端项目 │ ├── admin/ # 管理端 │ ├── worker/ # 工作端 │ └── mobile/ # 移动端 │ ├── database/ # 数据库 │ ├── schema.sql # 表结构 │ ├── seed.sql # 测试数据 │ └── README.md # 数据库说明 │ └── docs/ # 项目文档
# 进入后端目录
cd backend
# 安装依赖
composer install
# 复制环境配置文件
cp .env.example .env
# 编辑配置文件,配置数据库等信息
vim .env
# 设置目录权限
chmod -R 755 runtime
chmod -R 755 public/uploads
# 创建数据库
mysql -u root -p -e "CREATE DATABASE container_management CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 导入表结构
mysql -u root -p container_management < database/schema.sql
# 导入测试数据(可选)
mysql -u root -p container_management < database/seed.sql
# 开发环境
php backend/workerman/start.php start
# 生产环境(使用PM2)
pm2 start ecosystem.config.js
pm2 save
pm2 startup
# 安装管理端依赖
cd frontend/admin
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
参考 container-management-docs.md 中的 Nginx 配置章节。
adminadmin123workerworker123⚠️ 生产环境请立即修改默认密码!
POST /api/auth/login Body: { "username": "admin", "password": "admin123" }
POST /api/auth/refresh Header: Authorization: Bearer {refresh_token}
GET /api/forms?page=1&limit=10
POST /api/forms Body: { "title": "表单标题", "form_structure": [...] }
POST /api/form/submit Body: { "template_id": 1, "form_data": {...} }
更多接口文档请参考 container-management-docs.md。
{
"type": "auth",
"user_id": 1,
"role": "admin"
}
{
"type": "ping"
}
{
"type": "notification",
"data": {
"type": "new_submission",
"data": {...}
}
}
backend/public.env 文件详细部署步骤请参考 container-management-docs.md 第5章。
runtime 和 public/uploads 需要可写权限runtime/log/error-*.logpm2 status.env配置是否正确欢迎提交Issue和Pull Request!
本项目采用 Apache-2.0 许可证。
container-management-docs.md版本:v1.0.0 更新日期:2024-01-01