OrderFrontendButtonConfig.php 4.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Name: 芸众商城系统
  5. * Author: 广州市芸众信息科技有限公司
  6. * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
  7. * Date: 2021/8/2
  8. * Time: 10:28
  9. */
  10. namespace app\common\modules\shop;
  11. class OrderFrontendButtonConfig extends CommonConfig
  12. {
  13. public static $current;
  14. static public function current()
  15. {
  16. if (!isset(static::$current)) {
  17. static::$current = new static();
  18. }
  19. return static::$current;
  20. }
  21. protected function _getItems()
  22. {
  23. $result = [
  24. 'member_order_operations' => [
  25. 'waitPay' => [
  26. \app\frontend\modules\order\operations\member\Pay::class,
  27. \app\frontend\modules\order\operations\member\Close::class,
  28. ],
  29. 'waitSend' => [
  30. \app\frontend\modules\order\operations\member\ApplyRefund::class,
  31. \app\frontend\modules\order\operations\member\Refunding::class,
  32. \app\frontend\modules\order\operations\member\Refunded::class,
  33. \app\frontend\modules\order\operations\member\ExpeditingDelivery::class, //催发货
  34. \app\frontend\modules\order\operations\member\ContactCustomerService::class,
  35. \app\frontend\modules\order\operations\member\Coupon::class, //分享优惠卷
  36. ],
  37. 'waitReceive' => [
  38. \app\frontend\modules\order\operations\member\Receive::class,
  39. \app\frontend\modules\order\operations\member\ExpressInfo::class,
  40. \app\frontend\modules\order\operations\member\ApplyRefund::class,
  41. \app\frontend\modules\order\operations\member\Refunding::class,
  42. \app\frontend\modules\order\operations\member\Refunded::class,
  43. \app\frontend\modules\order\operations\member\ContactCustomerService::class,
  44. \app\frontend\modules\order\operations\member\Coupon::class, //分享优惠卷
  45. ],
  46. 'complete' => [
  47. \app\frontend\modules\order\operations\member\ApplyRefund::class,
  48. \app\frontend\modules\order\operations\member\Refunding::class,
  49. \app\frontend\modules\order\operations\member\Refunded::class,
  50. \app\frontend\modules\order\operations\member\ExpressInfo::class,
  51. \app\frontend\modules\order\operations\member\ViewEquity::class, //查看卡券
  52. \app\frontend\modules\order\operations\member\CheckInvoice::class,
  53. \app\frontend\modules\order\operations\member\ContactCustomerService::class,
  54. \app\frontend\modules\order\operations\member\Coupon::class, //分享优惠卷
  55. \app\frontend\modules\order\operations\member\Delete::class,
  56. ],
  57. 'close' => [
  58. \app\frontend\modules\order\operations\member\ExpressInfo::class,
  59. \app\frontend\modules\order\operations\member\Refunded::class,
  60. \app\frontend\modules\order\operations\member\CloseReason::class,
  61. \app\frontend\modules\order\operations\member\Delete::class,
  62. ],
  63. ],
  64. 'order_frontend_button' => [//插件按钮配置
  65. ['plugin_id' => 0,'class' => \app\frontend\modules\order\services\OrderFrontendButton::class,'weight'=>0],
  66. ],
  67. 'replace_order_frontend_button' => [//需替换原按钮的配置
  68. //例:['search'=>'\app\frontend\modules\order\operations\member\ExpressInfo::class','replace'=>'\plugin\blind-box\order\operations\member\ExpressInfo::class']
  69. 'waitPay' => [],
  70. 'waitSend' => [],
  71. 'waitReceive' => [],
  72. 'complete' => [],
  73. 'close' => [],
  74. ],
  75. ];
  76. $this->items = $result; //先为items赋值,不然下边会死循环
  77. $plugins = app('plugins')->getEnabledPlugins('*');
  78. foreach ($plugins as $plugin) {
  79. $class = $plugin->app();
  80. if (method_exists($class,'orderButtonConfig')) {
  81. $class->orderButtonConfig();
  82. }
  83. }
  84. return $this->items;
  85. }
  86. }