From f9114ffadfab1c01198dd980c3afb66d0c44a5ea Mon Sep 17 00:00:00 2001
From: zzw <228544128@qq.com>
Date: 星期二, 06 十月 2026 18:22:00 +0800
Subject: [PATCH] fix: limit equipment picker to selected X number

---
 emergency-repair-web/src/utils/sensitive.js |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/emergency-repair-web/src/utils/sensitive.js b/emergency-repair-web/src/utils/sensitive.js
index c4bba53..2be439a 100644
--- a/emergency-repair-web/src/utils/sensitive.js
+++ b/emergency-repair-web/src/utils/sensitive.js
@@ -143,6 +143,24 @@
   })
 }
 
+function expandPrefixedAliases(items) {
+  const expanded = []
+  const seen = {}
+  items.forEach(function (item) {
+    const names = [item.codename]
+    if (item.codename.indexOf('rk_') === 0 && item.codename.length > 3) {
+      names.push(item.codename.substring(3))
+    }
+    names.forEach(function (codename) {
+      if (!codename || seen[codename]) {
+        return
+      }
+      seen[codename] = true
+      expanded.push({ codename: codename, real_name: item.real_name })
+    })
+  })
+  return expanded
+}
 export async function installSensitiveWords() {
   try {
     const baseUrl = process.env.BASE_URL || '/'
@@ -158,11 +176,13 @@
       .filter(function (item) {
         return item && item.codename && isConfigured(item.real_name, item.codename)
       })
-      .sort(function (left, right) {
-        return right.codename.length - left.codename.length
-      })
+
+    replacements = expandPrefixedAliases(replacements).sort(function (left, right) {
+      return right.codename.length - left.codename.length
+    })
 
     replaceDom(document.body)
+    document.title = replaceSensitiveText(document.title)
     watchDom()
   } catch (error) {
     // The application still works with development codenames if the dictionary is unavailable.

--
Gitblit v1.9.1