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}初始化失败"); } // $data = var_export($data, 1); // try { // if (!File::put(base_path() . "/config/theme/{$this->theme}.php", "theme}初始化失败"); // } // } catch (\Exception $e) { // abort(500, '请检查V2Board目录权限'); // } // try { // Artisan::call('config:cache'); // while (true) { // if (config("theme.{$this->theme}")) break; // } // } catch (\Exception $e) { // abort(500, "{$this->theme}初始化失败"); // } } }