feat: 第一阶段基础框架搭建
后端 (Laravel 10 + Sanctum): - RBAC 四层权限系统 (users→roles→permissions→menus) - 门店隔离中间件 (BelongsToStore Trait + StoreIsolation Middleware) - 操作日志中间件 (自动记录写操作) - 权限检查中间件 (CheckPermission) - 16张数据库表迁移 (系统基础+RBAC+字典+配置) - 11个 Eloquent Model - Auth API (登录/登出/用户信息) - 系统设置模块 CRUD (门店/部门/职务/用户/角色/菜单/权限/字典/日志) - 45条 RESTful API 路由 - InitSeeder 初始数据 (超管/角色/76权限/31菜单) 前端 (Vue 3 + Element Plus + Vite): - Axios 请求封装 + Token 注入 - Pinia 状态管理 (user + permission store) - 动态路由 (服务端菜单→前端路由自动生成) - 后台布局 (侧边栏+顶栏+主内容区) - 登录页 + 仪表盘首页 - 系统设置 7 个 CRUD 页面 技术方案文档 (7卷): - 技术总览/数据库设计/API规范/RBAC设计/模块详设/小程序设计/部署方案
This commit is contained in:
@@ -0,0 +1,199 @@
|
||||
# 宫中有喜 — 技术方案总览
|
||||
|
||||
## 一、项目概述
|
||||
|
||||
| 项 | 值 |
|
||||
|---|---|
|
||||
| 项目名称 | 宫中有喜月子会所综合管理系统 |
|
||||
| 系统类型 | 多门店 SaaS 管理平台 + 客户端小程序 |
|
||||
| 后端 | PHP 8.1+ / Laravel 10 |
|
||||
| 数据库 | MySQL 8.0 |
|
||||
| 前端(后台) | Vue 3 + Element Plus(SPA,自适应) |
|
||||
| 前端(客户端) | 微信小程序(uni-app,可复用 Vue 组件) |
|
||||
| API 风格 | RESTful JSON,统一前缀 `/api/v1/` |
|
||||
| 部署 | Nginx + PHP-FPM / Docker Compose |
|
||||
|
||||
## 二、框架选型理由
|
||||
|
||||
### 后端:Laravel 10
|
||||
- **Eloquent ORM**:模型关联、软删除、Scope 过滤(门店隔离天然支持)
|
||||
- **中间件体系**:RBAC 权限、门店隔离、操作日志 一站式拦截
|
||||
- **队列 & 事件**:短信、推送、异步报表 开箱即用
|
||||
- **Sanctum**:后台 SPA token + 小程序 API token 双模认证
|
||||
- **Migration & Seeder**:数据库版本控制,多人协作无冲突
|
||||
- **生态成熟**:社区、文档、第三方包(Excel 导出、PDF、微信SDK)齐全
|
||||
|
||||
### 前端:Vue 3 + Element Plus
|
||||
- 与 Laravel 前后分离配合成熟
|
||||
- Element Plus 提供完整后台组件(表格、表单、日历、审批流)
|
||||
- 响应式布局满足 Web + Mobile 自适应需求
|
||||
|
||||
### 客户端:uni-app
|
||||
- 一套代码编译微信小程序 + H5
|
||||
- Vue 3 语法,与后台前端技术栈统一,降低学习成本
|
||||
- 丰富的插件市场(微信支付、地图、视频播放等)
|
||||
|
||||
## 三、系统架构图
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ 客户端 │
|
||||
│ ┌──────────────┐ ┌──────────────────────────┐ │
|
||||
│ │ 微信小程序 │ │ 后台管理 SPA (Vue3) │ │
|
||||
│ │ (uni-app) │ │ Element Plus │ │
|
||||
│ └──────┬───────┘ └───────────┬──────────────┘ │
|
||||
└─────────┼──────────────────────┼────────────────┘
|
||||
│ HTTPS │ HTTPS
|
||||
▼ ▼
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ Nginx 反向代理 / 负载均衡 │
|
||||
│ 静态资源 + API 路由 + WebSocket │
|
||||
└─────────────────────┬───────────────────────────┘
|
||||
│
|
||||
┌─────────────────────▼───────────────────────────┐
|
||||
│ Laravel 10 API 层 │
|
||||
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌──────────┐ │
|
||||
│ │ 认证 │ │ RBAC │ │ 门店 │ │ 操作日志 │ │
|
||||
│ │中间件 │ │中间件 │ │隔离 │ │中间件 │ │
|
||||
│ └───┬────┘ └───┬────┘ └───┬────┘ └────┬─────┘ │
|
||||
│ └──────────┴──────────┴────────────┘ │
|
||||
│ ┌──────────────────────────────────────────┐ │
|
||||
│ │ Controller 层 (13模块) │ │
|
||||
│ │ CRM | 房务 | 护理 | 月子餐 | 产康 │ │
|
||||
│ │ 月嫂 | 进销存 | 财务 | 人事 | 协同 │ │
|
||||
│ │ 报表 | 知识库 | 系统设置 │ │
|
||||
│ └──────────────────┬───────────────────────┘ │
|
||||
│ ┌──────────────────▼───────────────────────┐ │
|
||||
│ │ Service 层 (业务逻辑) │ │
|
||||
│ └──────────────────┬───────────────────────┘ │
|
||||
│ ┌──────────────────▼───────────────────────┐ │
|
||||
│ │ Model 层 (Eloquent ORM) │ │
|
||||
│ └──────────────────┬───────────────────────┘ │
|
||||
└─────────────────────┼───────────────────────────┘
|
||||
│
|
||||
┌─────────────────────▼───────────────────────────┐
|
||||
│ 数据层 │
|
||||
│ ┌──────────┐ ┌──────────┐ ┌───────────────┐ │
|
||||
│ │ MySQL 8 │ │ Redis │ │ 文件存储 │ │
|
||||
│ │ 主业务库 │ │ 缓存/队列│ │ (本地/OSS) │ │
|
||||
│ └──────────┘ └──────────┘ └───────────────┘ │
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 四、项目目录结构
|
||||
|
||||
```
|
||||
saas/
|
||||
├── backend/ # Laravel 后端
|
||||
│ ├── app/
|
||||
│ │ ├── Http/
|
||||
│ │ │ ├── Controllers/
|
||||
│ │ │ │ ├── Admin/ # 后台管理接口
|
||||
│ │ │ │ │ ├── Crm/ # 5.1 CRM模块
|
||||
│ │ │ │ │ ├── Room/ # 5.2 房务模块
|
||||
│ │ │ │ │ ├── Care/ # 5.3 护理模块
|
||||
│ │ │ │ │ ├── Meal/ # 5.4 月子餐模块
|
||||
│ │ │ │ │ ├── Service/# 5.5 服务产康
|
||||
│ │ │ │ │ ├── Nanny/ # 5.6 月嫂模块
|
||||
│ │ │ │ │ ├── Stock/ # 5.7 进销存
|
||||
│ │ │ │ │ ├── Finance/# 5.8 财务模块
|
||||
│ │ │ │ │ ├── Hr/ # 5.9 人事薪资
|
||||
│ │ │ │ │ ├── Office/ # 5.10 办公协同
|
||||
│ │ │ │ │ ├── Report/ # 5.11 统计报表
|
||||
│ │ │ │ │ ├── Kb/ # 5.12 知识库
|
||||
│ │ │ │ │ └── System/ # 5.13 系统设置
|
||||
│ │ │ │ └── Client/ # 微客宝客户端接口
|
||||
│ │ │ ├── Middleware/
|
||||
│ │ │ │ ├── StoreIsolation.php
|
||||
│ │ │ │ ├── CheckPermission.php
|
||||
│ │ │ │ └── OperationLog.php
|
||||
│ │ │ └── Requests/ # 表单验证
|
||||
│ │ ├── Models/ # Eloquent 模型
|
||||
│ │ ├── Services/ # 业务逻辑层
|
||||
│ │ ├── Enums/ # 枚举常量
|
||||
│ │ ├── Events/ # 事件
|
||||
│ │ ├── Listeners/ # 监听器
|
||||
│ │ ├── Jobs/ # 队列任务
|
||||
│ │ └── Traits/ # 公用 Trait
|
||||
│ ├── database/
|
||||
│ │ ├── migrations/ # 数据库迁移
|
||||
│ │ └── seeders/ # 种子数据
|
||||
│ ├── routes/
|
||||
│ │ ├── api.php # 后台 API 路由
|
||||
│ │ └── client.php # 客户端 API 路由
|
||||
│ └── config/
|
||||
│
|
||||
├── frontend/ # Vue 3 后台前端
|
||||
│ ├── src/
|
||||
│ │ ├── views/ # 页面(按模块分目录)
|
||||
│ │ ├── components/ # 公共组件
|
||||
│ │ ├── api/ # 接口封装
|
||||
│ │ ├── stores/ # Pinia 状态管理
|
||||
│ │ ├── router/ # 路由(动态菜单)
|
||||
│ │ ├── utils/ # 工具函数
|
||||
│ │ └── assets/ # 静态资源
|
||||
│ └── vite.config.js
|
||||
│
|
||||
├── miniapp/ # uni-app 微信小程序
|
||||
│ ├── pages/ # 页面
|
||||
│ ├── components/ # 组件
|
||||
│ ├── api/ # 接口
|
||||
│ ├── stores/ # 状态
|
||||
│ └── static/ # 静态资源
|
||||
│
|
||||
├── docs/ # 技术文档
|
||||
│ ├── 01-technical-overview.md
|
||||
│ ├── 02-database-design.md
|
||||
│ ├── 03-api-specification.md
|
||||
│ ├── 04-rbac-design.md
|
||||
│ ├── 05-module-details.md
|
||||
│ ├── 06-miniapp-design.md
|
||||
│ └── 07-deployment.md
|
||||
│
|
||||
├── docker-compose.yml
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 五、开发阶段规划
|
||||
|
||||
### 第一阶段:基础框架(2周)
|
||||
- Laravel 项目搭建 + 数据库迁移框架
|
||||
- RBAC 权限系统(用户、角色、权限、菜单)
|
||||
- 门店隔离中间件
|
||||
- 操作日志中间件
|
||||
- 审批流引擎基础
|
||||
- Vue 3 后台框架 + 动态路由 + 登录认证
|
||||
- 系统设置模块(门店、部门、角色、用户)
|
||||
|
||||
### 第二阶段:核心业务(4周)
|
||||
- CRM 模块(线索、客户、签约、问卷)
|
||||
- 房务模块(房态、预定、入离住)
|
||||
- 护理模块(档案、计划、记录、异常、指标)
|
||||
- 月子餐模块(排餐、送餐、评价)
|
||||
|
||||
### 第三阶段:增值 & 供应链(3周)
|
||||
- 服务与产康模块
|
||||
- 月嫂模块
|
||||
- 进销存模块
|
||||
|
||||
### 第四阶段:财务 & 人事(2周)
|
||||
- 财务模块
|
||||
- 人事薪资模块
|
||||
|
||||
### 第五阶段:协同 & 报表(2周)
|
||||
- 办公协同模块
|
||||
- 统计报表模块
|
||||
- 知识库模块
|
||||
|
||||
### 第六阶段:微客宝小程序(3周)
|
||||
- uni-app 项目搭建
|
||||
- 首页(商城、点餐、学堂、月嫂、活动)
|
||||
- 共伴成长(护理记录、数据图表)
|
||||
- 个人中心(账户、订单、服务、评价)
|
||||
|
||||
### 第七阶段:联调 & 部署(2周)
|
||||
- 前后端联调
|
||||
- 微信支付对接
|
||||
- 性能优化
|
||||
- Docker 部署
|
||||
- 上线验收
|
||||
Reference in New Issue
Block a user