tab2.page.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import { Component } from '@angular/core';
  2. import { IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/angular/standalone';
  3. import { ExploreContainerComponent } from '../explore-container/explore-container.component';
  4. import { extactAndParseJsonFromString } from 'src/agent/agent.json';
  5. import { TaskInqueryUserStory } from 'src/agent/tasks/inquiry/1.inquiry-user-story';
  6. import { TaskInqueryDoctorQuestion } from 'src/agent/tasks/inquiry/2.inquiry-doctor-question';
  7. import { TaskInqueryUserAnswer } from 'src/agent/tasks/inquiry/3.inquiry-user-answer';
  8. import { TaskExecutor } from 'src/agent/agent.start';
  9. import { AgentTaskStep } from 'src/agent/agent.task';
  10. import { IonButton, IonIcon, ModalController } from '@ionic/angular/standalone';
  11. import { TaskPoemPictureDesc } from 'src/agent/tasks/poem/poem-desc';
  12. import { TaskPoemPictureCreate } from 'src/agent/tasks/poem/poem-picture';
  13. import { DecimalPipe } from '@angular/common';
  14. import { addIcons } from 'ionicons';
  15. import { radioButtonOffOutline, reloadOutline, checkmarkCircleOutline, closeCircleOutline } from 'ionicons/icons';
  16. addIcons({radioButtonOffOutline, reloadOutline, checkmarkCircleOutline, closeCircleOutline})
  17. @Component({
  18. selector: 'app-tab2',
  19. templateUrl: 'tab2.page.html',
  20. styleUrls: ['tab2.page.scss'],
  21. standalone: true,
  22. imports: [IonHeader, IonToolbar, IonTitle, IonContent, ExploreContainerComponent, IonButton, IonIcon, DecimalPipe,
  23. ]
  24. })
  25. export class Tab2Page {
  26. constructor(private modalCtrl:ModalController) {
  27. }
  28. taskList:AgentTaskStep[] = []
  29. wait(duration:number=1000){
  30. return new Promise(resolve=>{
  31. setTimeout(() => {
  32. resolve(true)
  33. }, duration);
  34. })
  35. }
  36. shareData:any = {}
  37. // 任务:完成故事意境描述及图像绘制
  38. doPoemTask(){
  39. // 产生: shareData.PictureDescResult 生成后描述
  40. let task1 = TaskPoemPictureDesc({shareData:this.shareData,modalCtrl:this.modalCtrl});
  41. // 产生: shareData.images 渲染后图片
  42. let task2 = TaskPoemPictureCreate({shareData:this.shareData,modalCtrl:this.modalCtrl});
  43. // 定义任务集
  44. let PoemTaskList = [task1,task2]
  45. // 传递给显示组件
  46. this.taskList = PoemTaskList
  47. // 开始执行任务
  48. TaskExecutor(PoemTaskList)
  49. }
  50. testJSON(){
  51. let string = `
  52. ''''json
  53. {
  54. "keshi": "神经内科",
  55. "sympList": [
  56. {
  57. "title": "偏头痛",
  58. "desc": "持续了2天的偏头疼",
  59. "duration": "2天"
  60. },
  61. {
  62. "title": "发冷",
  63. "desc": "感觉发冷,已经有一天",
  64. "duration": "1天"
  65. }
  66. ]
  67. }
  68. ''''
  69. `
  70. console.log(extactAndParseJsonFromString(string))
  71. }
  72. // 任务集:医疗问诊任务集 完成一次完整的门诊服务
  73. doInqueryTask(){
  74. let task1 = TaskInqueryUserStory({shareData:this.shareData,modalCtrl:this.modalCtrl});
  75. let task2 = TaskInqueryDoctorQuestion({shareData:this.shareData,modalCtrl:this.modalCtrl});
  76. let task3 = TaskInqueryUserAnswer({shareData:this.shareData,modalCtrl:this.modalCtrl});
  77. // 定义任务集
  78. let InquireServiceTaskList = [
  79. task1,task2,task3
  80. ]
  81. // 传递给显示组件
  82. this.taskList = InquireServiceTaskList
  83. // 开始执行任务
  84. TaskExecutor(InquireServiceTaskList)
  85. }
  86. }