import { Component, OnInit } from '@angular/core';
import {IonHeader, IonToolbar, IonTitle, IonContent, IonButton,
  IonTextarea,IonInput,IonIcon} from '@ionic/angular/standalone';
  /** 引用：从fmode-ng库引用FmodeChatCompletion类 */
import { FmodeChatCompletion,MarkdownPreviewModule } from 'fmode-ng';
import { Router } from '@angular/router';

@Component({
  selector: 'app-page-consult',
  templateUrl: './page-consult.component.html',
  styleUrls: ['./page-consult.component.scss'],
  standalone: true,
  imports: [IonHeader, IonToolbar, IonTitle, IonContent, IonButton,
    IonTextarea,IonInput,IonIcon,
    MarkdownPreviewModule
    ],
})

export class PageConsultComponent  implements OnInit {
  constructor(private router: Router) {}
  ngOnInit(): void {
  }
  // 用户输入提示词
  leixing:string = "  心理问题类型:"
  leixingInput(ev:any){
    this.leixing = ev.detail.value;
  }
  // 用户输入提示词
   userPrompt:string = "请详细描述你的情况:"
  promptInput(ev:any){
    this.userPrompt = ev.detail.value;
  }
  // 属性：组件内用于展示消息内容的变量
  responseMsg:any = ""
  // 方法：实例化completion对象，传入消息数组，并订阅生成的可观察对象。
  isComplete:boolean = false; // 定义完成状态属性，用来标记是否补全完成
  sendMessage(){
    console.log("create")

    let PromptTemplate = `
    您作为一名专业的${this.leixing}智能心理咨询师，请您根据用户描述的情况，给出初步的判断，并给出一些详细的建议。'
    以下是用户的口述：${this.userPrompt}
    `

    let completion = new FmodeChatCompletion([
      {role:"system",content:""},
      {role:"user",content:this.userPrompt}
    ])
    completion.sendCompletion().subscribe((message:any)=>{
      // 打印消息体
      console.log(message.content)
      // 赋值消息内容给组件内属性
      this.responseMsg = message.content
      if(message?.complete){ // 判断message为完成状态，则设置isComplete为完成
        this.isComplete = true
      }
    })
  }

goTab1(){
 this.router.navigate(['tabs/tab1']);
}
}
