万家袋是一套围绕环保袋智能发放设备构建的运营平台。用户可以在设备现场扫码,通过支付、关注、积分或活动任务领取环保袋;运营方则管理设备、代理商、库存、订单、流量任务和收益结算。
项目组成
原目录包含三个相对独立的项目:
| 项目 | 技术形态 | 主要职责 |
|---|---|---|
wanjiadai |
ThinkPHP 6 | 多应用 API、用户与订单、设备、回调、统计和微信能力 |
wanjiadai_admin |
Vue 2、Element UI | 商品、订单、代理、设备、库存、财务、流量和权限管理 |
wanjiadai_express |
Node.js、Express、MQTT | 设备指令适配、消息订阅、状态转发和调试接口 |
这三个项目不能只按“前端、后端”理解。wanjiadai_express 位于业务 API 与不同设备协议之间,是独立的设备接入层;它出现故障时,即使后台和 API 正常,现场设备也可能无法执行出袋指令。
核心业务
- 通过设备二维码识别设备、位置和所属代理;
- 支持免费任务、积分兑换与在线支付等领袋方式;
- 管理代理商、商户、设备发货、铺设和补货记录;
- 维护设备在线状态、剩余袋数、异常和出袋结果;
- 通过广告、公众号、分享和积分任务承接流量运营;
- 按订单、设备和代理维度统计出袋量与收益;
- 通过角色、菜单和资源控制后台操作权限。
阅读路径
先阅读系统架构,理解三个项目怎样协作;再阅读扫码领袋与设备出袋流程,了解一次业务请求如何从用户页面走到实体设备并返回结果。