__('String'), 'text' => __('Text'), 'editor' => __('Editor'), 'number' => __('Number'), 'date' => __('Date'), 'time' => __('Time'), 'datetime' => __('Datetime'), 'select' => __('Select'), 'selects' => __('Selects'), 'image' => __('Image'), 'images' => __('Images'), 'file' => __('File'), 'files' => __('Files'), 'switch' => __('Switch'), 'checkbox' => __('Checkbox'), 'radio' => __('Radio'), 'array' => __('Array'), 'custom' => __('Custom'), ]; return $typeList; } public static function getConfig($name) { //填充默认配置 \app\common\model\fill\Handle::check('config_system'); $cacheConfig = Cache::get(\app\common\constant\cache\Keys::SYSTEM_CONFIG($name)); if($cacheConfig){ return $cacheConfig; } $config = self::where(['name' => $name])->value('value'); if(!$config){ //效验个别配置项 \app\common\model\fill\Handle::check('config_system',$name); $config = self::where(['name' => $name])->value('value'); if(!$config){ return false; } } $config = json_decode($config, true); $config = self::arrToValue($config); Cache::set(\app\common\constant\cache\Keys::SYSTEM_CONFIG($name),$config); return $config; } /** * 配置格式转换 * @param $config * @return array */ public static function arrToValue($config){ $list = []; foreach ($config as $item){ if(!isset($item['name']) || !isset($item['type'])){ continue; } if($item['type'] == 'array'){ $list[$item['name']] = self::valueToArr($item['value']); }else{ $list[$item['name']] = $item['value']; } } return $list; } public static function valueToArr($arr){ $list = []; foreach ($arr as $item){ $list[$item['key']] = $item['value']; } return $list; } public static function getRegexList() { $regexList = [ 'required' => '必选', 'digits' => '数字', 'letters' => '字母', 'date' => '日期', 'time' => '时间', 'email' => '邮箱', 'url' => '网址', 'qq' => 'QQ号', 'IDcard' => '身份证', 'tel' => '座机电话', 'mobile' => '手机号', 'zipcode' => '邮编', 'chinese' => '中文', 'username' => '用户名', 'password' => '密码' ]; return $regexList; } public function getExtendAttr($value, $data) { $result = preg_replace_callback("/\{([a-zA-Z]+)\}/", function ($matches) use ($data) { if (isset($data[$matches[1]])) { return $data[$matches[1]]; } }, $data['extend']); return $result; } public static function load($name) { $value = self::where(['name' => $name])->value('value'); return json_decode($value, true); } /** * 读取分类分组列表 * @return array */ public static function getGroupList() { $group = self::group('group')->column('group'); $groupList = []; foreach ($group as $v) { if($v == 'platform'){ continue; } if($v == 'live'){ continue; } if($v == 'course'){ continue; } if($v == 'internal'){ continue; } $groupList[$v] = $v; } return $groupList; } public static function getArrayData($data) { if (!isset($data['value'])) { $result = []; foreach ($data as $index => $datum) { $result['field'][$index] = $index; $result['value'][$index] = $datum; } $data = $result; } $fieldarr = $valuearr = []; $field = isset($data['field']) ? $data['field'] : (isset($data['key']) ? $data['key'] : []); $value = isset($data['value']) ? $data['value'] : []; foreach ($field as $m => $n) { if ($n != '') { $fieldarr[] = $field[$m]; $valuearr[] = $value[$m]; } } return $fieldarr ? array_combine($fieldarr, $valuearr) : []; } /** * 将字符串解析成键值数组 * @param string $text * @return array */ public static function decode($text, $split = "\r\n") { $content = explode($split, $text); $arr = []; foreach ($content as $k => $v) { if (stripos($v, "|") !== false) { $item = explode('|', $v); $arr[$item[0]] = $item[1]; } } return $arr; } /** * 将键值数组转换为字符串 * @param array $array * @return string */ public static function encode($array, $split = "\r\n") { $content = ''; if ($array && is_array($array)) { $arr = []; foreach ($array as $k => $v) { $arr[] = "{$k}|{$v}"; } $content = implode($split, $arr); } return $content; } /** * 本地上传配置信息 * @return array */ public static function upload() { $uploadcfg = config('upload'); $upload = [ 'cdnurl' => $uploadcfg['cdnurl'], 'uploadurl' => $uploadcfg['uploadurl'], 'bucket' => 'local', 'maxsize' => $uploadcfg['maxsize'], 'mimetype' => $uploadcfg['mimetype'], 'multipart' => [], 'multiple' => $uploadcfg['multiple'], ]; return $upload; } }