57 lines
3.3 KiB
PHP
57 lines
3.3 KiB
PHP
<?php
|
|
namespace addon\theme_configurator\controller\clientarea;
|
|
|
|
use addon\theme_configurator\model\ThemeConfigModel;
|
|
use app\event\controller\PluginBaseController;
|
|
use think\Response;
|
|
|
|
/**
|
|
* 前台主题配置读取控制器
|
|
*
|
|
* 返回给 BlackFruit-UI 的 /console/v1/common 同结构数据
|
|
*/
|
|
class ThemeController extends PluginBaseController
|
|
{
|
|
/**
|
|
* 读取配置并按 /console/v1/common 扁平结构返回
|
|
*/
|
|
public function config(): Response
|
|
{
|
|
$model = new ThemeConfigModel();
|
|
$config = $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,
|
|
]);
|
|
}
|
|
}
|