error('', 'REQUEST_SITE_ID'); } $app_module = isset($check_condition['app_module']) ? $check_condition['app_module'] : ''; if ($app_module === '') { return $this->error('', 'REQUEST_APP_MODULE'); } $config_key = isset($check_condition['config_key']) ? $check_condition['config_key'] : ''; if (empty($config_key)) { return $this->error('', 'REQUEST_CONFIG_KEY'); } $data = $check_condition; $data['value'] = json_encode($value); $data['config_desc'] = $config_desc; $data['is_use'] = $is_use; $json_condition = json_encode($condition); $config_model = model('config'); $info = $config_model->getInfo($condition, 'id'); Cache::tag("config")->clear(); Cache::tag("config")->set("CONFIG_" . $json_condition, ""); if (empty($info)) { $data['create_time'] = time(); $res = $config_model->add($data); } else { $data['modify_time'] = time(); $res = $config_model->update($data, $condition); } return $this->success($res); } /** * 获取系统配置信息 * @param array $condition */ public function getConfig($condition) { $json_condition = json_encode($condition); $cache = Cache::get("CONFIG_" . $json_condition, ""); if (!empty($cache)) { return $this->success($cache); } $check_condition = array_column($condition, 2, 0); $site_id = isset($check_condition['site_id']) ? $check_condition['site_id'] : ''; if ($site_id === '') { return $this->error('', 'REQUEST_SITE_ID'); } $app_module = isset($check_condition['app_module']) ? $check_condition['app_module'] : ''; if ($app_module === '') { return $this->error('', 'REQUEST_APP_MODULE'); } $config_key = isset($check_condition['config_key']) ? $check_condition['config_key'] : ''; if (empty($config_key)) { return $this->error('', 'REQUEST_CONFIG_KEY'); } $info = model('config')->getInfo($condition, 'site_id, app_module, config_key, value, config_desc, is_use, create_time, modify_time'); if (!empty($info)) { $info['value'] = json_decode($info['value'], true); } else { $info = [ 'site_id' => $site_id, 'app_module' => $app_module, 'config_key' => $config_key, 'value' => [], 'config_desc' => '', 'is_use' => 0, 'create_time' => 0, 'modify_time' => 0 ]; } Cache::tag("config")->set("CONFIG_" . $json_condition, $info); return $this->success($info); } /** * 修改配置项的使用状态 * @param int $is_use * @param array $condition */ public function modifyConfigIsUse($is_use, $condition) { $json_condition = json_encode($condition); $config = model('config')->getInfo($condition); if (!empty($config)) { //配置过 $res = model('config')->update(['is_use' => $is_use], $condition); Cache::tag("config")->set("CONFIG_" . $json_condition, ""); return $this->success($res); } else { return $this->error('', 'CONFIG_NOT_EXIST'); } } /** * 获取系统信息 */ public function getSystemConfig() { $system_config['os'] = php_uname(); // 服务器操作系统 $system_config['server_software'] = $_SERVER['SERVER_SOFTWARE']; // 服务器环境 $system_config['upload_max_filesize'] = @ini_get('file_uploads') ? ini_get('upload_max_filesize') : 'unknow'; // 文件上传限制 $system_config['gd_version'] = gd_info()['GD Version']; // GD(图形处理)版本 $system_config['max_execution_time'] = ini_get("max_execution_time") . "秒"; // 最大执行时间 $system_config['port'] = $_SERVER['SERVER_PORT']; // 端口 $system_config['dns'] = $_SERVER['HTTP_HOST']; // 服务器域名 $system_config['php_version'] = PHP_VERSION; // php版本 $system_config['sockets'] = extension_loaded('sockets'); //是否支付sockets $system_config['openssl'] = extension_loaded('openssl'); //是否支付openssl $system_config['curl'] = function_exists('curl_init'); // 是否支持curl功能 $system_config['upload_dir_jurisdiction'] = check_dir_iswritable(realpath('./upload') . DIRECTORY_SEPARATOR); // upload目录读写权限 $system_config['runtime_dir_jurisdiction'] = check_dir_iswritable(realpath('./runtime') . DIRECTORY_SEPARATOR); // runtime目录读写权限 $system_config['fileinfo'] = extension_loaded('fileinfo'); //是否支付fileinfo return $this->success($system_config); } /** * 删除配置 * @param $condition */ public function deleteConfig($condition) { $res = model('config')->delete($condition); $this->success($res); } }