ai-chat.component.html 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <div class="ai-chat-container">
  2. <!-- 对话头部 -->
  3. <div class="ai-chat-header">
  4. <div class="ai-chat-avatar">
  5. <span class="avatar-icon">🤖</span>
  6. <div class="avatar-status"></div>
  7. </div>
  8. <div class="ai-chat-info">
  9. <h3>AI时尚顾问 <span style="font-size: 12px; background: linear-gradient(45deg, #ff6b6b, #ffa726); padding: 2px 6px; border-radius: 8px; color: white;">DeepSeek驱动</span></h3>
  10. <p>{{ aiChatSubtitle }}</p>
  11. </div>
  12. <button class="ai-chat-close" (click)="closeChat()">✕</button>
  13. </div>
  14. <!-- 对话消息区 -->
  15. <div class="ai-chat-messages" #aiChatMessages>
  16. <div *ngFor="let message of messages" [ngClass]="{'ai-message': message.sender === 'ai', 'user-message': message.sender === 'user'}">
  17. <div class="message-avatar">{{ message.sender === 'ai' ? '🤖' : '👤' }}</div>
  18. <div class="message-content">
  19. <div class="message-text" [class.ai-formatted]="message.isFormatted" [innerHTML]="message.htmlText"></div>
  20. <div class="message-time">{{ message.timestamp | date:'HH:mm' }}</div>
  21. </div>
  22. </div>
  23. <div *ngIf="isLoading" class="ai-message loading-message" id="ai-loading-message">
  24. <div class="message-avatar">🤖</div>
  25. <div class="message-content">
  26. <div class="message-text">
  27. <span class="loading-dots">DeepSeek AI正在思考中<span class="dots">...</span></span>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. <!-- 快捷指令 -->
  33. <div class="ai-quick-commands">
  34. <div class="quick-command" (click)="sendQuickCommand('帮我搭配一套商务装')">
  35. <span class="command-icon">👔</span>
  36. <span>商务装搭配</span>
  37. </div>
  38. <div class="quick-command" (click)="sendQuickCommand('推荐春季流行色')">
  39. <span class="command-icon">🌸</span>
  40. <span>春季流行色</span>
  41. </div>
  42. <div class="quick-command" (click)="sendQuickCommand('分析我的穿衣风格')">
  43. <span class="command-icon">✨</span>
  44. <span>风格分析</span>
  45. </div>
  46. <div class="quick-command" (click)="sendQuickCommand('约会穿什么好看')">
  47. <span class="command-icon">💕</span>
  48. <span>约会搭配</span>
  49. </div>
  50. </div>
  51. <!-- 输入工具栏 -->
  52. <div class="ai-chat-input-area">
  53. <div class="input-toolbar">
  54. <button class="input-tool" (click)="startVoiceInput()" title="语音输入">
  55. <span class="tool-icon">🎤</span>
  56. </button>
  57. <button class="input-tool" (click)="uploadImage()" title="图片识别">
  58. <span class="tool-icon">📷</span>
  59. </button>
  60. <button class="input-tool" (click)="showEmoji()" title="表情">
  61. <span class="tool-icon">😊</span>
  62. </button>
  63. </div>
  64. <div class="input-container">
  65. <input
  66. type="text"
  67. [(ngModel)]="newMessage"
  68. placeholder="说说你的搭配需求..."
  69. (keyup.enter)="sendMessage()"
  70. >
  71. <button class="send-button" (click)="sendMessage()">
  72. <span class="send-icon">➤</span>
  73. </button>
  74. </div>
  75. </div>
  76. </div>