面向企业多园区日常运营。随着业务规模扩大,会议预约、访客接待、公车调度、设备共享、巡更安防等事务长期依赖线下登记与分散沟通,信息传递慢、审批链条长、数据难追溯。立项目标是建设一套覆盖「移动申请—流程审批—后台管控」的数字化平台,让员工在手机上完成办事,让管理员在网页端统一配置与监管,提升行政效率与园区管理水平。
系统由微信小程序、Spring Boot 业务后端、基于若依与 Flowable 的网页管理端组成,按业务划分为四大板块。行政服务含会议预约与扫码签到、企业邮箱申请、名片管理、办公用品申领、展厅预约、检测设备预约;园区管理含来访处理、车辆通行证申请、蓝牙巡更打卡;车辆管理含公车申请/派车/还车、货车预订及多级审核;后勤服务含每周食谱、线上超市、意见箱与问卷调查。管理端对应提供访客、会议室、设备、公车、巡更点位、展厅、用品、名片、邮箱、食谱及小程序用户等维护功能,并通过 Flowable 配置多级审批流程。
典型业务路径如下:员工在小程序首页选择功能模块,填写表单并提交;后端校验身份与数据后写入数据库,触发 Flowable 工作流,推送给部门主管、行政或车队等审批人;审批人在管理端或小程序待办中处理,流程结束后更新业务状态,并通过微信模板消息或订阅消息通知申请人。以公车预约为例:员工填写用车时间、人数、事由→部门审核→行政/车队派司机→用车完成后还车登记→管理员可在后台查询全程记录。以巡更为例:安保人员打开巡更模块,通过蓝牙连接指定信标设备,系统结合 RSSI 信号判断是否在打卡点位范围内,验证通过后记录巡更时间与位置。不同角色(普通员工、安保、物业、管理员)登录后首页菜单自动切换,实现「同一平台、分级可见」,形成完整业务闭环。
整体架构采用前后端分离、三端协同设计。微信小程序基于原生框架与 Vant Weapp 组件库开发,通过 HTTPS 调用业务后端 RESTful 接口,使用 JWT 完成身份认证,本地 Storage 缓存用户信息。业务后端(CommunityManagementSystem_rear_end)基于 Spring Boot 2.3、MyBatis、Spring Security 构建,集成微信开放平台 SDK 实现登录与消息推送,使用 MySQL 持久化、Redis 缓存热点数据、RabbitMQ 处理异步通知,Swagger 提供接口文档。网页管理端(lt-flowable-master)在若依 3.8.8 框架上扩展,前端 Vue 2 + Element UI,后端 Spring Boot + Flowable 6.8 工作流引擎,与业务库共享 oz-flowable 数据库,BPMN 可视化配置各业务审批节点。三端职责清晰:小程序负责交互与申请,CMS 后端负责业务逻辑与微信对接,管理端负责流程编排、数据维护与审批操作。
本项目由本人独立完成需求调研、数据库设计、三端编码、联调测试与部署上线。交付成果包括 80 余个小程序页面、19 个后端 Controller 模块、26 个管理端业务页面,覆盖会议、访客、公车、设备、巡更、展厅、用品等全业务链路,已在公司内部稳定运行。
难点一:蓝牙巡更打卡的点位识别与稳定性。 巡更需验证人员是否到达指定位置,最初仅用 GPS 定位,室内误差大。解决方案是引入 BLE 蓝牙信标,小程序通过 openBluetoothAdapter 搜索附近设备,读取 RSSI 信号强度判断距离,仅当信号达到阈值且匹配预设 MAC 地址时才允许打卡;同时增加连接超时重试与异常提示,显著降低误打卡率。
难点二:Flowable 工作流与小程序业务状态同步。 审批在管理端完成,但小程序需实时展示「待审核/已通过/已驳回」等状态,两端数据易不一致。解决方案是在业务表中统一设计 processInstanceId 与 status 字段,后端在流程节点变更时同步更新业务状态,并通过微信订阅消息推送结果;小程序列表页在 onShow 生命周期刷新数据,管理端审批完成后回调业务 Service 更新状态,确保三端数据一致。