![图片[1]-【更新预告】EMSHOP订单提交前将支持插件拦截与校验钩子](https://img.duokk.com/em/2026/04/0d1d3194968eb8c94684f36f753a92ac.png)
用户点击“立即购买”,订单数据涌向服务器。但如果此时卡密刚好售罄、选号商品被人抢先锁定、人工发货没填地址,订单照样生成,然后支付、然后卡在发货环节、然后售后纠纷。
在EMSHOP的底层重构中,订单提交前将触发插件拦截钩子:goods_type_{type}_order_submit。
核心系统在创建订单之前,先将订单数据(商品、规格、数量、用户填写的额外字段)传递给插件。插件执行自己的校验逻辑:
- 虚拟卡密插件:检查对应规格的卡密库存是否足够。
- 人工发货插件:检查收货地址是否填写完整。
- 选号商品插件:检查用户选中的号码是否仍处于可用状态。
如果校验不通过,插件返回错误信息(如“库存不足,仅剩3件”)。核心系统收到后,终止订单创建,将错误信息原样返回给前端页面。用户看到提示后可以调整重试。整个过程订单不会入库,不会产生脏数据。
很小的功能,但让下单流程从“先上车后补票”变成了“买票才能上车”。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END













暂无评论内容