From d600bbc25fb2e306d92cffafe2d7aa601daa536b Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 12 十二月 2025 11:02:30 +0800
Subject: [PATCH] #AI
---
src/main/webapp/static/js/common.js | 115 ++++++++++++++++++++++++++-------------------------------
1 files changed, 52 insertions(+), 63 deletions(-)
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 75edf6a..f2f0be2 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
-var baseUrl = "/jswcs";
+var baseUrl = "/wcs";
// 璧嬪��
function setVal(el, val) {
@@ -194,67 +194,56 @@
return fmt;
}
-// 鍏ㄥ睆 -----------------------------------------------------------------------
+/**
+ * 鑾峰彇AI鍔╂墜SVG鍥炬爣HTML
+ * @param {number} width 瀹藉害锛岄粯璁�48
+ * @param {number} height 楂樺害锛岄粯璁�48
+ * @returns {string} SVG HTML瀛楃涓�
+ */
+function getAiIconHtml(width, height) {
+ width = width || 48;
+ height = height || 48;
+ // 鐢熸垚鍞竴ID闃叉鍐茬獊
+ var uniqueId = 'ai_icon_' + Math.random().toString(36).substr(2, 9);
+ var textGradientId = 'textGradient_' + uniqueId;
+ var glowId = 'glow_' + uniqueId;
+ var spinName = 'spin_' + uniqueId;
-//寮�濮嬪叏灞�
-function full() {
- var docElm = document.documentElement;
- //W3C
- if (docElm.requestFullscreen) {
- docElm.requestFullscreen();
- }
- //FireFox
- else if (docElm.mozRequestFullScreen) {
- docElm.mozRequestFullScreen();
- }
- //Chrome绛�
- else if (docElm.webkitRequestFullScreen) {
- docElm.webkitRequestFullScreen();
- }
- //IE11
- else if (elem.msRequestFullscreen) {
- elem.msRequestFullscreen();
- }
-}
-
-//閫�鍑哄叏灞�
-function exitFull() {
- if (document.exitFullscreen) {
- document.exitFullscreen();
- }
- else if (document.mozCancelFullScreen) {
- document.mozCancelFullScreen();
- }
- else if (document.webkitCancelFullScreen) {
- document.webkitCancelFullScreen();
- }
- else if (document.msExitFullscreen) {
- document.msExitFullscreen();
- }
-}
-
-//浜嬩欢鐩戝惉
-document.addEventListener("fullscreenchange", function () {
- try {
- fullscreenState.innerHTML = (document.fullscreen) ? "" : "not ";
- } catch (e) {}
-}, false);
-document.addEventListener("mozfullscreenchange", function () {
- fullscreenState.innerHTML = (document.mozFullScreen) ? "" : "not ";
-}, false);
-document.addEventListener("webkitfullscreenchange", function () {
- fullscreenState.innerHTML = (document.webkitIsFullScreen) ? "" : "not ";
-}, false);
-document.addEventListener("msfullscreenchange", function () {
- fullscreenState.innerHTML = (document.msFullscreenElement) ? "" : "not ";
-}, false);
-document.onkeyup = function (e) {
- if (window.event)//濡傛灉window.event瀵硅薄瀛樺湪锛屽氨浠ユ浜嬩欢瀵硅薄涓哄噯
- e = window.event;
- var key = e.charCode || e.keyCode;
- if (key === 13 || key === 49 || key === 97) {
- full();
- } else if (key === 50 || key === 98) {
- exitFull();
- }
+ return '<svg width="' + width + '" height="' + height + '" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" fill="none">' +
+ '<defs>' +
+ '<linearGradient id="' + textGradientId + '" gradientUnits="userSpaceOnUse" x1="25" y1="50" x2="75" y2="50">' +
+ '<stop offset="0%" stop-color="#8b5cf6"/>' +
+ '<stop offset="20%" stop-color="#f472b6"/>' +
+ '<stop offset="40%" stop-color="#fb923c"/>' +
+ '<stop offset="60%" stop-color="#fbbf24"/>' +
+ '<stop offset="80%" stop-color="#22d3ee"/>' +
+ '<stop offset="100%" stop-color="#3b82f6"/>' +
+ '<animateTransform attributeName="gradientTransform" type="rotate" from="0 50 50" to="360 50 50" dur="5s" repeatCount="indefinite" />' +
+ '</linearGradient>' +
+ '<filter id="' + glowId + '" x="-50%" y="-50%" width="200%" height="200%">' +
+ '<feGaussianBlur stdDeviation="1.6" result="blur"/>' +
+ '<feMerge>' +
+ '<feMergeNode in="blur"/>' +
+ '<feMergeNode in="SourceGraphic"/>' +
+ '</feMerge>' +
+ '</filter>' +
+ '<style>' +
+ '.' + spinName + ' { animation: ' + spinName + ' 5s linear infinite; transform-origin: 50px 50px; }' +
+ '@keyframes ' + spinName + ' { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }' +
+ '.geo-text-' + uniqueId + ' { fill: url(#' + textGradientId + '); stroke: rgba(0,0,0,0.40); stroke-width: 0.45; paint-order: stroke fill; }' +
+ '</style>' +
+ '</defs>' +
+ '<g class="' + spinName + '" filter="url(#' + glowId + ')">' +
+ '<g transform="rotate(0 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#8b5cf6"/></g>' +
+ '<g transform="rotate(60 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#f472b6"/></g>' +
+ '<g transform="rotate(120 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#fb923c"/></g>' +
+ '<g transform="rotate(180 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#fbbf24"/></g>' +
+ '<g transform="rotate(240 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#22d3ee"/></g>' +
+ '<g transform="rotate(300 50 50)"><rect x="48" y="18" width="4.5" height="10" rx="2" fill="#3b82f6"/></g>' +
+ '</g>' +
+ '<g transform="translate(50 50) scale(0.35) translate(-32.5 -20)" class="geo-text-' + uniqueId + '">' +
+ '<path d="M0 40 L20 0 L40 40 Z"/><rect x="12" y="22" width="16" height="4" rx="1"/>' +
+ '<rect x="50" y="0" width="15" height="4" rx="1"/><rect x="55" y="4" width="5" height="32" rx="1.5"/><rect x="50" y="36" width="15" height="4" rx="1"/>' +
+ '</g>' +
+ '</svg>';
}
--
Gitblit v1.9.1