From f061c4f8b0f89c5914fbab0ebd58b7d45daf4337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E4=B8=91=E8=B7=AF=E4=BA=BA?= <2278757482@qq.com> Date: Tue, 12 Jan 2021 22:28:40 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=96=B0=E5=A2=9EBlog=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=EF=BC=9B=20=E5=89=8D=E7=AB=AF=E6=A8=A1=E6=9D=BF=E6=9D=A5?= =?UTF-8?q?=E6=BA=90=EF=BC=9Ahttps://github.com/llldddbbb/dbblog=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E7=9A=84dbblog-frontend=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Modules/Blog/Config/.gitkeep | 0 app/Modules/Blog/Config/config.php | 5 + app/Modules/Blog/Console/.gitkeep | 0 app/Modules/Blog/Database/Migrations/.gitkeep | 0 app/Modules/Blog/Database/Seeders/.gitkeep | 0 .../Database/Seeders/BlogDatabaseSeeder.php | 21 ++++ app/Modules/Blog/Database/factories/.gitkeep | 0 app/Modules/Blog/Entities/.gitkeep | 0 app/Modules/Blog/Http/Controllers/.gitkeep | 0 .../Blog/Http/Controllers/BlogController.php | 79 ++++++++++++ app/Modules/Blog/Http/Middleware/.gitkeep | 0 app/Modules/Blog/Http/Requests/.gitkeep | 0 app/Modules/Blog/Providers/.gitkeep | 0 .../Blog/Providers/BlogServiceProvider.php | 112 ++++++++++++++++++ .../Blog/Providers/RouteServiceProvider.php | 69 +++++++++++ app/Modules/Blog/Resources/assets/.gitkeep | 0 app/Modules/Blog/Resources/assets/js/app.js | 0 .../Blog/Resources/assets/sass/app.scss | 0 app/Modules/Blog/Resources/lang/.gitkeep | 0 app/Modules/Blog/Resources/views/.gitkeep | 0 .../Blog/Resources/views/index.blade.php | 9 ++ .../Resources/views/layouts/master.blade.php | 19 +++ app/Modules/Blog/Routes/.gitkeep | 0 app/Modules/Blog/Routes/api.php | 18 +++ app/Modules/Blog/Routes/web.php | 16 +++ app/Modules/Blog/Tests/Feature/.gitkeep | 0 app/Modules/Blog/Tests/Unit/.gitkeep | 0 app/Modules/Blog/composer.json | 23 ++++ app/Modules/Blog/module.json | 13 ++ app/Modules/Blog/package.json | 17 +++ app/Modules/Blog/webpack.mix.js | 14 +++ modules_statuses.json | 3 +- 32 files changed, 417 insertions(+), 1 deletion(-) create mode 100644 app/Modules/Blog/Config/.gitkeep create mode 100644 app/Modules/Blog/Config/config.php create mode 100644 app/Modules/Blog/Console/.gitkeep create mode 100644 app/Modules/Blog/Database/Migrations/.gitkeep create mode 100644 app/Modules/Blog/Database/Seeders/.gitkeep create mode 100644 app/Modules/Blog/Database/Seeders/BlogDatabaseSeeder.php create mode 100644 app/Modules/Blog/Database/factories/.gitkeep create mode 100644 app/Modules/Blog/Entities/.gitkeep create mode 100644 app/Modules/Blog/Http/Controllers/.gitkeep create mode 100644 app/Modules/Blog/Http/Controllers/BlogController.php create mode 100644 app/Modules/Blog/Http/Middleware/.gitkeep create mode 100644 app/Modules/Blog/Http/Requests/.gitkeep create mode 100644 app/Modules/Blog/Providers/.gitkeep create mode 100644 app/Modules/Blog/Providers/BlogServiceProvider.php create mode 100644 app/Modules/Blog/Providers/RouteServiceProvider.php create mode 100644 app/Modules/Blog/Resources/assets/.gitkeep create mode 100644 app/Modules/Blog/Resources/assets/js/app.js create mode 100644 app/Modules/Blog/Resources/assets/sass/app.scss create mode 100644 app/Modules/Blog/Resources/lang/.gitkeep create mode 100644 app/Modules/Blog/Resources/views/.gitkeep create mode 100644 app/Modules/Blog/Resources/views/index.blade.php create mode 100644 app/Modules/Blog/Resources/views/layouts/master.blade.php create mode 100644 app/Modules/Blog/Routes/.gitkeep create mode 100644 app/Modules/Blog/Routes/api.php create mode 100644 app/Modules/Blog/Routes/web.php create mode 100644 app/Modules/Blog/Tests/Feature/.gitkeep create mode 100644 app/Modules/Blog/Tests/Unit/.gitkeep create mode 100644 app/Modules/Blog/composer.json create mode 100644 app/Modules/Blog/module.json create mode 100644 app/Modules/Blog/package.json create mode 100644 app/Modules/Blog/webpack.mix.js diff --git a/app/Modules/Blog/Config/.gitkeep b/app/Modules/Blog/Config/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Config/config.php b/app/Modules/Blog/Config/config.php new file mode 100644 index 0000000..6d927e0 --- /dev/null +++ b/app/Modules/Blog/Config/config.php @@ -0,0 +1,5 @@ + 'Blog' +]; diff --git a/app/Modules/Blog/Console/.gitkeep b/app/Modules/Blog/Console/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Database/Migrations/.gitkeep b/app/Modules/Blog/Database/Migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Database/Seeders/.gitkeep b/app/Modules/Blog/Database/Seeders/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Database/Seeders/BlogDatabaseSeeder.php b/app/Modules/Blog/Database/Seeders/BlogDatabaseSeeder.php new file mode 100644 index 0000000..bd8df9b --- /dev/null +++ b/app/Modules/Blog/Database/Seeders/BlogDatabaseSeeder.php @@ -0,0 +1,21 @@ +call("OthersTableSeeder"); + } +} diff --git a/app/Modules/Blog/Database/factories/.gitkeep b/app/Modules/Blog/Database/factories/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Entities/.gitkeep b/app/Modules/Blog/Entities/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Http/Controllers/.gitkeep b/app/Modules/Blog/Http/Controllers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Http/Controllers/BlogController.php b/app/Modules/Blog/Http/Controllers/BlogController.php new file mode 100644 index 0000000..670d446 --- /dev/null +++ b/app/Modules/Blog/Http/Controllers/BlogController.php @@ -0,0 +1,79 @@ +registerTranslations(); + $this->registerConfig(); + $this->registerViews(); + $this->loadMigrationsFrom(module_path($this->moduleName, 'Database/Migrations')); + } + + /** + * Register the service provider. + * + * @return void + */ + public function register() + { + $this->app->register(RouteServiceProvider::class); + } + + /** + * Register config. + * + * @return void + */ + protected function registerConfig() + { + $this->publishes([ + module_path($this->moduleName, 'Config/config.php') => config_path($this->moduleNameLower . '.php'), + ], 'config'); + $this->mergeConfigFrom( + module_path($this->moduleName, 'Config/config.php'), $this->moduleNameLower + ); + } + + /** + * Register views. + * + * @return void + */ + public function registerViews() + { + $viewPath = resource_path('views/modules/' . $this->moduleNameLower); + + $sourcePath = module_path($this->moduleName, 'Resources/views'); + + $this->publishes([ + $sourcePath => $viewPath + ], ['views', $this->moduleNameLower . '-module-views']); + + $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower); + } + + /** + * Register translations. + * + * @return void + */ + public function registerTranslations() + { + $langPath = resource_path('lang/modules/' . $this->moduleNameLower); + + if (is_dir($langPath)) { + $this->loadTranslationsFrom($langPath, $this->moduleNameLower); + } else { + $this->loadTranslationsFrom(module_path($this->moduleName, 'Resources/lang'), $this->moduleNameLower); + } + } + + /** + * Get the services provided by the provider. + * + * @return array + */ + public function provides() + { + return []; + } + + private function getPublishableViewPaths(): array + { + $paths = []; + foreach (\Config::get('view.paths') as $path) { + if (is_dir($path . '/modules/' . $this->moduleNameLower)) { + $paths[] = $path . '/modules/' . $this->moduleNameLower; + } + } + return $paths; + } +} diff --git a/app/Modules/Blog/Providers/RouteServiceProvider.php b/app/Modules/Blog/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..6affbbc --- /dev/null +++ b/app/Modules/Blog/Providers/RouteServiceProvider.php @@ -0,0 +1,69 @@ +mapApiRoutes(); + + $this->mapWebRoutes(); + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + * + * @return void + */ + protected function mapWebRoutes() + { + Route::middleware('web') + ->namespace($this->moduleNamespace) + ->group(module_path('Blog', '/Routes/web.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + * + * @return void + */ + protected function mapApiRoutes() + { + Route::prefix('api') + ->middleware('api') + ->namespace($this->moduleNamespace) + ->group(module_path('Blog', '/Routes/api.php')); + } +} diff --git a/app/Modules/Blog/Resources/assets/.gitkeep b/app/Modules/Blog/Resources/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Resources/assets/js/app.js b/app/Modules/Blog/Resources/assets/js/app.js new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Resources/assets/sass/app.scss b/app/Modules/Blog/Resources/assets/sass/app.scss new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Resources/lang/.gitkeep b/app/Modules/Blog/Resources/lang/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Resources/views/.gitkeep b/app/Modules/Blog/Resources/views/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/Modules/Blog/Resources/views/index.blade.php b/app/Modules/Blog/Resources/views/index.blade.php new file mode 100644 index 0000000..cf0370e --- /dev/null +++ b/app/Modules/Blog/Resources/views/index.blade.php @@ -0,0 +1,9 @@ +@extends('blog::layouts.master') + +@section('content') +
+ This view is loaded from module: {!! config('blog.name') !!} +
+@endsection diff --git a/app/Modules/Blog/Resources/views/layouts/master.blade.php b/app/Modules/Blog/Resources/views/layouts/master.blade.php new file mode 100644 index 0000000..7fbe4a1 --- /dev/null +++ b/app/Modules/Blog/Resources/views/layouts/master.blade.php @@ -0,0 +1,19 @@ + + + + + + +