Files
shopxo/app/admin/controller/Config.php

180 lines
5.7 KiB
PHP
Raw Normal View History

2018-12-28 18:58:37 +08:00
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
2021-03-16 10:34:52 +08:00
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
2018-12-28 18:58:37 +08:00
// +----------------------------------------------------------------------
2021-03-16 10:34:52 +08:00
// | Licensed ( https://opensource.org/licenses/mit-license.php )
2018-12-28 18:58:37 +08:00
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\admin\controller;
use app\admin\controller\Base;
use app\service\ApiService;
use app\service\ConfigService;
2026-03-04 10:21:47 +08:00
use app\service\GoodsCategoryService;
2026-06-02 16:12:10 +08:00
use app\service\SiteService;
2018-12-28 18:58:37 +08:00
/**
* 配置设置
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Config extends Base
2018-12-28 18:58:37 +08:00
{
/**
2019-04-09 18:28:48 +08:00
* 后台配置
2018-12-28 18:58:37 +08:00
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
*/
public function Index()
{
2026-06-02 16:12:10 +08:00
// 系统配置 tab与模板 data-key、url 参数 switch 一致)
$nav_tab_keys = ['base-config', 'admin-login', 'goods', 'map', 'extend', 'verify-config', 'attachment-config', 'safety', 'cache-config', 'cookie-config', 'session-config'];
$switch = isset($this->data_request['switch']) ? $this->data_request['switch'] : '';
$config_nav_tab_index = 0;
$config_tab_key = $nav_tab_keys[0];
if(!empty($switch) && in_array($switch, $nav_tab_keys, true))
{
$config_nav_tab_index = array_search($switch, $nav_tab_keys, true);
$config_tab_key = $switch;
}
// 模板数据
$assign = [
// 数据
2024-10-21 10:51:14 +08:00
'data' => ConfigService::ConfigList(),
// 页面类型
2024-10-21 10:51:14 +08:00
'view_type' => 'index',
2026-06-02 16:12:10 +08:00
// 当前 tab
'config_nav_tab_index' => $config_nav_tab_index,
'config_tab_key' => $config_tab_key,
2024-10-21 10:51:14 +08:00
// 静态数据
'common_token_created_rules_list' => MyConst('common_token_created_rules_list'),
2025-10-26 15:57:22 +08:00
// 登录方式
'common_login_type_list' => MyConst('common_login_type_list'),
// excel编码
'common_excel_charset_list' => MyConst('common_excel_charset_list'),
// excel导出类型
'common_excel_export_type_list' => MyConst('common_excel_export_type_list'),
// 地图类型
'common_map_type_list' => MyConst('common_map_type_list'),
// 关闭开启
'common_close_open_list' => MyConst('common_close_open_list'),
2026-06-02 16:12:10 +08:00
// 图片验证码类型 / 规则(验证码 tab
'common_site_images_verify_rand_type_list' => MyConst('common_site_images_verify_rand_type_list'),
'common_site_images_verify_rules_list' => MyConst('common_site_images_verify_rules_list'),
2025-10-26 15:57:22 +08:00
// 是否
'common_is_text_list' => MyConst('common_is_text_list'),
2026-03-04 10:21:47 +08:00
// 商品基础字段
'common_goods_base_fields_list' => MyConst('common_goods_base_fields_list'),
// 商品导航
2026-06-02 16:12:10 +08:00
'goods_admin_nav_list' => MyConst('common_goods_admin_nav_list'),
2026-03-04 10:21:47 +08:00
// 商品分类
'goods_category_list' => GoodsCategoryService::GoodsCategoryAll(),
];
MyViewAssign($assign);
2021-07-18 23:42:10 +08:00
return MyView();
2018-12-28 18:58:37 +08:00
}
/**
2019-04-09 18:28:48 +08:00
* 商店信息
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
*/
public function Store()
{
// 模板数据
$assign = [
// 数据
2026-03-04 10:21:47 +08:00
'data' => ConfigService::ConfigList(),
// 平台客户端
'common_platform_type' => MyConst('common_platform_type'),
// 页面类型
2026-03-04 10:21:47 +08:00
'view_type' => 'store',
];
MyViewAssign($assign);
2021-07-18 23:42:10 +08:00
return MyView();
2019-04-09 18:28:48 +08:00
}
/**
* 配置数据保存
2018-12-28 18:58:37 +08:00
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-01-02T23:08:19+0800
*/
public function Save()
{
// 参数
2026-03-04 10:21:47 +08:00
$params = $this->data_request;
// 字段不存在赋值
$field_list = [];
2021-03-16 10:34:52 +08:00
// 页面类型
$view_type = empty($this->data_request['view_type']) ? 'index' : $this->data_request['view_type'];
switch($view_type)
{
2024-01-19 14:49:32 +08:00
// 系统配置
case 'index' :
$field_list[] = 'admin_logo';
$field_list[] = 'admin_login_logo';
$field_list[] = 'admin_login_ad_images';
2024-10-21 10:51:14 +08:00
$field_list[] = 'common_token_created_rules';
2026-06-02 16:12:10 +08:00
$field_list[] = 'common_images_verify_rules';
2024-01-19 14:49:32 +08:00
break;
// 商店信息
2021-03-16 10:34:52 +08:00
case 'store' :
2026-03-04 10:21:47 +08:00
$field_list[] = 'common_customer_store_public_weixin';
$field_list[] = 'common_customer_store_public_alipay';
$field_list[] = 'common_customer_store_chat_line';
$field_list[] = 'common_customer_store_chat_weixin';
$field_list[] = 'common_customer_store_platform_client';
2021-03-16 10:34:52 +08:00
break;
}
2026-06-02 16:12:10 +08:00
// 缓存 Redis 连接校验(与原站点设置-缓存一致)
if($view_type == 'index')
{
if((isset($params['common_session_is_use_cache']) && $params['common_session_is_use_cache'] == 1) || (isset($params['common_data_is_use_redis_cache']) && $params['common_data_is_use_redis_cache'] == 1))
{
$ret = SiteService::RedisCheckConnectPing($params['common_cache_data_redis_host'], $params['common_cache_data_redis_port'], $params['common_cache_data_redis_password']);
if($ret['code'] != 0)
{
return ApiService::ApiDataReturn($ret);
}
}
}
2021-03-16 10:34:52 +08:00
// 空字段处理
$params = ConfigService::FieldsEmptyDataHandle($params, $field_list);
// 默认值字段处理
$default_value_field_list = [
'admin_login_type'=>'username',
];
if(!empty($default_value_field_list))
2019-04-09 18:28:48 +08:00
{
foreach($default_value_field_list as $fk=>$fv)
{
if(empty($params[$fk]))
{
$params[$fk] = $fv;
}
}
2019-04-09 18:28:48 +08:00
}
// 保存
return ApiService::ApiDataReturn(ConfigService::ConfigSave($params));
2018-12-28 18:58:37 +08:00
}
}
?>