123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import { Component, OnInit } from '@angular/core';
- import { Router } from '@angular/router';
- import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonButtons,
- IonBackButton,
- IonProgressBar,
- IonButton,
- IonIcon,
- ModalController
- } from '@ionic/angular/standalone';
- import { NgClass, NgFor, NgIf } from '@angular/common';
- import Parse from 'parse';
- import { TaskCollectBasicInfo } from '../../../agent/tasks/learning-plan/1.collect-basic-info';
- import { TaskAnalyzeRequirements } from '../../../agent/tasks/learning-plan/2.analyze-requirements';
- import { TaskGeneratePlan } from '../../../agent/tasks/learning-plan/3.generate-plan';
- import { TaskExecutor } from '../../../agent/agent.start';
- import { AgentTaskStep } from '../../../agent/agent.task';
- import { TaskCollectDetails } from '../../../agent/tasks/learning-plan/2.5.collect-details';
- interface LearningPlan {
- userId: string;
- subject: string;
- timeFrame: string;
- weeklyHours: number;
- learningStyle: string;
- currentLevel: string;
- planDetails: string;
- createdAt: Date;
- updatedAt: Date;
- }
- @Component({
- selector: 'app-learning-design',
- templateUrl: './learning-design.page.html',
- styleUrls: ['./learning-design.page.scss'],
- standalone: true,
- imports: [
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonButtons,
- IonBackButton,
- IonProgressBar,
- IonButton,
- IonIcon,
- NgClass,
- NgFor,
- NgIf
- ],
- })
- export class LearningDesignPage implements OnInit {
- isComplete: boolean = false;
- taskList: AgentTaskStep[] = [];
- shareData: any = {};
- showPlanResult: boolean = false;
- constructor(
- private router: Router,
- private modalCtrl: ModalController
- ) {}
- ngOnInit() {
- this.startLearningPlanTask();
- }
- async startLearningPlanTask() {
- this.isComplete = false;
- this.showPlanResult = false;
- this.shareData = {};
- // 创建任务链
- const task1 = TaskCollectBasicInfo({
- modalCtrl: this.modalCtrl,
- shareData: this.shareData
- });
-
- const task2 = TaskAnalyzeRequirements({
- modalCtrl: this.modalCtrl,
- shareData: this.shareData
- });
-
- const task2_5 = TaskCollectDetails({
- modalCtrl: this.modalCtrl,
- shareData: this.shareData
- });
-
- const task3 = TaskGeneratePlan({
- modalCtrl: this.modalCtrl,
- shareData: this.shareData
- });
- // 设置任务列表
- this.taskList = [task1, task2, task2_5, task3];
- // 执行任务链
- const success = await TaskExecutor(this.taskList);
- this.isComplete = true;
- if (success && this.shareData.learningPlan) {
- this.showPlanResult = true;
- }
- }
- restartPlan() {
- this.startLearningPlanTask();
- }
- }
|