Property Management Platform物业管理系统

物业管理系统 (Property Management Platform)

Copyright (c) 2026 erik erik@erik.xyzhttps://erik.xyz

全栈物业管理系统,覆盖小区管理、费用收缴、报修维护、停车门禁、安保保洁等15个业务模块。管理员端(admin)和业主端(service)分离部署,前端覆盖 Flutter Web(PC 管理后台风格)与 HarmonyOS 移动端。

项目结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
property-management-platform/
├── admin/ # 管理员端 webman v2 项目
│ ├── app/
│ │ ├── admin/controller/ # 管理端控制器
│ │ ├── api/v1/controller/ # 公开 API 控制器
│ │ ├── common/ # 公共工具类
│ │ ├── middleware/ # 中间件(认证/鉴权/限流/安全)
│ │ ├── model/ # 数据模型(Eloquent ORM)
│ │ ├── queue/ # 队列任务
│ │ └── process/ # 进程管理
│ ├── apps/
│ │ ├── flutter/ # 管理后台 Flutter Web(PC 风格)
│ │ └── harmonyos/ # 管理后台 HarmonyOS App
│ ├── config/ # 配置文件(含中文注释)
│ ├── database/
│ │ ├── migrations/ # SQL 迁移文件
│ │ └── backup/ # 数据库备份脚本
│ ├── resource/
│ │ └── translations/ # 国际化语言文件(zh_CN / en)
│ ├── docs/ # 管理端文档
│ ├── tests/ # 单元测试
│ └── public/ # Web 入口
├── service/ # 业主业务端 webman v2 项目
│ ├── app/
│ │ ├── api/v1/controller/ # 业主端 API 控制器
│ │ ├── common/ # 公共工具类
│ │ ├── middleware/ # 中间件
│ │ ├── model/ # 数据模型
│ │ └── process/ # 进程管理
│ ├── config/ # 配置文件
│ ├── resource/
│ │ └── translations/ # 国际化语言文件
│ └── database/migrations/ # SQL 迁移文件
├── apps/
│ ├── flutter/ # 业主端 Flutter Web(PC 风格)
│ └── harmonyos/ # 业主端 HarmonyOS App
└── docs/ # 项目文档
├── ARCHITECTURE.md
├── ARCHITECTURE_DESIGN.md
├── API.md
├── FEATURES.md
└── FEATURE_DESIGN.md

功能模块(15大模块)

批次 模块 管理员端 业主端
第1批 小区管理、楼栋管理、房产管理、业主管理、租户管理、费用管理、报修管理、公告通知 全部 CRUD 查看/缴费/报修/评价
第2批 停车管理、设备管理、投诉建议、访客管理、合同管理、财务管理 全部 CRUD + 审批 预约/提交/查看
第3批 安保巡逻、保洁管理、绿化管理、社区活动、能耗管理、员工管理 全部 CRUD 查看/报名

下载

技术栈

后端

  • 框架: webman v2 (workerman/webman)
  • 语言: PHP 8.3+
  • 数据库: MySQL 8.0+,表前缀 erik_,主键 BIGINT 非自增
  • 搜索引擎: Elasticsearch 8.x
  • 缓存: Redis 7.x

核心依赖

包名 用途
erikwang2013/snowflake-php 全局唯一 BIGINT 主键生成
erikwang2013/hashids API 层 ID 加解密
erikwang2013/jwt-webman JWT 认证(HS256)
erikwang2013/encryption API 传输敏感数据 AES-256-CBC 加密
erikwang2013/encryptable 数据库敏感字段加解密
erikwang2013/webman-scout Elasticsearch 数据同步与全文检索
erikwang2013/season 国家旗帜数据
erikwang2013/security-php 安全工具检测
erikwang2013/poster-php 敏感操作随机验证码
phpoffice/phpspreadsheet Excel 导出
barryvdh/laravel-dompdf PDF 导出

前端

  • Flutter 3.x + GetX(含 i18n) + Dio + fl_chart — PC 风格 Web 管理后台
  • HarmonyOS ArkTS + @ohos.net.http — 移动端 App

国际化

  • PHP 后端: symfony/translation,语言文件位于 resource/translations/{zh_CN,en}/messages.php
  • Flutter Web: GetX Translationsapps/flutter/lib/i18n/messages.dart
  • 默认语言: 简体中文(zh_CN),支持英语(en)切换
  • 请求头: 支持通过 Accept-Language 请求头控制响应语言

安全体系(18层纵深防御)

  1. 点击验证码 → 2. 密码二次确认 → 3. poster 随机验证 → 4. security-php 安全扫描 → 5. SecurityFilter 攻击拦截 → 6. HTTPS + AES-256-CBC 传输加密 → 7. JWT HS256 认证 → 8. 并发会话限制(最多3个) → 9. 账号锁定(5次失败/15分钟) → 10. RBAC 权限鉴权(method.path 粒度) → 11. Redis 滑动窗口限流 → 12. Hashids ID 保护 → 13. 请求体敏感字段加密 → 14. DB 字段加密存储 → 15. 展示层数据脱敏 → 16. 操作日志全量审计(8平台来源端) → 17. CSP 头防护 → 18. PDF 版权水印

