|
@@ -1,16 +1,100 @@
|
|
|
import { Component } from '@angular/core';
|
|
|
import { IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/angular/standalone';
|
|
|
import { ExploreContainerComponent } from '../explore-container/explore-container.component';
|
|
|
+import { extactAndParseJsonFromString } from 'src/agent/agent.json';
|
|
|
+import { TaskInqueryUserStory } from 'src/agent/tasks/inquiry/1.inquiry-user-story';
|
|
|
+import { TaskInqueryDoctorQuestion } from 'src/agent/tasks/inquiry/2.inquiry-doctor-question';
|
|
|
+import { TaskInqueryUserAnswer } from 'src/agent/tasks/inquiry/3.inquiry-user-answer';
|
|
|
+import { TaskExecutor } from 'src/agent/agent.start';
|
|
|
+import { AgentTaskStep } from 'src/agent/agent.task';
|
|
|
+import { IonButton, IonIcon, ModalController } from '@ionic/angular/standalone';
|
|
|
+import { TaskPoemPictureDesc } from 'src/agent/tasks/poem/poem-desc';
|
|
|
+import { TaskPoemPictureCreate } from 'src/agent/tasks/poem/poem-picture';
|
|
|
+import { DecimalPipe } from '@angular/common';
|
|
|
+import { addIcons } from 'ionicons';
|
|
|
+import { radioButtonOffOutline, reloadOutline, checkmarkCircleOutline, closeCircleOutline } from 'ionicons/icons';
|
|
|
|
|
|
+addIcons({radioButtonOffOutline, reloadOutline, checkmarkCircleOutline, closeCircleOutline})
|
|
|
@Component({
|
|
|
selector: 'app-tab2',
|
|
|
templateUrl: 'tab2.page.html',
|
|
|
styleUrls: ['tab2.page.scss'],
|
|
|
standalone: true,
|
|
|
- imports: [IonHeader, IonToolbar, IonTitle, IonContent, ExploreContainerComponent]
|
|
|
+ imports: [IonHeader, IonToolbar, IonTitle, IonContent, ExploreContainerComponent, IonButton, IonIcon, DecimalPipe,
|
|
|
+ ]
|
|
|
})
|
|
|
export class Tab2Page {
|
|
|
|
|
|
- constructor() {}
|
|
|
+ constructor(private modalCtrl:ModalController) {
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ taskList:AgentTaskStep[] = []
|
|
|
+
|
|
|
+ wait(duration:number=1000){
|
|
|
+ return new Promise(resolve=>{
|
|
|
+ setTimeout(() => {
|
|
|
+ resolve(true)
|
|
|
+ }, duration);
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ shareData:any = {}
|
|
|
+
|
|
|
+ // 任务:完成故事意境描述及图像绘制
|
|
|
+ doPoemTask(){
|
|
|
+ // 产生: shareData.PictureDescResult 生成后描述
|
|
|
+ let task1 = TaskPoemPictureDesc({shareData:this.shareData,modalCtrl:this.modalCtrl});
|
|
|
+ // 产生: shareData.images 渲染后图片
|
|
|
+ let task2 = TaskPoemPictureCreate({shareData:this.shareData,modalCtrl:this.modalCtrl});
|
|
|
+
|
|
|
+ // 定义任务集
|
|
|
+ let PoemTaskList = [task1,task2]
|
|
|
+ // 传递给显示组件
|
|
|
+ this.taskList = PoemTaskList
|
|
|
+ // 开始执行任务
|
|
|
+ TaskExecutor(PoemTaskList)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ testJSON(){
|
|
|
+ let string = `
|
|
|
+ ''''json
|
|
|
+ {
|
|
|
+ "keshi": "神经内科",
|
|
|
+ "sympList": [
|
|
|
+ {
|
|
|
+ "title": "偏头痛",
|
|
|
+ "desc": "持续了2天的偏头疼",
|
|
|
+ "duration": "2天"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "title": "发冷",
|
|
|
+ "desc": "感觉发冷,已经有一天",
|
|
|
+ "duration": "1天"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ''''
|
|
|
+ `
|
|
|
+ console.log(extactAndParseJsonFromString(string))
|
|
|
+ }
|
|
|
+ // 任务集:医疗问诊任务集 完成一次完整的门诊服务
|
|
|
+ doInqueryTask(){
|
|
|
+ let task1 = TaskInqueryUserStory({shareData:this.shareData,modalCtrl:this.modalCtrl});
|
|
|
+ let task2 = TaskInqueryDoctorQuestion({shareData:this.shareData,modalCtrl:this.modalCtrl});
|
|
|
+ let task3 = TaskInqueryUserAnswer({shareData:this.shareData,modalCtrl:this.modalCtrl});
|
|
|
+
|
|
|
+ // 定义任务集
|
|
|
+ let InquireServiceTaskList = [
|
|
|
+ task1,task2,task3
|
|
|
+ ]
|
|
|
+ // 传递给显示组件
|
|
|
+ this.taskList = InquireServiceTaskList
|
|
|
+ // 开始执行任务
|
|
|
+ TaskExecutor(InquireServiceTaskList)
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|