| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- namespace App\Module\Shop\Providers;
- use Illuminate\Support\ServiceProvider;
- /**
- * 商店模块服务提供者
- *
- * 负责注册商店模块的服务、命令、事件监听器等
- * 此类是商店模块与Laravel框架集成的核心
- */
- class ShopServiceProvider extends ServiceProvider
- {
- /**
- * 注册服务
- *
- * 在此方法中注册商店模块的服务容器绑定
- * 此方法在应用启动早期被调用,适合注册服务但不适合使用任何服务
- *
- * @return void
- */
- public function register()
- {
- // 注册服务...
- }
- /**
- * 引导服务
- *
- * 在所有服务提供者被注册后调用,可以使用已注册的服务
- * 负责注册命令、事件监听器等
- *
- * @return void
- */
- public function boot()
- {
- // 注册命令
- if ($this->app->runningInConsole()) {
- $this->commands([
- \App\Module\Shop\Commands\GenerateShopItemsJsonCommand::class, // 生成商店商品JSON数据命令
- ]);
- }
- // 注册后台路由
- $this->registerAdminRoutes();
- // 注册事件监听器
- $this->registerEventListeners();
- }
- /**
- * 注册后台路由
- *
- * @return void
- */
- protected function registerAdminRoutes()
- {
- \Dcat\Admin\Admin::routes();
- $attributes = [
- 'prefix' => config('admin.route.prefix'),
- 'middleware' => config('admin.route.middleware'),
- ];
- app('router')->group($attributes, function ($router) {
- // 商店分类路由
- $router->resource('shop/categories', \App\Module\Shop\AdminControllers\ShopCategoryController::class);
- // 商店商品路由
- $router->resource('shop/items', \App\Module\Shop\AdminControllers\ShopItemController::class);
- // 商店促销活动路由
- $router->resource('shop/promotions', \App\Module\Shop\AdminControllers\ShopPromotionController::class);
- // 促销活动商品管理路由
- $router->get('shop/promotions/{id}/items', [\App\Module\Shop\AdminControllers\ShopPromotionController::class, 'items']);
- $router->post('shop/promotions/{id}/items/add', [\App\Module\Shop\AdminControllers\ShopPromotionController::class, 'addItem']);
- $router->get('shop/promotions/{id}/items/remove', [\App\Module\Shop\AdminControllers\ShopPromotionController::class, 'removeItem']);
- // 商店购买记录路由
- $router->resource('shop/purchase-logs', \App\Module\Shop\AdminControllers\ShopPurchaseLogController::class);
- // 商店限购配置路由
- $router->resource('shop/purchase-limits', \App\Module\Shop\AdminControllers\ShopPurchaseLimitController::class);
- });
- }
- /**
- * 注册事件监听器
- *
- * @return void
- */
- protected function registerEventListeners()
- {
- // 注册事件监听器...
- }
- }
|