From a62e7ff41f21a284e04899fad17c6f0cbeb8fa11 Mon Sep 17 00:00:00 2001
From: lkddi
Date: Sat, 25 Apr 2026 13:26:30 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=BF=90=E7=BB=B4=E5=B7=A5?=
=?UTF-8?q?=E5=85=B7=E7=A1=AE=E8=AE=A4=E4=BA=8B=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
resources/js/admin/ops.js | 27 +++++++++++++++++++++++
resources/js/app.js | 2 ++
resources/views/admin/ops/index.blade.php | 8 +++----
3 files changed, 33 insertions(+), 4 deletions(-)
create mode 100644 resources/js/admin/ops.js
diff --git a/resources/js/admin/ops.js b/resources/js/admin/ops.js
new file mode 100644
index 0000000..3111ac7
--- /dev/null
+++ b/resources/js/admin/ops.js
@@ -0,0 +1,27 @@
+// 运维工具后台事件代理,替代 Blade 内联确认提交逻辑。
+
+let adminOpsControlsBound = false;
+
+/**
+ * 绑定运维工具确认提交事件。
+ *
+ * @returns {void}
+ */
+export function bindAdminOpsControls() {
+ if (adminOpsControlsBound || typeof document === "undefined") {
+ return;
+ }
+
+ adminOpsControlsBound = true;
+ document.addEventListener("submit", (event) => {
+ if (!(event.target instanceof HTMLFormElement)) {
+ return;
+ }
+
+ // 运维动作不可撤销,提交前统一读取 Blade 声明的确认文案。
+ const confirmMessage = event.target.getAttribute("data-ops-confirm");
+ if (confirmMessage && !window.confirm(confirmMessage)) {
+ event.preventDefault();
+ }
+ });
+}
diff --git a/resources/js/app.js b/resources/js/app.js
index 392637c..ef5e9b4 100644
--- a/resources/js/app.js
+++ b/resources/js/app.js
@@ -2,6 +2,7 @@ import './bootstrap';
import { bindAdminAutoactControls } from './admin/autoact.js';
import { bindAdminFishingEventsControls } from './admin/fishing-events.js';
import { bindAdminGameConfigControls } from './admin/game-configs.js';
+import { bindAdminOpsControls } from './admin/ops.js';
import { bindAdminRoomControls } from './admin/rooms.js';
import { bindAdminSignInRulesControls } from './admin/sign-in-rules.js';
@@ -9,5 +10,6 @@ import { bindAdminSignInRulesControls } from './admin/sign-in-rules.js';
bindAdminAutoactControls();
bindAdminFishingEventsControls();
bindAdminGameConfigControls();
+bindAdminOpsControls();
bindAdminRoomControls();
bindAdminSignInRulesControls();
diff --git a/resources/views/admin/ops/index.blade.php b/resources/views/admin/ops/index.blade.php
index d4a6e6a..ca475d2 100644
--- a/resources/views/admin/ops/index.blade.php
+++ b/resources/views/admin/ops/index.blade.php
@@ -26,7 +26,7 @@
修改 .env 后、部署新版本后建议执行。