shopxo/app/service/LayoutService.php

121 lines
3.6 KiB
PHP
Raw Normal View History

2021-06-22 21:45:29 +08:00
<?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;
2021-07-18 23:42:10 +08:00
use think\facade\Db;
2021-06-22 21:45:29 +08:00
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 = [
2021-07-11 15:09:15 +08:00
'home' => [
'type' => 'layout_index_home_data',
'name' => '首页',
],
2021-06-22 21:45:29 +08:00
];
/**
* 布局配置保存
* @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);
}
2021-07-11 15:09:15 +08:00
// 获取配置信息
$key_info = self::$layout_key[$key];
$where = ['type'=>$key_info['type'], 'is_enable'=>1];
$info = Db::name('Layout')->where($where)->find();
2021-07-11 14:43:24 +08:00
// 配置信息
2021-07-01 18:00:26 +08:00
$config = empty($params['config']) ? '' : BaseLayout::ConfigSaveHandle($params['config']);
2021-07-11 14:43:24 +08:00
// 数据保存
$data = [
2021-07-11 15:09:15 +08:00
'type' => $key_info['type'],
'name' => $key_info['name'],
'config' => $config,
2021-07-11 14:43:24 +08:00
];
2021-07-11 15:09:15 +08:00
if(empty($info))
2021-06-22 21:45:29 +08:00
{
2021-07-11 15:09:15 +08:00
$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);
}
2021-06-22 21:45:29 +08:00
}
2021-07-11 15:09:15 +08:00
return DataReturn('操作成功', 0);
2021-06-22 21:45:29 +08:00
}
/**
* 布局配置获取-管理
* @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)
{
2021-07-03 00:04:06 +08:00
if(array_key_exists($key, self::$layout_key))
2021-06-22 21:45:29 +08:00
{
2021-07-11 15:09:15 +08:00
$config = Db::name('Layout')->where(['type'=>self::$layout_key[$key]['type'], 'is_enable'=>1])->value('config');
2021-07-11 14:43:24 +08:00
return BaseLayout::ConfigAdminHandle($config);
2021-06-22 21:45:29 +08:00
}
2021-07-03 00:04:06 +08:00
return '';
2021-06-22 21:45:29 +08:00
}
/**
* 布局配置获取-展示使用
* @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)
{
2021-07-03 00:04:06 +08:00
if(array_key_exists($key, self::$layout_key))
2021-06-22 21:45:29 +08:00
{
2021-07-11 15:09:15 +08:00
$config = Db::name('Layout')->where(['type'=>self::$layout_key[$key]['type'], 'is_enable'=>1])->value('config');
2021-07-11 14:43:24 +08:00
return BaseLayout::ConfigHandle($config);
2021-06-22 21:45:29 +08:00
}
2021-07-03 00:04:06 +08:00
return '';
2021-06-22 21:45:29 +08:00
}
}
?>