From 6bb08c2297be1b6415c8bc02e6917eba6ee355e5 Mon Sep 17 00:00:00 2001
From: shimai <shimai@example.com>
Date: Fri, 03 Apr 2026 10:42:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test/tony.cheng/260312' into test/shimai.huang/260309

---
 web-app/src/components/call-record/AudioPlayer.css |  189 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 189 insertions(+), 0 deletions(-)

diff --git a/web-app/src/components/call-record/AudioPlayer.css b/web-app/src/components/call-record/AudioPlayer.css
new file mode 100644
index 0000000..70b30a9
--- /dev/null
+++ b/web-app/src/components/call-record/AudioPlayer.css
@@ -0,0 +1,189 @@
+/* 录音播放器容器 */
+.audio-player {
+  display: flex;
+  align-items: center;
+  gap: 12px;
+  padding: 14px 20px;
+  background: linear-gradient(135deg, #f0f7ff 0%, #e3f2fd 100%);
+  border-bottom: 1px solid #e1f5fe;
+  flex-shrink: 0;
+}
+
+/* 播放器加载中状态 */
+.audio-player-loading {
+  background: linear-gradient(135deg, #f0f7ff 0%, #e3f2fd 100%);
+  border-bottom: 1px solid #e1f5fe;
+  justify-content: center;
+  padding: 16px 20px;
+}
+
+.loading-content {
+  display: flex;
+  align-items: center;
+  gap: 12px;
+}
+
+.loading-spinner {
+  width: 20px;
+  height: 20px;
+  border: 2px solid #d0e8ff;
+  border-top-color: #1890ff;
+  border-radius: 50%;
+  animation: spin 0.8s linear infinite;
+}
+
+@keyframes spin {
+  to {
+    transform: rotate(360deg);
+  }
+}
+
+.loading-text {
+  color: #666;
+  font-size: 13px;
+}
+
+/* 播放器无录音文件状态 */
+.audio-player-empty {
+  background: linear-gradient(135deg, #f5f5f5 0%, #ebebeb 100%);
+  border-bottom: 1px solid #e0e0e0;
+  justify-content: center;
+  padding: 16px 20px;
+}
+
+.empty-content {
+  display: flex;
+  align-items: center;
+  gap: 8px;
+}
+
+.empty-icon {
+  font-size: 18px;
+}
+
+.empty-text {
+  color: #999;
+  font-size: 13px;
+}
+
+/* 播放器错误状态 */
+.audio-player-error {
+  background: linear-gradient(135deg, #fff2f0 0%, #ffe7e3 100%);
+  border-bottom: 1px solid #ffccc7;
+  justify-content: center;
+  padding: 16px 20px;
+}
+
+.audio-player-error .error-text {
+  color: #ff4d4f;
+  font-size: 13px;
+  flex: 1;
+}
+
+/* 播放按钮 */
+.audio-player .play-btn {
+  font-size: 28px;
+  color: #1890ff;
+  padding: 0;
+  transition: all 0.2s ease;
+  cursor: pointer;
+}
+
+.audio-player .play-btn:hover {
+  color: #40a9ff;
+  transform: scale(1.1);
+}
+
+.audio-player .play-btn:active {
+  transform: scale(0.95);
+}
+
+/* 进度条容器 */
+.audio-player .progress-bar {
+  flex: 1;
+  height: 8px;
+  background: #d0e8ff;
+  border-radius: 4px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+
+/* 进度填充 */
+.audio-player .progress-fill {
+  height: 100%;
+  background: linear-gradient(90deg, #1890ff 0%, #40a9ff 100%);
+  border-radius: 4px;
+  transition: width 0.1s ease;
+  position: relative;
+}
+
+/* 进度填充上的圆点 */
+.audio-player .progress-fill::after {
+  content: '';
+  position: absolute;
+  right: -6px;
+  top: 50%;
+  transform: translateY(-50%);
+  width: 12px;
+  height: 12px;
+  background: #1890ff;
+  border-radius: 50%;
+  box-shadow: 0 2px 4px rgba(24, 144, 255, 0.3);
+}
+
+/* 时间显示 */
+.audio-player .time-display {
+  font-size: 12px;
+  color: #666;
+  min-width: 85px;
+  text-align: right;
+  font-family: 'Monaco', 'Menlo', monospace;
+  background: rgba(255, 255, 255, 0.6);
+  padding: 4px 8px;
+  border-radius: 4px;
+}
+
+/* 下载按钮 */
+.audio-player .download-btn {
+  font-size: 18px;
+  color: #666;
+  padding: 4px;
+  transition: all 0.2s ease;
+  cursor: pointer;
+}
+
+.audio-player .download-btn:hover {
+  color: #1890ff;
+  transform: scale(1.1);
+}
+
+.audio-player .download-btn:active {
+  transform: scale(0.95);
+}
+
+.audio-player .download-btn:disabled {
+  color: #ccc;
+  cursor: not-allowed;
+}
+
+/* 响应式 */
+@media (max-width: 480px) {
+  .audio-player {
+    padding: 12px 16px;
+    gap: 10px;
+  }
+  
+  .audio-player .play-btn {
+    font-size: 24px;
+  }
+  
+  .audio-player .time-display {
+    min-width: 70px;
+    font-size: 11px;
+  }
+  
+  .audio-player .download-btn {
+    font-size: 16px;
+  }
+}

--
Gitblit v1.8.0