初始化

This commit is contained in:
zjh
2025-10-10 19:44:14 +08:00
parent 64db05717f
commit d5404c2a39
262 changed files with 44314 additions and 0 deletions

File diff suppressed because it is too large Load Diff

7
rg-09112127/css/animate.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

240
rg-09112127/css/chat.css Normal file
View File

@@ -0,0 +1,240 @@
/* 聊天图标样式 */
.chat-icon-container {
position: fixed;
bottom: 30px;
right: 30px;
z-index: 9999;
cursor: pointer;
}
.chat-icon {
width: 60px;
height: 60px;
/* background-color: #165DFF; */
border-radius: 50%;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 24px;
transition: all 0.3s ease;
}
.chat-icon:hover {
transform: scale(1.05);
box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);
}
/* 气泡提示动画 */
@keyframes bubble-pulse {
0% {
box-shadow: 0 0 0 0 rgba(22, 93, 255, 0.4);
}
70% {
box-shadow: 0 0 0 10px rgba(22, 93, 255, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(22, 93, 255, 0);
}
}
.bubble-pulse {
animation: bubble-pulse 1s infinite;
}
/* 聊天对话框样式 */
.chat-dialog {
position: fixed;
bottom: 100px;
right: 50px;
width: 550px;
max-width: calc(100% - 60px);
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
overflow: hidden;
display: none;
flex-direction: column;
height: 600px;
transform-origin: bottom right;
transform: scale(0.8);
opacity: 0;
transition: all 0.3s ease;
}
.chat-dialog.open {
display: flex;
transform: scale(1);
opacity: 1;
}
.chat-header {
/* background: linear-gradient(135deg, #a8c0ff 0%, #3f87a6 100%);; */
background: linear-gradient(to top, #a1c4fd 0%, #c2e9fb 100%);
color: white;
padding: 16px;
display: flex;
justify-content: space-between;
align-items: center;
}
.chat-title {
font-size: 18px;
font-weight: 500;
}
.close-chat {
cursor: pointer;
font-size: 20px;
transition: transform 0.2s ease;
}
.close-chat:hover {
transform: rotate(90deg);
}
.chat-content {
flex: 1;
padding: 16px;
overflow-y: auto;
background-color: #F5F7FA;
}
.chat-footer {
padding: 12px 16px;
border-top: 1px solid #E5E6EB;
display: flex;
justify-content: center;
align-items: center;
}
/* 语音输入按钮 */
.voice-input-container {
display: flex;
justify-content: center;
margin-top: 20px;
}
.voice-input-btn {
width: 50px;
height: 50px;
/* background-color: #165DFF; */
/* background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%); */
background: linear-gradient(to top, #a1c4fd 0%, #c2e9fb 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 20px;
cursor: pointer;
box-shadow: 0 4px 10px rgba(22, 93, 255, 0.3);
transition: all 0.3s ease;
position: relative;
}
.voice-input-btn:hover {
/* background: linear-gradient(135deg, #f5f7fa 0%, #e4ecff 100%); */
box-shadow: 0 6px 15px rgba(22, 93, 255, 0.4);
}
.voice-input-btn.active {
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0% {
box-shadow: 0 0 0 0 rgba(22, 93, 255, 0.7);
}
70% {
box-shadow: 0 0 0 10px rgba(22, 93, 255, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(22, 93, 255, 0);
}
}
/* 语音识别状态显示 */
.voice-status {
margin-top: 10px;
text-align: center;
font-size: 14px;
color: #666;
min-height: 20px;
}
/* 聊天消息样式 */
.message {
margin-bottom: 15px;
display: flex;
}
.message.bot {
justify-content: flex-start;
}
.message.user {
justify-content: flex-end;
}
.message-content {
padding: 10px 15px;
border-radius: 18px;
max-width: 80%;
}
.message.bot .message-content {
background-color: white;
border-radius: 18px 18px 18px 0;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}
.message.user .message-content {
/* background-color: #165DFF; */
background: linear-gradient(to top, #a1c4fd 0%, #c2e9fb 100%);
/* color: white; */
border-radius: 18px 18px 0 18px;
}
/* 打字动画 */
.typing-indicator {
display: flex;
align-items: center;
padding: 10px 15px;
}
.typing-indicator span {
height: 8px;
width: 8px;
margin: 0 2px;
background-color: #9E9EA1;
border-radius: 50%;
display: inline-block;
animation: typing-bounce 1.4s infinite ease-in-out both;
}
.typing-indicator span:nth-child(1) {
animation-delay: -0.32s;
}
.typing-indicator span:nth-child(2) {
animation-delay: -0.16s;
}
@keyframes typing-bounce {
0%, 80%, 100% {
transform: scale(0);
}
40% {
transform: scale(1);
}
}

File diff suppressed because it is too large Load Diff

2646
rg-09112127/css/css2.css Normal file

File diff suppressed because it is too large Load Diff

4
rg-09112127/css/font-awesome.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,179 @@
/* 用户显示样式 */
.user-display {
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
z-index: 1000;
display: flex;
align-items: center;
}
.user-info {
display: flex;
align-items: center;
gap: 10px;
color: #333;
font-size: 14px;
white-space: nowrap;
}
.user-info span {
color: #333;
font-weight: 500;
}
.login-btn, .logout-btn {
padding: 6px 12px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 12px;
transition: all 0.3s ease;
white-space: nowrap;
min-width: 60px;
}
.login-btn {
background-color: #007bff;
color: white;
}
.login-btn:hover {
background-color: #0056b3;
}
.logout-btn {
background-color: #dc3545;
color: white;
margin-left: 8px;
}
.logout-btn:hover {
background-color: #c82333;
}
/* 确保导航栏容器有足够的空间 */
.container-header {
position: fixed !important;
top: 0px !important;
left: 0px !important;
width: 100% !important;
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
background-color: rgba(255, 255, 255, 0.9) !important;
box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 10px !important;
z-index: 1000 !important;
padding: 10px 20px !important;
padding-right: 120px !important; /* 为右侧用户显示留出空间 */
height: auto !important; /* 允许高度自适应 */
min-height: 75px !important; /* 保持最小高度 */
}
.container-header-nav {
display: flex !important;
margin-right: 0 !important; /* 移除原有的右边距 */
flex: 1;
justify-content: center;
align-items: center;
}
/* 无障碍化按钮样式调整 */
.barrierFree {
margin-left: 10px;
color: var(--antd-color-6, #faad14);
font-weight: 700;
font-size: 16px;
padding: 5px 20px;
border-radius: 20px;
transition: 0.3s;
border: 1px solid transparent;
cursor: pointer;
}
.barrierFree:hover {
border: 1px solid var(--antd-color-6, #faad14);
}
/* 响应式设计 */
@media (max-width: 1024px) {
.container-header {
padding-right: 100px !important;
}
.user-info {
font-size: 13px;
}
.login-btn, .logout-btn {
padding: 5px 10px;
font-size: 11px;
min-width: 50px;
}
.barrierFree {
font-size: 14px;
padding: 4px 15px;
}
}
@media (max-width: 768px) {
.container-header {
padding-right: 80px !important;
flex-wrap: wrap;
min-height: 85px !important; /* 增加高度以容纳更多内容 */
}
.user-display {
right: 10px;
top: 50%;
transform: translateY(-50%);
}
.user-info {
flex-direction: column;
gap: 5px;
font-size: 12px;
}
.login-btn, .logout-btn {
padding: 4px 8px;
font-size: 10px;
min-width: 45px;
}
.logout-btn {
margin-left: 0;
margin-top: 2px;
}
.barrierFree {
font-size: 12px;
padding: 3px 10px;
margin-left: 5px;
}
}
@media (max-width: 480px) {
.container-header {
padding-right: 60px !important;
min-height: 95px !important; /* 进一步增加高度 */
}
.user-info {
font-size: 11px;
}
.login-btn, .logout-btn {
padding: 3px 6px;
font-size: 9px;
min-width: 40px;
}
.barrierFree {
font-size: 10px;
padding: 2px 8px;
margin-left: 3px;
}
}