🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 二开行为说明 文档最后更新时间:2021-08-18 13:26:35 ### 商城行为列表 | 钩子名称 | 解释 | | --- | --- | | order\_create\_before | 订单创建前,检测用户购买限制等 | | order\_create\_after | 订单创建后,删除购物车,添加自动关闭队列等 | | order\_payed\_after | 订单支付成功,只是付款成功 | | order\_close\_before | 订单关闭前,订单将自动关闭 | | order\_close\_after | 订单关闭后,将积分优惠券等退回 | | order\_cancel\_before | 订单取消前,用户手动取消订单 | | order\_cancel\_after | 订单取消后,将积分优惠券等退回 | | order\_send\_before | 订单发货前,后台发货前 | | order\_send\_after | 订单发货后,添加自动收货队列 | | order\_confirm\_before | 订单确认收货前 | | order\_confirm\_after | 订单确认收货后,(多个商品会走多次)添加自动评价队列 | | order\_confirm\_finish | 订单全部确认收货(只会走一次) | | order\_finish | 订单完成行为,订单交易完成(评价完成) | | order\_comment\_before | 订单评价前 | | order\_comment\_after | 订单评价后,判断并完成订单 | | order\_refund\_before | 订单退款前 | | order\_refund\_after | 订单退款后 | | aftersale\_finish\_before | 售后完成前 | | aftersale\_finish\_after | 售后完成后 | | aftersale\_refuse\_before | 售后拒绝前 | | aftersale\_refuse\_after | 售后拒绝后 | | aftersale\_change | 售后变动(包含售后完成/拒绝) | | activity\_update\_after | 活动更新后,将活动缓存到 redis,添加活动结束队列 | | activity\_delete\_after | 活动删除之后,将活动从 redis 删除 | | activity\_groupon\_finish | 拼团成功 | | activity\_groupon\_fail | 拼团失败 | ### 二次开发方式 **!!!注意,在研究清楚钩子逻辑之前,请不要置顶自己定义的行为,更不要覆盖商城行为** **!!!注意,在研究清楚钩子逻辑之前,请不要置顶自己定义的行为,更不要覆盖商城行为** **!!!注意,在研究清楚钩子逻辑之前,请不要置顶自己定义的行为,更不要覆盖商城行为** 4iOr0rBUjmNJANXa0L5QHg== **推荐方法** 8lOAJSGVEqCJu8BMzh8grg== ~~~ application/tags.php return [ // 应用初始化 'app_init' => [], // 应用开始 'app_begin' => [], // 模块初始化 'module_init' => [ 'app\\common\\behavior\\Common', ], // 插件开始 'addon_begin' => [ 'app\\common\\behavior\\Common', ], // 操作开始执行 'action_begin' => [], // 视图内容过滤 'view_filter' => [], // 日志写入 'log_write' => [], // 应用结束 'app_end' => [], // 在此处追加 shopro 的行为,例如 'order_finish' => [ // 自定义类1 // 自定义类2 ] ]; ~~~ **手动注册** Z91n5ribrc3acALIQ5vgQw== ~~~ Hook::add('order_finish','自定义类'); 示例 Hook::add('order_finish','app\\index\\behavior\\CheckLang'); ~~~ ### 重要钩子说明 #### order\_finish > 订单交易完成 **执行时机** YPjc1MA1dM2ic39jTuoLQw== * 订单全部确认收货,并且全部评价完成,订单状态变为交易完成时候执行 **检测时机** m56O7zdPHNI8fq/OST+xIQ== * 订单里面的商品评价后,检测用户订单是否全部评价完成 * 系统自动好评,检测用户订单是否全部评价完成 **钩子作用** +7Uj6eM0iwasgOZHYHHRmQ== * 可以在这里添加分佣逻辑 **注意** byhkclnvmUmxI7vjiTlQqA== * 注意订单状态必须变为交易完成才会执行 #### order\_confirm\_finish > 订单确认收货完成 **执行时机** ECLAWyGh4mZ8AoVnFWBdJw== * 订单全部确认收货完成,不论是否进行了评价 **检测时机** Fryfa2bPHAcVqBUawJE+uA== * 自动发货订单已支付,自动确认收货后检测是否全部确认收货 * 用户手动确认收货,检测是否全部确认收货 * 系统自动确认收货,检测是否全部确认收货 **钩子作用** XCAcWejQcb827o28Bl+NMw== * 可以在这里添加分佣逻辑 **注意** czM8yynCySoOnCOgAHtwKw== * 注意这里并不是订单的状态,这时订单状态为待评价状态 #### order\_confirm\_after > 订单确认收货之后 **执行时机** xd0txsNGt8szXcttvUgCmQ== * 用户自己点击确认收货 * 系统自动确认收货 * 自动发货订单,自动确认收货 **注意** slAkcD8Ow2SZJTBFpDGDdQ== * 一个订单如果购买了多个商品会执行多次,因为订单根据商品单独确认收货