shopxo/app/service/LayoutService.php
2021-07-18 23:42:10 +08:00

121 lines
3.6 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( https://opensource.org/licenses/mit-license.php )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\service;
use think\facade\Db;
use app\layout\service\BaseLayout;
/**
* 布局服务层
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-06-22
* @desc description
*/
class LayoutService
{
// 布局key
public static $layout_key = [
'home' => [
'type' => 'layout_index_home_data',
'name' => '首页',
],
];
/**
* 布局配置保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-06-22
* @desc description
* @param [string] $key [数据key值]
* @param [array] $params [输入参数]
*/
public static function LayoutConfigSave($key, $params)
{
// key 值是否存在
if(!array_key_exists($key, self::$layout_key))
{
return DataReturn('布局key值有', -1);
}
// 获取配置信息
$key_info = self::$layout_key[$key];
$where = ['type'=>$key_info['type'], 'is_enable'=>1];
$info = Db::name('Layout')->where($where)->find();
// 配置信息
$config = empty($params['config']) ? '' : BaseLayout::ConfigSaveHandle($params['config']);
// 数据保存
$data = [
'type' => $key_info['type'],
'name' => $key_info['name'],
'config' => $config,
];
if(empty($info))
{
$data['add_time'] = time();
if(Db::name('Layout')->insertGetId($data) <= 0)
{
return DataReturn('添加失败', -1);
}
} else {
$data['upd_time'] = time();
if(!Db::name('Layout')->where(['id'=>$info['id']])->update($data))
{
return DataReturn('更新失败', -1);
}
}
return DataReturn('操作成功', 0);
}
/**
* 布局配置获取-管理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-06-22
* @desc description
* @param [string] $key [数据key值]
*/
public static function LayoutConfigAdminData($key)
{
if(array_key_exists($key, self::$layout_key))
{
$config = Db::name('Layout')->where(['type'=>self::$layout_key[$key]['type'], 'is_enable'=>1])->value('config');
return BaseLayout::ConfigAdminHandle($config);
}
return '';
}
/**
* 布局配置获取-展示使用
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-06-22
* @desc description
* @param [string] $key [数据key值]
*/
public static function LayoutConfigData($key)
{
if(array_key_exists($key, self::$layout_key))
{
$config = Db::name('Layout')->where(['type'=>self::$layout_key[$key]['type'], 'is_enable'=>1])->value('config');
return BaseLayout::ConfigHandle($config);
}
return '';
}
}
?>