ShopServiceProvider.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace App\Module\Shop\Providers;
  3. use Illuminate\Support\ServiceProvider;
  4. /**
  5. * 商店模块服务提供者
  6. *
  7. * 负责注册商店模块的服务、命令、事件监听器等
  8. * 此类是商店模块与Laravel框架集成的核心
  9. */
  10. class ShopServiceProvider extends ServiceProvider
  11. {
  12. /**
  13. * 注册服务
  14. *
  15. * 在此方法中注册商店模块的服务容器绑定
  16. * 此方法在应用启动早期被调用,适合注册服务但不适合使用任何服务
  17. *
  18. * @return void
  19. */
  20. public function register()
  21. {
  22. // 注册服务...
  23. }
  24. /**
  25. * 引导服务
  26. *
  27. * 在所有服务提供者被注册后调用,可以使用已注册的服务
  28. * 负责注册命令、事件监听器等
  29. *
  30. * @return void
  31. */
  32. public function boot()
  33. {
  34. // 注册后台路由
  35. $this->registerAdminRoutes();
  36. // 注册事件监听器
  37. $this->registerEventListeners();
  38. }
  39. /**
  40. * 注册后台路由
  41. *
  42. * @return void
  43. */
  44. protected function registerAdminRoutes()
  45. {
  46. \Dcat\Admin\Admin::routes();
  47. $attributes = [
  48. 'prefix' => config('admin.route.prefix'),
  49. 'middleware' => config('admin.route.middleware'),
  50. ];
  51. app('router')->group($attributes, function ($router) {
  52. // 商店分类路由
  53. $router->resource('shop/categories', \App\Module\Shop\AdminControllers\ShopCategoryController::class);
  54. // 商店商品路由
  55. $router->resource('shop/items', \App\Module\Shop\AdminControllers\ShopItemController::class);
  56. // 商店促销活动路由
  57. $router->resource('shop/promotions', \App\Module\Shop\AdminControllers\ShopPromotionController::class);
  58. // 促销活动商品管理路由
  59. $router->get('shop/promotions/{id}/items', [\App\Module\Shop\AdminControllers\ShopPromotionController::class, 'items']);
  60. $router->post('shop/promotions/{id}/items/add', [\App\Module\Shop\AdminControllers\ShopPromotionController::class, 'addItem']);
  61. $router->get('shop/promotions/{id}/items/remove', [\App\Module\Shop\AdminControllers\ShopPromotionController::class, 'removeItem']);
  62. // 商店购买记录路由
  63. $router->resource('shop/purchase-logs', \App\Module\Shop\AdminControllers\ShopPurchaseLogController::class);
  64. // 商店限购配置路由
  65. $router->resource('shop/purchase-limits', \App\Module\Shop\AdminControllers\ShopPurchaseLimitController::class);
  66. });
  67. }
  68. /**
  69. * 注册事件监听器
  70. *
  71. * @return void
  72. */
  73. protected function registerEventListeners()
  74. {
  75. // 注册事件监听器...
  76. }
  77. }