theme = $theme; $this->path = $path = public_path('theme/'); } public function init() { $themeConfigFile = $this->path . "{$this->theme}/config.json"; if (!File::exists($themeConfigFile)) abort(500, "{$this->theme}主题不存在"); $themeConfig = json_decode(File::get($themeConfigFile), true); if (!isset($themeConfig['configs']) || !is_array($themeConfig)) abort(500, "{$this->theme}主题配置文件有误"); $configs = $themeConfig['configs']; $data = []; foreach ($configs as $config) { $data[$config['field_name']] = isset($config['default_value']) ? $config['default_value'] : ''; } try { admin_setting(["theme_{$this->theme}" => $data]); } catch (\Exception $e) { abort(500, "{$this->theme}初始化失败"); } } }