From 6f2512e3babf4cfab20df1b43d7e3d99b238096e Mon Sep 17 00:00:00 2001
From: Music <1293812979@qq.com>
Date: Wed, 19 Oct 2022 15:31:32 +0800
Subject: [PATCH] =?UTF-8?q?sail81=E4=B8=8B=E7=9A=84=E4=B8=80=E4=BA=9B?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env | 10 +++---
app/Console/Commands/importSql.php | 34 ++++++++++++++++++
app/Extends/Libs/BaseController.php | 8 +++--
docker-compose.yml | 53 +++++++++++++++++++++++++++++
phpunit.xml | 3 +-
routes/admin.php | 13 +++----
routes/web.php | 4 +++
7 files changed, 110 insertions(+), 15 deletions(-)
create mode 100644 app/Console/Commands/importSql.php
create mode 100644 docker-compose.yml
diff --git a/.env b/.env
index 9f5f4ed..c12dc60 100644
--- a/.env
+++ b/.env
@@ -9,11 +9,11 @@ LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
-DB_HOST=127.0.0.1
+DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=b5laravel9cmf
-DB_USERNAME=root
-DB_PASSWORD=root
+DB_USERNAME=sail
+DB_PASSWORD=password
BROADCAST_DRIVER=log
CACHE_DRIVER=file
@@ -22,9 +22,9 @@ QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
-MEMCACHED_HOST=127.0.0.1
+MEMCACHED_HOST=memcached
-REDIS_HOST=127.0.0.1
+REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
diff --git a/app/Console/Commands/importSql.php b/app/Console/Commands/importSql.php
new file mode 100644
index 0000000..c427359
--- /dev/null
+++ b/app/Console/Commands/importSql.php
@@ -0,0 +1,34 @@
+basePath('public') . '/b5laravel9cmf.sql'));
+ return Command::SUCCESS;
+ }
+}
diff --git a/app/Extends/Libs/BaseController.php b/app/Extends/Libs/BaseController.php
index d89a697..7ac46e7 100644
--- a/app/Extends/Libs/BaseController.php
+++ b/app/Extends/Libs/BaseController.php
@@ -13,6 +13,7 @@
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
+use Illuminate\Support\Facades\Route;
class BaseController extends Controller
{
@@ -63,8 +64,11 @@ public function __construct(Request $request)
*/
public function __initialize(): void
{
- $routeName = $this->request->route()->getActionName();
- list($controller, $action) = explode('@', $routeName);
+// $routeName = $this->request->route()->getActionName();
+ $routeAction = Route::currentRouteAction();
+ $base = substr($routeAction, strrpos($routeAction, '\\') + 1, strlen($routeAction) - strrpos($routeAction, '\\') - 1);
+ [$controller, $action] = explode('@', $base);
+// list($controller, $action) = explode('@', $routeName);
$controller = str_replace('Controller', '', class_basename($controller));
$this->controller = strtolower($controller);
$this->action = $action;
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..17e3460
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,53 @@
+# For more information: https://laravel.com/docs/sail
+version: '3'
+services:
+ laravel.test:
+ build:
+ context: ./vendor/laravel/sail/runtimes/8.1
+ dockerfile: Dockerfile
+ args:
+ WWWGROUP: '${WWWGROUP}'
+ image: sail-8.1/app
+ extra_hosts:
+ - 'host.docker.internal:host-gateway'
+ ports:
+ - '${APP_PORT:-80}:80'
+ - '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
+ environment:
+ WWWUSER: '${WWWUSER}'
+ LARAVEL_SAIL: 1
+ XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
+ XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
+ PATH: '/var/www/html/vendor/laravel/sail/node-v16.18.0-linux-x64/bin:$PATH'
+ volumes:
+ - '.:/var/www/html'
+ networks:
+ - sail
+ depends_on:
+ - mysql
+ mysql:
+ image: 'mysql/mysql-server:8.0'
+ ports:
+ - '${FORWARD_DB_PORT:-3306}:3306'
+ environment:
+ MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
+ MYSQL_ROOT_HOST: "%"
+ MYSQL_DATABASE: '${DB_DATABASE}'
+ MYSQL_USER: '${DB_USERNAME}'
+ MYSQL_PASSWORD: '${DB_PASSWORD}'
+ MYSQL_ALLOW_EMPTY_PASSWORD: 1
+ volumes:
+ - 'sail-mysql:/var/lib/mysql'
+ - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
+ networks:
+ - sail
+ healthcheck:
+ test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
+ retries: 3
+ timeout: 5s
+networks:
+ sail:
+ driver: bridge
+volumes:
+ sail-mysql:
+ driver: local
diff --git a/phpunit.xml b/phpunit.xml
index 2ac86a1..49661e5 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -21,8 +21,7 @@
-
-
+
diff --git a/routes/admin.php b/routes/admin.php
index 00ffefa..1d2799e 100644
--- a/routes/admin.php
+++ b/routes/admin.php
@@ -10,6 +10,12 @@
| contains the "web" middleware group. Now create something great!
|
*/
+//Public控制器
+Route::controller(\App\Http\Controllers\Admin\PublicController::class)->group(function (){
+ Route::any('/login','login')->name('admin.login');
+ Route::get('/logout','logout')->name('admin.logout');
+ Route::get('/noauth','noauth')->name('admin.noauth');
+});
//后台管理路由
Route::middleware(['admin.login','admin.auth','admin.demo'])->group(function(){
@@ -20,12 +26,7 @@
Route::get('/download', 'download')->name('admin.download');
});
- //Public控制器
- Route::controller(\App\Http\Controllers\Admin\PublicController::class)->group(function (){
- Route::any('/login','login')->name('admin.login');
- Route::get('/logout','logout')->name('admin.logout');
- Route::get('/noauth','noauth')->name('admin.noauth');
- });
+
//Common控制器
Route::controller(\App\Http\Controllers\Admin\CommonController::class)->group(function (){
diff --git a/routes/web.php b/routes/web.php
index 5bd1bd6..5a4829a 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -19,3 +19,7 @@
$code = $request->get('code','400');
return view('error',['code'=>$code,'msg'=>$msg]);
})->name('error');
+
+Route::get('ttt', function () {
+ return 'ehllo';
+});
\ No newline at end of file
--
Gitee