where('storage', $model['storage'])->find()) { return false; } }); self::beforeWrite(function ($row) { if (isset($row['category']) && $row['category'] == 'unclassed') { $row['category'] = ''; } }); } public function setUploadtimeAttr($value) { return is_numeric($value) ? $value : strtotime($value); } public function getCategoryAttr($value) { return $value == '' ? 'unclassed' : $value; } public function setCategoryAttr($value) { return $value == 'unclassed' ? '' : $value; } /** * 获取云储存的缩略图样式字符 */ public function getThumbStyleAttr($value, $data) { if (!isset($data['storage']) || $data['storage'] == 'local') { return ''; } else { $config = get_addon_config($data['storage']); if ($config && isset($config['thumbstyle'])) { return $config['thumbstyle']; } } return ''; } /** * 获取Mimetype列表 * @return array */ public static function getMimetypeList() { $data = [ "image/*" => __("Image"), "audio/*" => __("Audio"), "video/*" => __("Video"), "text/*" => __("Text"), "application/*" => __("Application"), "zip,rar,7z,tar" => __("Zip"), ]; return $data; } /** * 获取定义的附件类别列表 * @return array */ public static function getCategoryList() { $data = config('site.attachmentcategory') ?? []; foreach ($data as $index => &$datum) { $datum = __($datum); } $data['unclassed'] = __('Unclassed'); return $data; } }