* @date 2020/3/21 14:31 * * @param string $value * @return string */ public function getTipsAttr($value) { return htmlspecialchars_decode($value); } /** * 模型事件定义 * * @author 许祖兴 < zuxing.xu@lettered.cn> * @date 2020/3/26 20:54 * * @return void */ public static function init() { self::event('before_insert', function ($before) { }); } /** * 取配置 * * @author 许祖兴 < zuxing.xu@lettered.cn> * @date 2020/3/16 10:59 * * @param string $name * @param bool $update * @return array|bool|mixed */ public function getAppConfig($name = '', $update = false) { // 读取缓存 $result = Cache::get('system_config'); if ($result === false || $update == true) { $configs = self::column('value,type,group', 'name'); // 解析配置 $result = self::parseConfig($configs); // 写入缓存 Cache::set('system_config', $result); } return $name != '' ? $result[$name] : $result; } /** * 解析配置 * * @author 许祖兴 < zuxing.xu@lettered.cn> * @date 2020/3/28 12:26 * * @param $configs * * @return mixed */ public function parseConfig($configs) { $result = []; foreach ($configs as $config) { $config['value'] = htmlspecialchars_decode($config['value']); switch ($config['type']) { case 'array': case 'checkbox': if ($config['name'] == 'config_group' || $config['name'] == 'config_type') { $v = parse_attr($config['value']); if (!empty($config['value'])) { $result[$config['group']][$config['name']] = array_merge(config($config['name'] == 'config_type' ? 'mni.config_type' : 'mni.config_group'), $v); } else { $result[$config['group']][$config['name']] = config($config['name'] == 'config_type' ? 'mni.config_type' : 'mni.config_group'); } } else { $result[$config['group']][$config['name']] = parse_attr($config['value']); } break; default: $result[$config['group']][$config['name']] = $config['value']; break; } } return $result; } }