You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

243 lines
8.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

我来帮您整理项目情况。让我先查看项目的整体结构。
[14 tools called]
根据我对项目的分析,现在为您整理项目的详细情况:
## 📊 天天护工管理平台 - 项目情况整理
### 一、技术栈
#### **后端技术**
- **框架**: Laravel 7.x (PHP 7.2.5+)
- **数据库**: MySQL (使用 Eloquent ORM)
- **认证**: JWT (tymon/jwt-auth)
- **权限管理**: Spatie Laravel Permission
- **主要依赖包**:
- `intervention/image` - 图片处理
- `maatwebsite/excel` - Excel导入导出
- `simplesoftwareio/simple-qrcode` - 二维码生成
- `guzzlehttp/guzzle` - HTTP客户端
- `barryvdh/laravel-snappy` - PDF生成
- `zircote/swagger-php` - API文档
#### **前端技术**
- **基础框架**:
- Vue.js 2.x (用于H5移动端和护工端)
- Bootstrap 4.x (用于后台管理界面)
- jQuery (用于数据大屏和部分后台功能)
- **UI组件库**:
- Hyper Admin Template (管理后台主题)
- Layui (部分表单和弹窗)
- Select2 (下拉选择)
- DataTables (数据表格)
- ECharts (数据可视化)
- **前端插件**:
- WebUploader (文件上传)
- UEditor (富文本编辑器)
- jQuery Treetable (树形表格)
- SweetAlert2 (提示框)
- Moment.js (时间处理)
#### **支付集成**
- 支付宝支付 (F2F当面付)
- 微信支付 (小程序支付、扫码支付)
---
### 二、项目模块结构
#### **1. 后台管理模块 (Admin)**
**位置**: `app/Http/Controllers/Admin/`
主要功能控制器:
- `AdminController` - 管理员管理
- `RoleController` - 角色管理
- `PermissionController` - 权限管理
- `ProjectController` - 项目/医院管理
- `ProductController` - 产品/服务管理
- `OrdersController` - 订单管理
- `ParamedicController` - 护工管理
- `ManagerController` - 项目经理管理
- `TrainingController` - 培训管理
- `StatisticsController` - 数据统计
- `AdverseController` - 不良事件管理
- `FactorController` - 因素管理
- `WechatpayAccountController` - 微信支付账户管理
**前端页面**: `public/hyper/` - 使用Hyper管理后台模板
#### **2. 客户端模块 (Customer)**
**位置**: `app/Http/Controllers/Customer/`
主要功能:
- `AuthController` - 客户认证
- `OrdersController` - 订单下单、查询
- `PayCallbackController` - 支付回调处理
- `CommonController` - 通用功能(上传、获取配置等)
- `PublicController` - 公共数据接口
**前端页面**: `public/h5/` - UniApp编译的H5应用
#### **3. 护工端模块 (Worker)**
**位置**: `app/Http/Controllers/Worker/`
主要功能:
- `AuthController` - 护工认证登录
- `OrdersController` - 接单、订单管理
- `CommonController` - 通用功能
**前端页面**: `public/carer/` - Vue.js单页应用
#### **4. 项目经理端模块 (Manager)**
**位置**: `app/Http/Controllers/Manager/`
主要功能:
- `AuthController` - 经理认证
- `OrdersController` - 订单分配、管理
- `ParamedicController` - 护工管理
- `StatisticsController` - 数据统计
- `TrainingController` - 培训管理
- `CommonController` - 通用功能
#### **5. 数据大屏模块**
**位置**: `public/dashboard/`
功能:
- 实时数据展示驾驶舱
- ECharts数据可视化
- 护工陪护概况统计
---
### 三、核心业务模型
**主要数据表** (位于 `app/Models/`):
| 模型 | 说明 |
|------|------|
| `Orders` | 订单主表 |
| `OrderItems` | 订单明细 |
| `Paramedic` | 护工信息 |
| `ParamedicLevel` | 护工等级 |
| `Patient` | 患者信息 |
| `Product` | 产品/服务 |
| `ProductItems` | 产品项目 |
| `Project` | 项目/医院 |
| `Building` | 楼栋 |
| `Room` | 病房 |
| `Bed` | 床位 |
| `Training` | 培训记录 |
| `TrainingType` | 培训类型 |
| `Balance` | 余额账户 |
| `Recharge` | 充值记录 |
| `Refund` | 退款记录 |
| `Adverse` | 不良事件 |
| `Factor` | 因素评估 |
| `Approval` | 审批流程 |
---
### 四、开发风格特点
#### **1. 架构风格**
- **分层架构**: MVC模式控制器、模型、视图分离
- **多端分离**: Admin、Customer、Worker、Manager各端独立控制器
- **RESTful API**: 移动端采用API接口方式
- **事件驱动**: 使用Laravel Events和Listeners处理业务逻辑
- `OrderAssigned` - 订单分配事件
- `ProductSaved` - 产品保存事件
- `RechargeSucceed` - 充值成功事件
#### **2. 代码组织**
- **表单构建器**: 使用 `kris/laravel-form-builder` 统一表单管理
- **动态CURD**: `CommonModel::generateCurdRouter()` 生成通用增删改查路由
- **导出功能**: 使用 `Exports/` 目录组织Excel导出类
- **自定义类库**: `app/Libs/` 存放支付SDK等第三方封装
#### **3. 前端风格**
- **多页面应用**: 后台管理采用传统多页面方式
- **单页应用**: 护工端、客户H5端采用Vue单页应用
- **响应式设计**: 使用Bootstrap实现响应式布局
- **组件化**: 公共CSS样式统一管理(`public/css/common.css`)
#### **4. 数据库设计**
- **软删除**: 使用`SoftDeletesModel`基类实现软删除
- **审计日志**: 集成`owen-it/laravel-auditing`记录操作日志
- **多租户**: 通过`AdminProjectScope`实现项目级数据隔离
- **关联查询**: Eloquent ORM实现模型关联
#### **5. 权限控制**
- **RBAC**: 基于角色的访问控制
- **中间件**: `authorize:admin` 身份验证,`rbac:admin` 权限验证
- **多角色**: Admin、Manager、Worker、Customer四种角色体系
#### **6. 接口规范**
- **Swagger文档**: 集成API文档系统
- **JWT认证**: Token方式的API认证
- **统一响应**: 使用helpers辅助函数统一返回格式
---
### 五、项目目录结构
```
tiantian2/
├── app/ # 应用核心代码
│ ├── Actions/ # 业务动作类
│ ├── Console/ # 命令行任务
│ ├── Events/ # 事件定义
│ ├── Exports/ # 导出类
│ ├── Forms/ # 表单构建器
│ ├── Http/
│ │ ├── Controllers/ # 控制器(Admin/Customer/Manager/Worker)
│ │ └── Middleware/ # 中间件
│ ├── Libs/ # 第三方类库封装
│ ├── Listeners/ # 事件监听器
│ ├── Models/ # 数据模型
│ └── Notifications/ # 通知类
├── public/ # 公共资源目录
│ ├── h5/ # 客户端H5应用(UniApp)
│ ├── carer/ # 护工端应用(Vue)
│ ├── dashboard/ # 数据大屏
│ ├── hyper/ # 管理后台模板
│ ├── plugins/ # 前端插件库
│ └── css/js/ # 公共样式和脚本
├── database/
│ ├── migrations/ # 数据库迁移(108个文件)
│ └── seeds/ # 数据填充
├── routes/
│ ├── web.php # Web路由
│ └── api.php # API路由
└── config/ # 配置文件
```
---
### 六、开发特色
1. **多端适配**: 一套后端服务四个前端应用(管理后台、H5客户端、护工端、项目经理端)
2. **插件化设计**: 前端插件独立管理,便于维护和升级
3. **模板复用**: 使用成熟的Hyper管理后台模板
4. **移动优先**: H5和护工端使用Vue/UniApp实现原生体验
5. **数据驱动**: 数据大屏实时展示业务数据
6. **完整业务流程**: 从订单创建、护工分配、服务执行到结算的完整闭环
---
### 七、技术亮点
**RBAC权限系统** - 细粒度权限控制
**多支付方式** - 支付宝+微信支付集成
**事件驱动架构** - 解耦业务逻辑
**Excel导入导出** - 数据批量处理
**二维码生成** - 护工工牌、订单扫码
**图片处理** - 头像裁剪、缩略图生成
**API文档** - Swagger自动生成
**审计日志** - 操作记录可追溯
**软删除** - 数据安全保护
**多租户隔离** - 项目级数据隔离
这是一个**成熟的护工管理SaaS平台**,采用**前后端分离+多端适配**的技术架构,业务逻辑完整,代码组织规范。