功能:婚姻系统第12步(前端交互)
chat.js: - 监听婚姻全局广播(MarriageAccepted/Divorced/WeddingCelebration) - initMarriagePrivateChannel() 监听私人频道 (求婚/拒绝/过期/离婚申请/红包领取) frame.blade.php: - chatContext.marriage 注入所有婚姻 API URL - 引入 marriage-modals.blade.php 弹窗组件 marriage-modals.blade.php(新建): - 求婚弹窗(选戒指→求婚) - 收到求婚弹窗(接受/拒绝) - 结婚成功公告弹窗(可跳转婚礼设置) - 婚礼设置弹窗(档位/支付方式/立即OR定时) - 婚礼红包领取弹窗 - 所有 WebSocket 事件处理 user-actions.blade.php: - 名片加「💍 求婚」按钮(对方未婚时) - 名片加「💑 已婚状态」标签(对方已婚时) - fetchUser 同步拉取对方婚姻状态 MarriageController: - targetStatus 返回增加 status/partner_name/marriage_id - myRings 返回增加 status/intimacy_bonus/charm_bonus
This commit is contained in:
@@ -83,17 +83,23 @@ class MarriageController extends Controller
|
||||
->first();
|
||||
|
||||
if (! $marriage) {
|
||||
return response()->json(['married' => false]);
|
||||
return response()->json(['married' => false, 'marriage' => ['status' => 'none']]);
|
||||
}
|
||||
|
||||
$partner = $marriage->user_id === $target->id ? $marriage->partner : $marriage->user;
|
||||
|
||||
return response()->json([
|
||||
'married' => true,
|
||||
'level_icon' => \App\Services\MarriageIntimacyService::levelIcon($marriage->level),
|
||||
'level_name' => \App\Services\MarriageIntimacyService::levelName($marriage->level),
|
||||
'partner' => $marriage->user_id === $target->id ? $marriage->partner : $marriage->user,
|
||||
'ring' => $marriage->ringItem?->only(['name', 'icon']),
|
||||
'days' => $marriage->married_at?->diffInDays(now()),
|
||||
'intimacy' => $marriage->intimacy,
|
||||
'marriage' => [
|
||||
'status' => $marriage->status,
|
||||
'marriage_id' => $marriage->id,
|
||||
'partner_name' => $partner?->username,
|
||||
'ring' => $marriage->ringItem?->only(['name', 'icon']),
|
||||
'level_icon' => \App\Services\MarriageIntimacyService::levelIcon($marriage->level),
|
||||
'level_name' => \App\Services\MarriageIntimacyService::levelName($marriage->level),
|
||||
'days' => $marriage->married_at?->diffInDays(now()),
|
||||
'intimacy' => $marriage->intimacy,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -134,16 +140,18 @@ class MarriageController extends Controller
|
||||
->where('user_id', $request->user()->id)
|
||||
->where('status', 'active')
|
||||
->whereHas('item', fn ($q) => $q->where('type', 'ring'))
|
||||
->with('item:id,name,slug,icon,price')
|
||||
->with('item:id,name,slug,icon,price,intimacy_bonus,charm_bonus')
|
||||
->get()
|
||||
->map(fn ($p) => [
|
||||
'purchase_id' => $p->id,
|
||||
'name' => $p->item->name,
|
||||
'icon' => $p->item->icon,
|
||||
'slug' => $p->item->slug,
|
||||
'intimacy_bonus' => (int) ($p->item->intimacy_bonus ?? 0),
|
||||
'charm_bonus' => (int) ($p->item->charm_bonus ?? 0),
|
||||
]);
|
||||
|
||||
return response()->json(['rings' => $rings]);
|
||||
return response()->json(['status' => 'success', 'rings' => $rings]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user