初始化

缺陷:主题配色需要优化整体的同风格
This commit is contained in:
2026-08-14 23:21:21 +08:00
parent 6e2769c528
commit bcf54c2727
152 changed files with 13521 additions and 141 deletions

View File

@@ -0,0 +1,54 @@
<?php
namespace Database\Seeders;
use App\Models\WxAppModel;
use Illuminate\Database\Seeder;
/**
* 小程序应用配置引导nl_wx_app
*
* 用途:单品牌部署首次上线时,把 .env 里声明的 AppID 引导落库一条记录,
* 免得运维还要进后台手工新建。AppSecret 不能从 .env 读,留空由后台填。
*
* 执行php artisan db:seed --class=WxAppSeeder
* 不挂 DatabaseSeeder::run(),避免 CI / 自动测试里污染库表。
*/
class WxAppSeeder extends Seeder
{
public function run(): void
{
$code = trim((string) env('WX_DEFAULT_APP_CODE', ''));
$appId = trim((string) env('WX_APP_ID', ''));
$name = trim((string) env('WX_APP_NAME', ''));
// .env 没配就不跑,避免插空记录
if ($code === '' || $appId === '') {
$this->command->warn('WX_DEFAULT_APP_CODE / WX_APP_ID 未配置,跳过 WxAppSeeder。');
return;
}
// 用 firstOrCreate 防重复:已存在相同 code 的记录就只更新 AppID/名称,不动密钥
// 不直接写 app_secret —— 密钥必须经后台加密入库
$row = WxAppModel::where('code', $code)->where('deleted_at', 0)->first();
if (!empty($row)) {
$row->update([
'app_id' => $appId,
'name' => $name !== '' ? $name : $row->name,
'updated_at' => time(),
]);
$this->command->info("已更新品牌 [{$code}] 的 AppID 为 {$appId}AppSecret 未改动。");
return;
}
WxAppModel::create([
'code' => $code,
'name' => $name,
'app_id' => $appId,
'status' => 0,
'created_at' => time(),
'updated_at' => time(),
]);
$this->command->info("已新增品牌 [{$code}] 应用记录,请进后台「小程序应用配置」填写 AppSecret。");
}
}