'', ]; protected $casts = [ 'configs' => 'collection', ]; const DRIVERS = [ StrategyKey::Local => '本地', StrategyKey::S3 => 'Amazon S3', StrategyKey::Oss => '阿里云 OSS', StrategyKey::Cos => '腾讯云 COS', StrategyKey::Kodo => '七牛云 Kodo', StrategyKey::Uss => '又拍云 USS', StrategyKey::Sftp => 'SFTP', StrategyKey::Ftp => 'FTP', StrategyKey::Webdav => 'WebDav', ]; protected static function booted() { static::saving(function (self $strategy) { $strategy->configs['root'] = $strategy->configs->get('root', ''); $strategy->configs['domain'] = rtrim($strategy->configs->get('domain', env('APP_URL')), '/'); // TODO 本地储存,创建/修改符号链接 }); } public function intro(): Attribute { return new Attribute( set: fn ($value) => $value ?: '', ); } public function groups(): BelongsToMany { return $this->belongsToMany(Group::class, 'group_strategy', 'strategy_id', 'group_id'); } public function images(): HasMany { return $this->hasMany(Image::class, 'strategy_id', 'id'); } }