import { Component } from '@angular/core';

@Component({
  selector: 'app-tab2',
  templateUrl: './tab2.page.html',
  styleUrls: ['./tab2.page.scss'],
})
export class Tab2Page {
  isSidebarVisible: boolean = true; // 左边栏显示状态
  chatMessages: { text: string, sender: string }[] = [];  // 存储所有聊天消息，包含文本和发送者
  userMessage: string = '';  // 用户输入的消息，初始化为空字符串
  constructor() {}
  // 切换左边栏显示和隐藏
  toggleSidebar() {
    this.isSidebarVisible = !this.isSidebarVisible;
    console.log(`左边栏 ${this.isSidebarVisible ? '显示' : '隐藏'}`);
  }
  // 创建新对话
  createNewChat() {
    console.log('创建新对话');
    // 实现新对话逻辑
  }
  // 导出当前对话
  exportConversation() {
    console.log('导出当前对话');
  }
  // 发送消息
  sendMessage() {
    if (this.userMessage.trim()) {  // 如果输入的消息不为空
      console.log('发送消息:', this.userMessage);
      this.chatMessages.push({ text: this.userMessage, sender: 'user' });
      this.userMessage = '';  // 清空输入框
    }
  }
  // 开始语音识别
  startSpeechRecognition() {
    // 检查浏览器是否支持 SpeechRecognition
    if (!('webkitSpeechRecognition' in window)) {
      alert('抱歉，您的浏览器不支持语音输入功能');
      return;
    }
    const recognition = new (window as any).webkitSpeechRecognition();
    recognition.lang = 'zh-CN';  // 设置语言为中文
    recognition.interimResults = true; // 支持实时识别结果
    let finalTranscript = ''; // 用于存储最终结果
    recognition.start();
    recognition.onresult = (event: any) => {
      let interimTranscript = '';
      for (let i = event.resultIndex; i < event.results.length; i++) {
        if (event.results[i].isFinal) {
          // 如果结果是最终结果，则存储到 finalTranscript 中
          finalTranscript += event.results[i][0].transcript;
        } else {
          // 如果是临时结果，存储到 interimTranscript 中
          interimTranscript += event.results[i][0].transcript;
        }
        console.log('识别结果:', interimTranscript);
      }
      this.userMessage = `${finalTranscript}${interimTranscript}`.trim();
    };
    recognition.onerror = (event: any) => {
      console.error('语音识别错误:', event.error);
      alert('语音识别失败，请重试！');
    };
  }
}
