From 0f7621c51507ee1e927b10dba7c9c62c0e524a74 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 12 十二月 2025 10:18:31 +0800
Subject: [PATCH] #AI
---
src/main/webapp/views/index.html | 133 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 133 insertions(+), 0 deletions(-)
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index 18f5f86..e9ea1c7 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -40,6 +40,28 @@
box-shadow: 0px 0px 20px rgba(0,0,0,0.3);
text-align: center;
}
+
+ /* AI鍔╂墜鎶藉眽鍔ㄧ敾 */
+ @keyframes slideInRight {
+ from { transform: translate3d(100%, 0, 0); opacity: 0; }
+ to { transform: translate3d(0, 0, 0); opacity: 1; }
+ }
+
+ @keyframes slideOutRight {
+ from { transform: translate3d(0, 0, 0); opacity: 1; }
+ to { transform: translate3d(100%, 0, 0); opacity: 0; }
+ }
+
+ .ai-drawer-layer {
+ box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15) !important;
+ border-radius: 8px 0 0 8px !important;
+ overflow: hidden;
+ animation: slideInRight 0.5s cubic-bezier(0.16, 1, 0.3, 1);
+ }
+
+ .ai-drawer-layer-close {
+ animation: slideOutRight 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
+ }
</style>
</head>
<body class="layui-layout-body">
@@ -120,6 +142,75 @@
<div id="popup-text" style="font-size: 28px;color: red"></div>
<button style="background-color: #007bff;color: #fff;border: none;padding: 10px 20px;border-radius: 5px;cursor: pointer;font-size: 16px;" onclick="hidePopup()">鍏抽棴</button>
</div>
+</div>
+
+<!-- 鍙充笅瑙扴VG鍔ㄧ敾 -->
+<div id="ai-assistant-btn" style="position: fixed; bottom: 40px; right: 20px; z-index: 9999; cursor: pointer;">
+ <svg
+ width="48"
+ height="48"
+ viewBox="0 0 64 64"
+ xmlns="http://www.w3.org/2000/svg">
+
+ <!-- 閫忔槑鑳屾櫙锛氫笉鐢讳换浣曞簳鑹插嵆鍙� -->
+
+ <!-- 涓�鐐规煍鍜屽彂鍏夋晥鏋� -->
+ <defs>
+ <filter id="glow" x="-50%" y="-50%" width="200%" height="200%">
+ <feGaussianBlur stdDeviation="2.5" result="blur"/>
+ <feMerge>
+ <feMergeNode in="blur"/>
+ <feMergeNode in="SourceGraphic"/>
+ </feMerge>
+ </filter>
+
+ <style>
+ /* 鏁翠釜鍥炬爣鏃嬭浆鍔ㄧ敾 */
+ .spinner {
+ animation: spin 2.8s linear infinite;
+ transform-origin: 50% 50%;
+ }
+
+ @keyframes spin {
+ from { transform: rotate(0deg); }
+ to { transform: rotate(360deg); }
+ }
+ </style>
+ </defs>
+
+ <!-- 鏃嬭浆缁� -->
+ <g class="spinner" filter="url(#glow)">
+ <!-- 姣忎竴鏉″僵鑹层�屽皬寮潯銆� -->
+ <!-- 鍙互閫氳繃璋冩暣 rx/ry銆亀idth/height 鏉ユ敼绮楃粏鍜屽集搴� -->
+ <!-- 1. 绱壊 -->
+ <rect x="30" y="10" width="6" height="14" rx="3" ry="3" fill="#8b5cf6" />
+
+ <!-- 2. 绮夎壊锛堥『鏃堕拡鏃嬭浆60掳锛� -->
+ <g transform="rotate(60 32 32)">
+ <rect x="30" y="10" width="6" height="14" rx="3" ry="3" fill="#f472b6" />
+ </g>
+
+ <!-- 3. 姗欒壊 -->
+ <g transform="rotate(120 32 32)">
+ <rect x="30" y="10" width="6" height="14" rx="3" ry="3" fill="#fb923c" />
+ </g>
+
+ <!-- 4. 閲戦粍 -->
+ <g transform="rotate(180 32 32)">
+ <rect x="30" y="10" width="6" height="14" rx="3" ry="3" fill="#fbbf24" />
+ </g>
+
+ <!-- 5. 闈掕壊 -->
+ <g transform="rotate(240 32 32)">
+ <rect x="30" y="10" width="6" height="14" rx="3" ry="3" fill="#22d3ee" />
+ </g>
+
+ <!-- 6. 钃濊壊 -->
+ <g transform="rotate(300 32 32)">
+ <rect x="30" y="10" width="6" height="14" rx="3" ry="3" fill="#3b82f6" />
+ </g>
+ </g>
+ </svg>
</div>
<script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
@@ -306,6 +397,48 @@
var url = logout.getAttribute('href');
logout.setAttribute('href', baseUrl + "/login");
+ // AI鍔╂墜鍥炬爣鎮诞鎻愮ず
+ $('#ai-assistant-btn').on('mouseenter', function(){
+ this.index = layer.tips('AI鍔╂墜', this, {
+ tips: [1, '#333'], // 涓婃柟鏄剧ず锛屾繁鑹茶儗鏅�
+ time: -1 // 涓嶈嚜鍔ㄥ叧闂�
+ });
+ }).on('mouseleave', function(){
+ layer.close(this.index);
+ }).on('click', function () {
+ layer.open({
+ type: 2,
+ title: false, // 闅愯棌榛樿鏍囬鏍忥紝鏇寸畝娲�
+ closeBtn: 0, // 闅愯棌鍏抽棴鎸夐挳锛岀偣鍑婚伄缃╁叧闂�
+ shadeClose: false, // 鏀逛负鎵嬪姩鎺у埗鍏抽棴锛屼互渚挎挱鏀惧姩鐢�
+ shade: 0.1,
+ area: ['600px', '100%'],
+ offset: 'r', // 鍙充晶鎮诞
+ anim: -1, // 绂佺敤榛樿鍔ㄧ敾锛屼娇鐢–SS鍔ㄧ敾
+ isOutAnim: false,
+ skin: 'ai-drawer-layer', // 鑷畾涔夌毊鑲�
+ content: 'ai/diagnosis.html',
+ success: function(layero, index){
+ // 鑳屾櫙妯$硦鏁堟灉
+ var shadeId = layero.attr('id').replace('layui-layer', 'layui-layer-shade');
+ var $shade = $('#' + shadeId);
+ $shade.css({
+ 'backdrop-filter': 'blur(3px)',
+ 'transition': 'opacity 0.8s'
+ });
+
+ // 鐐瑰嚮閬僵鍏抽棴锛堝甫鍔ㄧ敾锛�
+ $shade.on('click', function() {
+ layero.addClass('ai-drawer-layer-close');
+ $shade.css('opacity', 0);
+ setTimeout(function(){
+ layer.close(index);
+ }, 400);
+ });
+ }
+ });
+ });
+
});
</script>
<script type="text/html" id="menuTpl">
--
Gitblit v1.9.1