Files
BlackFruit-UI/plugins/addon/theme_configurator/controller/clientarea/ThemeController.php
yiqiu 5834ab9a74
All checks were successful
continuous-integration/drone/push Build is passing
修改插件UI
2025-11-21 12:42:18 +08:00

63 lines
3.2 KiB
PHP

<?php
namespace addon\theme_configurator\controller\clientarea;
use addon\theme_configurator\model\ThemeConfigModel;
use app\home\controller\PluginBaseController;
use think\App;
use think\Response;
/**
* 前台主题配置读取控制器
*/
class ThemeController extends PluginBaseController
{
protected ThemeConfigModel $model;
public function __construct(App $app = null)
{
parent::__construct($app);
$this->model = new ThemeConfigModel();
}
/**
* 返回给 BlackFruit-UI 的 /console/v1/common 同结构数据
*/
public function config(): Response
{
$config = $this->model->getConfig();
$data = [
'enterprise_name' => $config['site_config']['enterprise_name'] ?? '',
'enterprise_telephone' => $config['site_config']['enterprise_telephone'] ?? '',
'enterprise_mailbox' => $config['site_config']['enterprise_mailbox'] ?? '',
'enterprise_qrcode' => $config['site_config']['enterprise_qrcode'] ?? '',
'official_website_logo' => $config['site_config']['official_website_logo'] ?? '',
'icp_info' => $config['site_config']['icp_info'] ?? '',
'icp_info_link' => $config['site_config']['icp_info_link'] ?? '',
'public_security_network_preparation' => $config['site_config']['public_security_network_preparation'] ?? '',
'public_security_network_preparation_link' => $config['site_config']['public_security_network_preparation_link'] ?? '',
'telecom_appreciation' => $config['site_config']['telecom_appreciation'] ?? '',
'copyright_info' => $config['site_config']['copyright_info'] ?? '',
'terms_service_url' => $config['site_config']['terms_service_url'] ?? '',
'terms_privacy_url' => $config['site_config']['terms_privacy_url'] ?? '',
'cloud_product_link' => $config['site_config']['cloud_product_link'] ?? '',
'dcim_product_link' => $config['site_config']['dcim_product_link'] ?? '',
// 以下字段需与 /console/v1/common 保持一致的扁平结构
'honor' => $config['honor'] ?? ($config['site_config']['honor'] ?? []),
'partner' => $config['partner'] ?? ($config['site_config']['partner'] ?? []),
'friendly_link' => $config['friendly_link'] ?? [],
'banner' => $config['banner'] ?? [],
'header_nav' => $config['header_nav'] ?? [],
'footer_nav' => $config['footer_nav'] ?? [],
'side_floating_window' => $config['side'] ?? [],
'feedback_type' => $config['feedback_type'] ?? ($config['site_config']['feedback_type'] ?? []),
];
return json([
'status' => 200,
'msg' => lang_plugins('theme_configurator_success'),
'data' => $data,
]);
}
}