Skip to content

架构设计 ​

1. DDD 分层 ​

项目采用领域驱动设计思想,按业务领域组织代码:

层次目录职责
Models Layerapp/Models/数据模型和业务逻辑,按领域分子目录(Admin/System/User/Coin/Point/Wallet)
Services Layerapp/Services/业务服务封装,处理跨模型事务逻辑(如附件台账+Storage一致性)
Controllers Layerapp/Http/Controllers/HTTP 请求编排,调用 Service 和 Resource
Resources Layerapp/Http/Resources/API 响应格式化
Requests Layerapp/Http/Requests/请求参数校验

2. 请求流转 ​

HTTP Request → Route → Middleware (Auth/Permission/Audit) → FormRequest Validation
→ Controller → Service (业务逻辑) → Model (Eloquent) → Database
                                            → Resource (响应格式化) → JSON Response

AI 聊天特殊流转 ​

POST /admin/chat → ChatController → AI Agent (laravel/ai) → Tool 调用 → SSE Stream 响应
                                            ↓ (敏感操作)
                                       审批等待 → POST /admin/chat/approve → 继续执行

3. 目录按领域划分 ​

模型层按业务领域分子目录,实现高内聚低耦合:

目录包含模型
Admin/Admin、AdminMenu
App/AppRelease、AppVersion
Coin/CoinTrade
Content/Collection、Comment、Like
Operation/Announcement、Banner
Point/PointRecord、PointTrade
System/Area、Attachment、AuditLog、Dict、DictItem、Feedback、LoginHistory、MailCode、Permission、PersonalAccessToken、PhoneCode、Role、ScheduleLog、Setting、Social
User/Address、IdentityVerification、UserExtra、UserProfile、UserStat
UserSegment/Membership、Segment、SegmentTask
Wallet/WalletTrade、Recharge、WithdrawOrder

文档来源:PRD 第 4.3 节