From 9bce51f651aad297ef9eb6df832bfdaf1de05d84 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 22 四月 2026 14:27:54 +0800
Subject: [PATCH] 青岛推送

---
 node_modules/vue-i18n/dist/vue-i18n.runtime.global.js |   87 +++++++++++--------------------------------
 1 files changed, 22 insertions(+), 65 deletions(-)

diff --git a/node_modules/vue-i18n/dist/vue-i18n.runtime.global.js b/node_modules/vue-i18n/dist/vue-i18n.runtime.global.js
index 734d3ba..e508202 100644
--- a/node_modules/vue-i18n/dist/vue-i18n.runtime.global.js
+++ b/node_modules/vue-i18n/dist/vue-i18n.runtime.global.js
@@ -1,27 +1,10 @@
 /*!
-  * vue-i18n v9.14.5
+  * vue-i18n v9.14.4
   * (c) 2025 kazuya kawaguchi
   * Released under the MIT License.
   */
 var VueI18n = (function (exports, vue) {
   'use strict';
-
-  function warn(msg, err) {
-      if (typeof console !== 'undefined') {
-          console.warn(`[intlify] ` + msg);
-          /* istanbul ignore if */
-          if (err) {
-              console.warn(err.stack);
-          }
-      }
-  }
-  const hasWarned = {};
-  function warnOnce(msg) {
-      if (!hasWarned[msg]) {
-          hasWarned[msg] = true;
-          warn(msg);
-      }
-  }
 
   /**
    * Original Utilities
@@ -91,49 +74,10 @@
   };
   function escapeHtml(rawText) {
       return rawText
-          .replace(/&/g, '&amp;') // escape `&` first to avoid double escaping
           .replace(/</g, '&lt;')
           .replace(/>/g, '&gt;')
           .replace(/"/g, '&quot;')
-          .replace(/'/g, '&apos;')
-          .replace(/\//g, '&#x2F;') // escape `/` to prevent closing tags or JavaScript URLs
-          .replace(/=/g, '&#x3D;'); // escape `=` to prevent attribute injection
-  }
-  function escapeAttributeValue(value) {
-      return value
-          .replace(/&(?![a-zA-Z0-9#]{2,6};)/g, '&amp;') // escape unescaped `&`
-          .replace(/"/g, '&quot;')
-          .replace(/'/g, '&apos;')
-          .replace(/</g, '&lt;')
-          .replace(/>/g, '&gt;');
-  }
-  function sanitizeTranslatedHtml(html) {
-      // Escape dangerous characters in attribute values
-      // Process attributes with double quotes
-      html = html.replace(/(\w+)\s*=\s*"([^"]*)"/g, (_, attrName, attrValue) => `${attrName}="${escapeAttributeValue(attrValue)}"`);
-      // Process attributes with single quotes
-      html = html.replace(/(\w+)\s*=\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`);
-      // Detect and neutralize event handler attributes
-      const eventHandlerPattern = /\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi;
-      if (eventHandlerPattern.test(html)) {
-          {
-              warn('Potentially dangerous event handlers detected in translation. ' +
-                  'Consider removing onclick, onerror, etc. from your translation messages.');
-          }
-          // Neutralize event handler attributes by escaping 'on'
-          html = html.replace(/(\s+)(on)(\w+\s*=)/gi, '$1&#111;n$3');
-      }
-      // Disable javascript: URLs in various contexts
-      const javascriptUrlPattern = [
-          // In href, src, action, formaction attributes
-          /(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,
-          // In style attributes within url()
-          /(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi
-      ];
-      javascriptUrlPattern.forEach(pattern => {
-          html = html.replace(pattern, '$1javascript&#58;');
-      });
-      return html;
+          .replace(/'/g, '&apos;');
   }
   const hasOwnProperty = Object.prototype.hasOwnProperty;
   function hasOwn(obj, key) {
@@ -212,6 +156,23 @@
   function incrementer(code) {
       let current = code;
       return () => ++current;
+  }
+
+  function warn(msg, err) {
+      if (typeof console !== 'undefined') {
+          console.warn(`[intlify] ` + msg);
+          /* istanbul ignore if */
+          if (err) {
+              console.warn(err.stack);
+          }
+      }
+  }
+  const hasWarned = {};
+  function warnOnce(msg) {
+      if (!hasWarned[msg]) {
+          hasWarned[msg] = true;
+          warn(msg);
+      }
   }
 
   /**
@@ -1027,7 +988,7 @@
    * Intlify core-base version
    * @internal
    */
-  const VERSION$1 = '9.14.5';
+  const VERSION$1 = '9.14.4';
   const NOT_REOSLVED = -1;
   const DEFAULT_LOCALE = 'en-US';
   const MISSING_RESOLVE_VALUE = '';
@@ -1359,13 +1320,9 @@
       const msgContext = createMessageContext(ctxOptions);
       const messaged = evaluateMessage(context, msg, msgContext);
       // if use post translation option, proceed it with handler
-      let ret = postTranslation
+      const ret = postTranslation
           ? postTranslation(messaged, key)
           : messaged;
-      // apply HTML sanitization for security
-      if (escapeParameter && isString(ret)) {
-          ret = sanitizeTranslatedHtml(ret);
-      }
       // NOTE: experimental !!
       {
           // prettier-ignore
@@ -2017,7 +1974,7 @@
    *
    * @VueI18nGeneral
    */
-  const VERSION = '9.14.5';
+  const VERSION = '9.14.4';
   /**
    * This is only called development env
    * istanbul-ignore-next

--
Gitblit v1.9.3