diff --git a/app/Models/Advertising.php b/app/Models/Advertising.php index 54ef173..5ed8a55 100644 --- a/app/Models/Advertising.php +++ b/app/Models/Advertising.php @@ -9,7 +9,6 @@ class Advertising extends BaseModel use HasFactory; public function getPictureAttribute($value) { - $host = env('APP_URL'); - return $host . $value; + return $value ? $this->host . $value : ''; } } diff --git a/app/Models/Article.php b/app/Models/Article.php index 66152a6..cdd74ba 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -7,4 +7,9 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; class Article extends BaseModel { use HasFactory; + + public function getImageAttribute($value) + { + return $value ? $this->host . $value : ''; + } } diff --git a/app/Models/BaseModel.php b/app/Models/BaseModel.php index a6b6400..4a5a153 100644 --- a/app/Models/BaseModel.php +++ b/app/Models/BaseModel.php @@ -6,7 +6,15 @@ use Illuminate\Database\Eloquent\Model; class BaseModel extends Model { protected $dateFormat = 'U'; - # 不转换时间戳,若使用getUpdatedAtColumn,则不能自动写入时间戳 + protected $host = ''; + + public function __construct(array $attributes = []) + { + parent::__construct($attributes); + $this->host = env('APP_URL'); + } + + # 不转换时间戳,若使用getUpdatedAtColumn,则不能自动写入时间戳 public function getUpdatedAtAttribute($value) { return strtotime($value); diff --git a/app/Models/Channel.php b/app/Models/Channel.php index 32b4129..54c5b35 100644 --- a/app/Models/Channel.php +++ b/app/Models/Channel.php @@ -13,4 +13,9 @@ use Illuminate\Database\Eloquent\SoftDeletes; class Channel extends BaseModel { use HasFactory, SoftDeletes; + + public function getIconAttribute($value) + { + return $value ? $this->host . $value : ''; + } } diff --git a/app/Models/Product.php b/app/Models/Product.php index 3ab0a40..d7a14cb 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -19,6 +19,9 @@ class Product extends BaseModel public function getPicturesAttribute($value): array { $pictures = $value ? json_decode($value, true) : []; + foreach ($pictures as &$v) { + $v = $this->host . $v; + } $this->append('picture'); return $pictures; } diff --git a/app/Models/Slide.php b/app/Models/Slide.php index 2ac232c..070804c 100644 --- a/app/Models/Slide.php +++ b/app/Models/Slide.php @@ -15,7 +15,6 @@ class Slide extends BaseModel public function getUrlAttribute($value) { - $host = env('APP_URL'); - return $host . $value; + return $value ? $this->host . $value : ''; } }