Files
yuezi-saas/docs/01-technical-overview.md
li 11c177a432 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设计/模块详设/小程序设计/部署方案
2026-03-13 19:52:09 +08:00

10 KiB
Raw Permalink Blame History

宫中有喜 — 技术方案总览

一、项目概述

项目名称 宫中有喜月子会所综合管理系统
系统类型 多门店 SaaS 管理平台 + 客户端小程序
后端 PHP 8.1+ / Laravel 10
数据库 MySQL 8.0
前端(后台) Vue 3 + Element PlusSPA,自适应)
前端(客户端) 微信小程序(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 部署
  • 上线验收