Quellcode durchsuchen

feat(module): 添加 Dcat Admin Demo 模块基础结构

- 新增 .env.example 文件,包含模块默认环境变量配置
- 更新 composer.json,添加模块初始化脚本
- 创建数据库迁移和种子文件,初始化示例数据
- 添加 start.sh 脚本,简化模块启动和初始化流程
dongasai vor 5 Monaten
Ursprung
Commit
2a1a694e1c
5 geänderte Dateien mit 131 neuen und 2 gelöschten Zeilen
  1. 54 0
      .env.example
  2. 11 2
      composer.json
  3. 18 0
      src/database/seeders/DatabaseSeeder.php
  4. 40 0
      src/database/seeders/DemoSeeder.php
  5. 8 0
      start.sh

+ 54 - 0
.env.example

@@ -0,0 +1,54 @@
+APP_NAME="Dcat Admin Demo Module"
+APP_ENV=local
+APP_KEY=
+APP_DEBUG=true
+APP_URL=http://localhost
+
+LOG_CHANNEL=stack
+LOG_DEPRECATIONS_CHANNEL=null
+LOG_LEVEL=debug
+
+DB_CONNECTION=sqlite
+DB_DATABASE=database/database.sqlite
+
+BROADCAST_DRIVER=log
+CACHE_DRIVER=file
+FILESYSTEM_DISK=local
+QUEUE_CONNECTION=sync
+SESSION_DRIVER=file
+SESSION_LIFETIME=120
+
+MEMCACHED_HOST=127.0.0.1
+
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_MAILER=smtp
+MAIL_HOST=mailpit
+MAIL_PORT=1025
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
+MAIL_FROM_ADDRESS="hello@example.com"
+MAIL_FROM_NAME="${APP_NAME}"
+
+AWS_ACCESS_KEY_ID=
+AWS_SECRET_ACCESS_KEY=
+AWS_DEFAULT_REGION=us-east-1
+AWS_BUCKET=
+AWS_USE_PATH_STYLE_ENDPOINT=false
+
+PUSHER_APP_ID=
+PUSHER_APP_KEY=
+PUSHER_APP_SECRET=
+PUSHER_HOST=
+PUSHER_PORT=443
+PUSHER_SCHEME=https
+PUSHER_APP_CLUSTER=mt1
+
+VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
+VITE_PUSHER_HOST="${PUSHER_HOST}"
+VITE_PUSHER_PORT="${PUSHER_PORT}"
+VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
+VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

+ 11 - 2
composer.json

@@ -16,8 +16,8 @@
         "laravel/framework": "*"
     },
     "require-dev": {
-        "phpunit/phpunit": "^10.0",
-        "orchestra/testbench": "^8.0|^9.0"
+        "orchestra/testbench": "^9.14",
+        "phpunit/phpunit": "^10.0"
     },
     "autoload": {
         "psr-4": {
@@ -42,6 +42,15 @@
             "joshbrw/laravel-module-installer": true
         }
     },
+    "scripts": {
+        "module_init": [
+            "@php -r \"if (!file_exists('.env')) { copy('.env.example', '.env'); echo 'Created .env file from .env.example\\n'; } else { echo '.env file already exists\\n'; }\"",
+            "@php -r \"if (!file_exists('database/database.sqlite')) { if (!is_dir('database')) mkdir('database', 0755, true); touch('database/database.sqlite'); echo 'Created database/database.sqlite\\n'; } else { echo 'database/database.sqlite already exists\\n'; }\"",
+            "@php -r \"if (file_exists('.env') && !strpos(file_get_contents('.env'), 'APP_KEY=') !== false) { echo 'Generating application key...\\n'; }\"",
+            "vendor/bin/testbench key:generate --ansi",
+            "vendor/bin/testbench migrate --seed --ansi"
+        ]
+    },
     "minimum-stability": "dev",
     "prefer-stable": true
 }

+ 18 - 0
src/database/seeders/DatabaseSeeder.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace DcatAdminDemo\Database\Seeders;
+
+use Illuminate\Database\Seeder;
+
+class DatabaseSeeder extends Seeder
+{
+    /**
+     * Seed the application's database.
+     */
+    public function run(): void
+    {
+        $this->call([
+            DemoSeeder::class,
+        ]);
+    }
+}

+ 40 - 0
src/database/seeders/DemoSeeder.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace DcatAdminDemo\Database\Seeders;
+
+use Illuminate\Database\Seeder;
+use DcatAdminDemo\Models\Demo;
+
+class DemoSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     */
+    public function run(): void
+    {
+        // 创建示例数据
+        Demo::create([
+            'title' => '欢迎使用Dcat Admin Demo',
+            'content' => '这是一个Dcat Admin模块的演示示例,展示了如何创建和管理后台模块。',
+            'status' => 1,
+            'created_at' => now(),
+            'updated_at' => now(),
+        ]);
+
+        Demo::create([
+            'title' => '模块功能演示',
+            'content' => '本模块包含了完整的CRUD操作、数据表格、表单构建等功能演示。',
+            'status' => 1,
+            'created_at' => now(),
+            'updated_at' => now(),
+        ]);
+
+        Demo::create([
+            'title' => '开发指南',
+            'content' => '通过本示例,您可以学习如何开发自己的Dcat Admin模块。',
+            'status' => 0,
+            'created_at' => now(),
+            'updated_at' => now(),
+        ]);
+    }
+}

+ 8 - 0
start.sh

@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# start.sh
+composer install
+
+# 模块初始化 1. 创建默认环境变量文件 2. key:generate 3. 创建database.sqllite 4. migrate --seed
+composer run module_init
+#  启动服务器
+php artisan serve --port=8081