mirror of
https://gitee.com/technical-laohu/mpay_v2_webman.git
synced 2026-05-09 02:14:53 +08:00
2.1 KiB
2.1 KiB
架构与请求流
工作区结构
MPAY_V2/
admin/ 管理后台前端
mer/ 商户后台前端
cashier/ 收银台前端
mpay/ Webman 后端
docs/ 当前文档中心
请求入口
flowchart LR
Admin["admin 前端"] --> AdminApi["/adminapi"]
Mer["mer 前端"] --> MerApi["/merapi"]
Cashier["cashier 前端"] --> CashierApi["/api/cashier"]
Merchant["商户系统 / SDK"] --> EpayV1["/submit.php / /mapi.php / /api.php"]
Merchant --> EpayV2["/api/pay / /api/merchant / /api/transfer"]
AdminApi --> AdminRoute[app/route/admin.php]
MerApi --> MerRoute[app/route/mer.php]
CashierApi --> ApiRoute[app/route/api.php]
EpayV1 --> ApiRoute
EpayV2 --> ApiRoute
AdminRoute --> Http[app/http]
MerRoute --> Http
ApiRoute --> Http
Http --> Service[app/service]
Service --> Repo[app/repository]
Repo --> Model[app/model]
Model --> DB[(MySQL)]
Service --> Redis[(Redis)]
Service --> Plugin["app/common/payment 插件"]
Plugin --> Channel["第三方支付通道"]
后端分层
| 层 | 目录 | 职责 |
|---|---|---|
| 路由 | app/route、config/route.php |
绑定 URL、页面入口和中间件 |
| HTTP | app/http |
控制器、鉴权中间件、参数校验 |
| 服务 | app/service |
业务规则、状态流转、插件调用、通知、清算 |
| 仓库 | app/repository |
数据库读写封装 |
| 模型 | app/model |
表映射、类型转换、时间序列化 |
| 公共能力 | app/common |
基类、常量、工具、中间件、支付插件 |
关键进程
webman:HTTP 服务,监听0.0.0.0:8787。payment-runtime:支付运行时维护进程,负责商户通知重试、支付单超时扫描和支付中订单主动查单。monitor:开发环境文件监控和自动重载。
关键约束
config/route.php显式加载admin.php、mer.php、api.php,并关闭默认路由。- 管理后台和商户后台分别使用
AdminAuthMiddleware、MerchantAuthMiddleware。 - CORS 由
app/common/middleware/Cors处理。 - 前端请求前缀在各自
src/api/index.ts中集中拼接,不在页面里散写。