391 lines
10 KiB
PHP
391 lines
10 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | Niucloud-admin 企业快速开发的saas管理平台
|
||
// +----------------------------------------------------------------------
|
||
// | 官方网址:https://www.niucloud-admin.com
|
||
// +----------------------------------------------------------------------
|
||
// | niucloud团队 版权所有 开源版本可自由商用
|
||
// +----------------------------------------------------------------------
|
||
// | Author: Niucloud Team
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\service\admin\sys;
|
||
|
||
use app\service\admin\site\SiteService;
|
||
use app\service\core\sys\CoreConfigService;
|
||
use app\service\core\sys\CoreSysConfigService;
|
||
use core\base\BaseAdminService;
|
||
use core\exception\AdminException;
|
||
|
||
/**
|
||
* 配置服务层
|
||
* Class ConfigService
|
||
* @package app\service\core\sys
|
||
*/
|
||
class ConfigService extends BaseAdminService
|
||
{
|
||
//系统配置文件
|
||
public $core_config_service;
|
||
|
||
public function __construct()
|
||
{
|
||
parent::__construct();
|
||
$this->core_config_service = new CoreConfigService();
|
||
}
|
||
|
||
/**
|
||
* 获取版权信息(网站整体,不按照站点设置)
|
||
* @return array|mixed
|
||
*/
|
||
public function getCopyright()
|
||
{
|
||
return (new CoreSysConfigService())->getCopyright();
|
||
}
|
||
|
||
/**
|
||
* 设置版权信息(整体设置,不按照站点)
|
||
* @param array $value
|
||
* @return bool
|
||
*/
|
||
public function setCopyright(array $value)
|
||
{
|
||
$data = [
|
||
'icp' => $value['icp'],
|
||
'gov_record' => $value['gov_record'],
|
||
'gov_url' => $value['gov_url'],
|
||
'market_supervision_url' => $value['market_supervision_url'],
|
||
'logo' => $value['logo'],
|
||
'company_name' => $value['company_name'],
|
||
'copyright_link' => $value['copyright_link'],
|
||
'copyright_desc' => $value['copyright_desc']
|
||
];
|
||
return $this->core_config_service->setConfig(0,'COPYRIGHT', $data);
|
||
}
|
||
|
||
/**
|
||
* 获取网站信息
|
||
* @return array
|
||
*/
|
||
public function getWebSite()
|
||
{
|
||
return (new SiteService())->getInfo($this->site_id);
|
||
|
||
}
|
||
/**
|
||
* 设置网站信息
|
||
* @return bool
|
||
*/
|
||
public function setWebSite($data)
|
||
{
|
||
|
||
return (new SiteService())->edit($this->site_id, $data);
|
||
|
||
}
|
||
/**
|
||
* 获取前端域名
|
||
* @return array|string[]
|
||
*/
|
||
public function getSceneDomain(){
|
||
return (new CoreSysConfigService())->getSceneDomain($this->site_id);
|
||
}
|
||
|
||
/**
|
||
* 获取服务信息
|
||
* @return array|mixed
|
||
*/
|
||
public function getService()
|
||
{
|
||
$info = (new CoreConfigService())->getConfig(0, 'SERVICE_INFO');
|
||
if(empty($info))
|
||
{
|
||
$info = [];
|
||
$info['value'] = [
|
||
'wechat_code' => '',
|
||
'enterprise_wechat' => '',
|
||
'tel' => '',
|
||
];
|
||
}
|
||
return $info['value'];
|
||
}
|
||
|
||
/**
|
||
* 设置服务信息
|
||
* @param array $value
|
||
* @return bool
|
||
*/
|
||
public function setService (array $value)
|
||
{
|
||
$data = [
|
||
"wechat_code" => $value['wechat_code'],
|
||
"enterprise_wechat" => $value['enterprise_wechat'],
|
||
"tel" => $value['tel']
|
||
];
|
||
return $this->core_config_service->setConfig(0,'SERVICE_INFO', $data);
|
||
}
|
||
|
||
/**
|
||
* 设置地图key
|
||
* @param array $value
|
||
* @return bool
|
||
*/
|
||
public function setMap(array $value)
|
||
{
|
||
$data = [
|
||
'key' => $value['key'],
|
||
];
|
||
return $this->core_config_service->setConfig($this->site_id,'MAPKEY', $data);
|
||
}
|
||
|
||
/**
|
||
* 获取地图key
|
||
*/
|
||
public function getMap()
|
||
{
|
||
$info = (new CoreConfigService())->getConfig($this->site_id, 'MAPKEY');
|
||
if(empty($info))
|
||
{
|
||
$info = [];
|
||
$info['value'] = [
|
||
'key' => 'IZQBZ-3UHEU-WTCVD-2464U-I5N4V-ZFFU3',
|
||
];
|
||
}
|
||
return $info['value'];
|
||
}
|
||
|
||
/**
|
||
* 获取站点主页配置
|
||
* @return mixed|string[]
|
||
*/
|
||
public function getSiteIndexConfig()
|
||
{
|
||
$config = (new CoreConfigService())->getConfig($this->site_id, "site_index");
|
||
if(empty($config))
|
||
{
|
||
$config['value'] = [
|
||
'view_path' => 'index/site_index'
|
||
];
|
||
}else{
|
||
$result = event("SiteIndex");
|
||
$index_list = [];
|
||
foreach ($result as $v)
|
||
{
|
||
$index_list = empty($index_list) ? $v: array_merge($index_list, $v);
|
||
}
|
||
$tag = 0;
|
||
$view_path = $config['value']['view_path'];
|
||
foreach ($index_list as $v)
|
||
{
|
||
$v_view_path = $v['view_path'] ?? '';
|
||
if($view_path == $v_view_path)
|
||
{
|
||
$tag = 1;
|
||
break;
|
||
}
|
||
}
|
||
if($tag == 0)
|
||
{
|
||
$config['value'] = [
|
||
'view_path' => 'index/site_index'
|
||
];
|
||
}
|
||
|
||
}
|
||
return $config['value']['view_path'];
|
||
}
|
||
|
||
/**
|
||
* 站点主页配置
|
||
* @param $data
|
||
* @return true
|
||
*/
|
||
public function setSiteIndexConfig($data)
|
||
{
|
||
$config = [
|
||
'view_path' => $data['view_path'] ,
|
||
];
|
||
//检测是否路劲一个异常
|
||
$index_list = $this->getSiteIndexList();
|
||
$check_tag = 0;
|
||
foreach($index_list as $v)
|
||
{
|
||
if($v['view_path'] == $data['view_path'])
|
||
{
|
||
$check_tag = 1;
|
||
}
|
||
}
|
||
if($check_tag == 0) throw new AdminException('SITE_INDEX_VIEW_PATH_NOT_EXIST');
|
||
(new CoreConfigService())->setConfig($this->site_id, "site_index", $config);
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* 获取站点配置的首页列表
|
||
* @return array
|
||
*/
|
||
public function getSiteIndexList()
|
||
{
|
||
$result = event("SiteIndex");
|
||
$index_list = [];
|
||
foreach ($result as $v)
|
||
{
|
||
$index_list = empty($index_list) ? $v: array_merge($index_list, $v);
|
||
}
|
||
$view_path = $this->getSiteIndexConfig();
|
||
foreach ($index_list as $k => $v)
|
||
{
|
||
$v_view_path = $v['view_path'] ?? '';
|
||
$index_list[$k]['is_use'] = ($v_view_path == $view_path) ? 1: 0;
|
||
}
|
||
return $index_list;
|
||
}
|
||
|
||
/**
|
||
* 设置站点快捷菜单
|
||
* @param $data
|
||
* @return bool
|
||
*/
|
||
public function setShortcutMenu($data)
|
||
{
|
||
(new CoreConfigService())->setConfig($this->site_id, 'shortcut_menu', $data);
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* 获取站点快捷菜单
|
||
* @return array|mixed
|
||
*/
|
||
public function getShortcutMenu()
|
||
{
|
||
$config = (new CoreConfigService())->getConfig($this->site_id, 'shortcut_menu');
|
||
$menu = $config['value'] ?? [];
|
||
if(!empty($menu)){
|
||
$menu_service = new MenuService();
|
||
foreach($menu as $k => &$v){
|
||
$menu_key = $v['menu_key'] ?? '';
|
||
if($menu_key != ''){
|
||
$item_router_path = $menu_service->getFullRouterPath($menu_key);
|
||
if(empty($item_router_path)){
|
||
unset($v[$k]);
|
||
}else{
|
||
$v['router_path'] = $item_router_path;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
return $menu;
|
||
}
|
||
/**
|
||
* 获取平台主页配置
|
||
* @return mixed|string[]
|
||
*/
|
||
public function getAdminIndexConfig()
|
||
{
|
||
$config = (new CoreConfigService())->getConfig($this->site_id, "admin_index");
|
||
if(empty($config))
|
||
{
|
||
$config['value'] = [
|
||
'view_path' => 'index/index'
|
||
];
|
||
}else{
|
||
$result = event("AdminIndex");
|
||
$index_list = [];
|
||
foreach ($result as $v)
|
||
{
|
||
$index_list = empty($index_list) ? $v: array_merge($index_list, $v);
|
||
}
|
||
$tag = 0;
|
||
$view_path = $config['value']['view_path'];
|
||
foreach ($index_list as $v)
|
||
{
|
||
$v_view_path = $v['view_path'] ?? '';
|
||
if($view_path == $v_view_path)
|
||
{
|
||
$tag = 1;
|
||
break;
|
||
}
|
||
}
|
||
if($tag == 0)
|
||
{
|
||
$config['value'] = [
|
||
'view_path' => 'index/index'
|
||
];
|
||
}
|
||
|
||
}
|
||
return $config['value']['view_path'];
|
||
}
|
||
|
||
/**
|
||
* 站点主页配置
|
||
* @param $data
|
||
* @return true
|
||
*/
|
||
public function setAdminIndexConfig($data)
|
||
{
|
||
$config = [
|
||
'view_path' => $data['view_path'] ,
|
||
];
|
||
//检测是否路劲一个异常
|
||
$index_list = $this->getAdminIndexList();
|
||
$check_tag = 0;
|
||
foreach($index_list as $v)
|
||
{
|
||
if($v['view_path'] == $data['view_path'])
|
||
{
|
||
$check_tag = 1;
|
||
}
|
||
}
|
||
if($check_tag == 0) throw new AdminException('ADMIN_INDEX_VIEW_PATH_NOT_EXIST');
|
||
(new CoreConfigService())->setConfig($this->site_id, "admin_index", $config);
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* 获取站点配置的首页列表
|
||
* @return array
|
||
*/
|
||
public function getAdminIndexList()
|
||
{
|
||
$result = event("AdminIndex");
|
||
$index_list = [];
|
||
foreach ($result as $v)
|
||
{
|
||
$index_list = empty($index_list) ? $v: array_merge($index_list, $v);
|
||
}
|
||
$view_path = $this->getAdminIndexConfig();
|
||
foreach ($index_list as $k => $v)
|
||
{
|
||
$v_view_path = $v['view_path'] ?? '';
|
||
$index_list[$k]['is_use'] = ($v_view_path == $view_path) ? 1: 0;
|
||
}
|
||
return $index_list;
|
||
}
|
||
|
||
/**
|
||
* 获取手机端首页列表
|
||
* @param $data
|
||
* @return array
|
||
*/
|
||
public function getWapIndexList($data)
|
||
{
|
||
return ( new CoreSysConfigService() )->getWapIndexList($data);
|
||
}
|
||
|
||
/**
|
||
* 获取开发者key
|
||
* @return array
|
||
*/
|
||
public function getDeveloperToken() {
|
||
return (new CoreConfigService())->getConfigValue(0, "DEVELOPER_TOKEN");
|
||
}
|
||
|
||
/**
|
||
* 设置开发者key
|
||
* @param array $data
|
||
* @return array
|
||
*/
|
||
public function setDeveloperToken(array $data) {
|
||
return (new CoreConfigService())->setConfig(0, "DEVELOPER_TOKEN", $data);
|
||
}
|
||
}
|