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 @@
💍 请先设置性别
- {{-- 对方已婚时显示提示 --}}
-
💑
+
+ {{-- 如果对方是自己的伴侣,显示离婚按钮 --}}
+
{{-- 内联礼物面板 --}}