diff --git a/app/Services/MarriageService.php b/app/Services/MarriageService.php index 0761e70..106580d 100644 --- a/app/Services/MarriageService.php +++ b/app/Services/MarriageService.php @@ -47,6 +47,16 @@ class MarriageService return ['ok' => false, 'message' => '不能向自己求婚!', 'marriage_id' => null]; } + // 只允许异性之间求婚 + $validSexes = ['男', '女']; + if ( + ! in_array($proposer->sex, $validSexes, true) || + ! in_array($target->sex, $validSexes, true) || + $proposer->sex === $target->sex + ) { + return ['ok' => false, 'message' => '只有男女双方才能互相求婚,请确认双方性别设置。', 'marriage_id' => null]; + } + // 检查求婚方是否在冷静期 if ($cooldownMsg = $this->checkCooldown($proposer)) { return ['ok' => false, 'message' => $cooldownMsg, 'marriage_id' => null]; diff --git a/resources/views/chat/frame.blade.php b/resources/views/chat/frame.blade.php index a7bf4cd..9c79676 100644 --- a/resources/views/chat/frame.blade.php +++ b/resources/views/chat/frame.blade.php @@ -31,6 +31,7 @@ roomId: {{ $room->id }}, userId: {{ $user->id }}, username: "{{ $user->username }}", + userSex: "{{ $user->sex }}", userLevel: {{ $user->user_level }}, superLevel: {{ $superLevel }}, levelKick: {{ $levelKick }}, diff --git a/resources/views/chat/partials/user-actions.blade.php b/resources/views/chat/partials/user-actions.blade.php index c714443..6bd38be 100644 --- a/resources/views/chat/partials/user-actions.blade.php +++ b/resources/views/chat/partials/user-actions.blade.php @@ -709,8 +709,13 @@ 🪙 送金币 - {{-- 求婚按钮(对方未婚 且 我也未婚时显示) --}} -