import { Component, OnInit } from '@angular/core';
import { ChatMessage, TestFmodeChatCompletion } from '../test.chat.completion';
import { IonicModule } from '@ionic/angular';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';

@Component({
  selector: 'app-page-test-completion',
  templateUrl: './page-test-completion.component.html',
  styleUrls: ['./page-test-completion.component.scss'],
  imports: [IonicModule, CommonModule, FormsModule],
  standalone: true,
})
export class PageTestCompletionComponent implements OnInit {
  userDescription: string = '';
  aiResponse: string = '';
  isLoading: boolean = false;

  constructor() { }

  ngOnInit() { return; }

  startConsult() {
    if (!this.userDescription.trim()) {
      console.warn('用户描述不能为空');
      return;
    }

    this.isLoading = true;
    this.aiResponse = ''; // 清空之前的响应

    // 导诊系统提示词
    const diagnosisPrompt = `你是一个专业的医疗导诊助手。
    请根据患者描述的症状，进行以下分析：
1. 可能的疾病方向（列出2-3个最可能的）
2. 建议就诊的科室
3. 是否需要立即就医的紧急程度评估
4. 日常护理建议
请用专业但易懂的语言回答，避免直接诊断，而是提供就医指导。

结果要求：
1.首先，直接给出就诊的科室
2.给用户建议
`;

    const messages: ChatMessage[] = [
      { role: 'system', content: `` },
      { role: 'user', content: diagnosisPrompt+`患者症状描述：${this.userDescription}` }
    ];

    // localStorage.setItem("token",'r:9485439b35a9ce34bb95a9f3cfec2e6e'), // 替换为您的实际token
    TestFmodeChatCompletion(
      {
        messages
      },
      (chunk, isLast) => {
        if (isLast) {
          this.isLoading = false;
          console.log('\n对话完成');
        } else {
          this.aiResponse += chunk; // 累积AI返回的内容
          console.log(chunk); // 实时输出内容
        }
      },
      (error) => {
        this.isLoading = false;
        console.error('发生错误:', error.message);
        this.aiResponse = '获取导诊建议时出错，请稍后再试。';
      }
    );
  }
}