代码规范

  • 所有新建文件头包含版权声明:Copyright (c) 2026 erik <erik@erik.xyz> — https://erik.xyz
  • 全局函数/类引用使用 use 导入,不加前置 \
  • 配置文件包含中文注释说明每个配置项
  • 主键 ID 使用 BIGINT UNSIGNED NOT NULL,由 snowflake-php 应用层生成
  • API 传输 ID 使用 hashids 加解密

快速开始

环境要求

  • PHP 8.1+
  • MySQL 8.0+
  • Redis 6.0+
  • Composer 2.x
  • Flutter SDK 3.x(前端开发)

1. 初始化数据库

1
2
3
4
5
6
7
8
# 创建数据库
mysql -u root -e "CREATE DATABASE IF NOT EXISTS property_management DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;"

# 导入管理端数据表
mysql -u root property_management < admin/database/migrations/2026_05_16_000000_init_tables.sql
mysql -u root property_management < admin/database/migrations/2026_05_20_000001_seed_permissions.sql
mysql -u root property_management < admin/database/migrations/2026_05_21_000002_add_source_to_operation_log.sql
mysql -u root property_management < admin/database/migrations/2026_05_22_000001_property_batch1_tables.sql

2. 启动管理端

1
2
3
4
5
6
cd admin
cp .env.example .env
# 编辑 .env 修改数据库密码等配置
composer install
php start.php start -d
# 管理端运行在 http://localhost:8787

3. 启动业务端

1
2
3
4
5
6
cd service
cp .env.example .env
# 编辑 .env 修改数据库密码等配置
composer install
php start.php start -d
# 业务端运行在 http://localhost:8788

4. 启动前端(开发)

1
2
3
cd apps/flutter
flutter pub get
flutter run -d chrome

Docker 部署

1
2
3
4
cd admin
cp .env.docker .env
docker-compose up -d
# 包含 Nginx + PHP + MySQL + Redis + Elasticsearch

部署拓扑

1
2
Nginx (:443) → admin webman (:8787) + service webman (:8788) → MySQL + Redis + Elasticsearch
静态文件: Flutter Web build/

默认管理员

用户名 密码 角色
admin admin123 超级管理员

生产环境请立即修改默认密码。

物业管理系统分为三个版本:基础版(Lite)、标准版(Standard)、完整版(Full),逐级累进。


总览

指标 基础版 (Lite) 标准版 (Standard) 完整版 (Full)
数据库表 21 31 65
Eloquent 模型 19 30 58
管理端控制器 17 28 47
业主端控制器 9 12 17
API 路由 35 70 178
业务模块 10 18 34
安全层 18 层 18 层 18 层

功能模块对比

基础版 (Lite)

核心物业管理,含管理后台通用系统 + 10个核心业务模块。

管理端: 仪表盘、用户/角色/权限/配置/日志 CRUD、小区/楼栋/单元/户型/房产/业主/租户/费用/报修/公告 CRUD

业主端: 注册/登录、首页、我的房产、账单缴费、报修提交/评价、公告查看、个人信息


标准版 (Standard)

在基础版之上增加6个辅助业务模块 + 面板可视化 + 数据导出。

管理端新增: 停车位/车辆CRUD、设备台账+维保、投诉处理+回访、访客审批、合同管理、收支管理+统计

业主端新增: 我的车辆/车位、停车记录、访客预约/通行码


完整版 (Full)

在标准版之上增加高级模块 + 12个扩展功能。

管理端新增: 巡逻路线+记录、保洁区域+记录、绿化区域+养护、社区活动管理、能耗仪表+抄表、员工管理、通知模板+发送、审批引擎、支付订单+退款、投票管理+SLA规则+催缴策略+巡检任务+商城管理+人脸审核+集团管理+知识库

业主端新增: 社区活动报名、停车/访客预约、消息通知、投票+计票、浏览商品+下单、智能问答、人脸注册


技术指标对比

指标 基础版 标准版 完整版
数据库表 21 31 65
模型文件 19 30 58
admin 控制器 17 28 47
service 控制器 9 12 17
admin 路由 45 80 123
service 路由 20 35 55
Flutter 页面 4 7 10
HarmonyOS 页面 2 3 5
中间件 7 8 9
PHP 测试 18 18 18

安全体系(三版通用)

18 层纵深防御:验证码 → 密码确认 → 随机验证 → 安全扫描 → 攻击拦截 → HTTPS + AES-256-CBC → JWT → 会话控制 → 账号锁定 → RBAC → 限流 → ID保护 → 请求加密 → 存储加密 → 展示脱敏 → 审计 → CSP → 版权水印


迁移路径

1
2
3
4
5
6
7
8
9
基础版 (Lite)

│ + 6辅助模块 + 面板 + 导出

标准版 (Standard)

│ + 6高级模块 + 12扩展功能

完整版 (Full)

升级只需执行对应批次的 SQL 迁移文件,无需数据迁移或破坏性变更。