Appearance
概述
系统的事件定义位于 app/event.php 中,通过配置事件与监听器(Listener)的映射关系实现系统核心模块解耦。本文档列举系统支持的所有标准事件及其绑定的监听器类。
核心事件配置清单
Swoole 与 WebSocket 事件
php
'swoole.shutDown' => [\crmeb\listeners\SwooleShutdownListen::class], // Swoole 停止事件
'swoole.websocket.user' => [\app\webscoket\handler\UserHandler::class], // WebSocket 用户端调用
'swoole.websocket.admin' => [\app\webscoket\handler\AdminHandler::class], // WebSocket 后台端调用
'swoole.websocket.kefu' => [\app\webscoket\handler\KefuHandler::class], // WebSocket 客服端调用
'swoole.websocket.store' => [\app\webscoket\handler\StoreHandler::class], // WebSocket 门店端调用定时调度事件 (Crontab)
php
'crontab' => [
\app\listener\order\AutoCancel::class, // 自动取消超时未支付订单
\app\listener\order\AutoTake::class, // 自动确认收货
\app\listener\user\AutoClearIntegral::class, // 定时清空到期用户积分
\app\listener\user\AutoAgent::class, // 定时解绑过期分销关系
\app\listener\system\AutoClearPoster::class, // 自动清理昨日生成的海报缓存
\app\listener\system\AutoSmsCode::class, // 更新短信发送状态
\app\listener\live\AutoUpdateLive::class, // 自动更新直播商品与直播间状态
\app\listener\pink\AutoPink::class, // 拼团状态自动检测与更新
],用户生命周期事件
| 事件名称 | 监听器类 | 业务场景说明 |
|---|---|---|
user.register | \app\listener\user\Register::class | 用户注册成功(赠送新人券、初始化数据) |
user.login | \app\listener\user\Login::class | 用户登录成功(记录登录日志与 IP) |
user.vippay | \app\listener\user\VipUser::class | 用户购买/续费付费会员成功 |
user.recharge | \app\listener\user\Recharge::class | 用户充值到账成功 |
user.extract | \app\listener\user\Extract::class | 用户提交提现申请 |
user.create | \app\listener\user\CreateSuccess::class | 后台手动创建用户 |
订单生命周期事件
| 事件名称 | 监听器类 | 业务场景说明 |
|---|---|---|
order.create | \app\listener\order\Create::class | 订单创建成功(入队延迟取消任务、清理购物车) |
order.price | \app\listener\order\PriceRevision::class | 管理员后台修改订单价格 |
order.submitrefund | \app\listener\order\SubmitRefund::class | 用户提交售后退款申请 |
order.refuserefund | \app\listener\order\RefuseRefund::class | 商家拒绝退款申请 |
order.refund | \app\listener\order\Refund::class | 订单退款到账完成(回退库存、撤销佣金) |
order.pay | \app\listener\order\Pay::class | 订单支付成功(计算分销佣金、派发通知) |
order.delivery | \app\listener\order\Delivery::class | 商家发货(推送物流通知、设置自动收货) |
order.take | \app\listener\order\Take::class | 订单确认收货(佣金到账、发放积分) |
order.comment | \app\listener\order\Comment::class | 用户提交商品评价 |
商品与门店管理事件
| 事件名称 | 监听器类 | 业务场景说明 |
|---|---|---|
product.create | \app\listener\product\CreateSuccess::class | 商品创建成功 |
product.delete | \app\listener\product\DeleteSuccess::class | 商品移入回收站/删除 |
product.status | \app\listener\product\StatusSuccess::class | 商品上下架状态变更 |
store.create | \app\listener\store\StoreSuccess::class | 新增连锁门店 |
store.delete | \app\listener\store\DeleteSuccess::class | 删除门店 |
store.status | \app\listener\store\StatusSuccess::class | 门店营业状态切换 |
触发与扩展
在业务逻辑中直接通过 event('事件名', [$参数]) 触发即可:
php
// 示例:触发商品上下架状态变更事件
event('product.status', [$productId, $isShow]);