diff --git a/app/Http/Controllers/MarriageController.php b/app/Http/Controllers/MarriageController.php index 8f66102..876f4ba 100644 --- a/app/Http/Controllers/MarriageController.php +++ b/app/Http/Controllers/MarriageController.php @@ -94,6 +94,7 @@ class MarriageController extends Controller 'status' => $marriage->status, 'marriage_id' => $marriage->id, 'partner_name' => $partner?->username, + 'is_my_partner' => $partner?->id === $request->user()?->id, 'ring' => $marriage->ringItem?->only(['name', 'icon']), 'level_icon' => \App\Services\MarriageIntimacyService::levelIcon($marriage->level), 'level_name' => \App\Services\MarriageIntimacyService::levelName($marriage->level), diff --git a/resources/views/chat/partials/global-dialog.blade.php b/resources/views/chat/partials/global-dialog.blade.php index bd92b5d..dd8ee82 100644 --- a/resources/views/chat/partials/global-dialog.blade.php +++ b/resources/views/chat/partials/global-dialog.blade.php @@ -27,7 +27,7 @@ {{-- 内容区 --}}
diff --git a/resources/views/chat/partials/user-actions.blade.php b/resources/views/chat/partials/user-actions.blade.php index 2ac4a17..5049fb9 100644 --- a/resources/views/chat/partials/user-actions.blade.php +++ b/resources/views/chat/partials/user-actions.blade.php @@ -167,6 +167,45 @@ this.friendLoading = false; }, + async handleConfirmDivorce(marriageId) { + // 等待后端接口实现,当前先略 + return; + }, + + /** 发起协议离婚 */ + async doDivorce(marriageId) { + if (!marriageId) return; + this.showUserModal = false; + + const confirmed = await window.chatDialog?.confirm( + '提出离婚后,对方将在私人频道收到通知。\n\n如果对方在 24 小时内未作决定,此申请将自动升级为“强制离婚”,并扣除发起方一定的魅力值作为单方面解除契约的惩罚。\n\n您确定要继续发起离婚申请吗?', + '发起离婚', + '#475569' + ); + + if (!confirmed) return; + + window.chatDialog?.alert('请稍候…', '发送申请中', '#9ca3af'); + try { + const res = await fetch(window.chatContext.marriage.divorceUrl(marriageId), { + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + 'X-CSRF-TOKEN': document.querySelector('meta[name=csrf-token]').content + } + }); + const data = await res.json(); + if (data.ok) { + window.chatDialog?.alert(data.message, '已发出', '#6b7280'); + } else { + window.chatDialog?.alert(data.message || '操作失败', '错误', '#dc2626'); + } + } catch (e) { + window.chatDialog?.alert('网络请求失败', '错误', '#dc2626'); + } + }, + /** 获取用户资料 */ async fetchUser(username) { try { @@ -736,14 +775,23 @@ 💍 请先设置性别 - {{-- 对方已婚时显示提示 --}} -
💑
+ + {{-- 如果对方是自己的伴侣,显示离婚按钮 --}} + {{-- 内联礼物面板 --}}