From e20f94fe17da396a37d27276c048311532af2321 Mon Sep 17 00:00:00 2001 From: lkddi Date: Sun, 1 Mar 2026 15:34:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E6=B1=82=E5=A9=9A?= =?UTF-8?q?=E9=99=90=E5=88=B6=E5=BC=82=E6=80=A7=EF=BC=88=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E6=8C=89=E9=92=AE=20+=20=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=8B=A6=E6=88=AA=E6=A0=A1=E9=AA=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端(user-actions.blade.php): - 求婚按钮增加三重条件:对方未婚 + 双方性别均已填写 + 性别不同 后端(MarriageService::propose): - 增加异性校验:两方性别必须为「男/女」且不同 - 报错:只有男女双方才能互相求婚 frame.blade.php: - chatContext 注入 userSex(当前用户性别)供前端判断 --- app/Services/MarriageService.php | 10 ++++++++++ resources/views/chat/frame.blade.php | 1 + resources/views/chat/partials/user-actions.blade.php | 9 +++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) 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 @@ 🪙 送金币 - {{-- 求婚按钮(对方未婚 且 我也未婚时显示) --}} -