This commit is contained in:
ct
2025-06-14 10:12:19 +08:00
parent 61923f4e1f
commit 8a732b3c31
8 changed files with 228 additions and 66 deletions

View File

@@ -8,6 +8,24 @@
class FrontMediaController extends Controller
{
public function init(Request $request)
{
$meme = MemeMedia::where('type', 'video')->where('sub_type', 'overlay')->take(1)->inRandomOrder()->first();
$background = BackgroundMedia::where('status', 'completed')->take(1)->inRandomOrder()->first();
return response()->json([
'success' => [
'data' => [
'init' => [
'meme' => $meme,
'background' => $background,
],
],
],
]);
}
public function memes(Request $request)
{
$memes = MemeMedia::where('type', 'video')->where('sub_type', 'overlay')->take('30')->inRandomOrder()->get();

View File

@@ -7,6 +7,7 @@
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Pgvector\Laravel\Vector;
@@ -46,4 +47,28 @@ class BackgroundMedia extends Model
'embedding',
'prompt',
];
protected $hidden = [
'id',
'created_at',
'updated_at',
'deleted_at',
'list_type',
'area',
'location_name',
'status',
'media_uuid',
'embedding',
];
protected $appends = [
'ids',
];
protected function ids(): Attribute
{
return Attribute::make(
get: fn ($value, $attributes) => hashids_encode($attributes['id']),
);
}
}

View File

@@ -64,10 +64,21 @@ class MemeMedia extends Model
'created_at',
'updated_at',
'deleted_at',
'type',
'sub_type',
'original_id',
'description',
'mov_uuid',
'webm_uuid',
'gif_uuid',
'webp_uuid',
// 'mov_url',
// 'webm_url',
'embedding',
];
protected $appends = [
'ids',
];
protected function ids(): Attribute