|
@@ -1,16 +1,68 @@
|
|
|
-import { Component } from '@angular/core';
|
|
|
-import { IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/angular/standalone';
|
|
|
-import { ExploreContainerComponent } from '../explore-container/explore-container.component';
|
|
|
+import { Component, OnInit } from '@angular/core';
|
|
|
+import { CommonModule } from '@angular/common';
|
|
|
+import { IonicModule } from '@ionic/angular';
|
|
|
+import { FormsModule } from '@angular/forms';
|
|
|
+
|
|
|
+// 假设的AI服务,需要替换为实际的飞码AI服务连接代码
|
|
|
+import { FmodeChatCompletion,MarkdownPreviewModule } from 'fmode-ng';
|
|
|
|
|
|
@Component({
|
|
|
selector: 'app-tab2',
|
|
|
templateUrl: 'tab2.page.html',
|
|
|
styleUrls: ['tab2.page.scss'],
|
|
|
standalone: true,
|
|
|
- imports: [IonHeader, IonToolbar, IonTitle, IonContent, ExploreContainerComponent]
|
|
|
+ imports: [
|
|
|
+ CommonModule,
|
|
|
+ IonicModule,
|
|
|
+ FormsModule,
|
|
|
+ MarkdownPreviewModule
|
|
|
+ ]
|
|
|
})
|
|
|
-export class Tab2Page {
|
|
|
-
|
|
|
+export class Tab2Page implements OnInit {
|
|
|
+ page2: string = "时间"; // 用户输入的游玩时间
|
|
|
+ userPrompt: string = "请描述您的需求"; // 用户输入的需求提示
|
|
|
+ responseMsg: string = ""; // 用于展示AI返回的消息内容
|
|
|
+ isComplete:boolean = false; // 定义完成状态属性,用来标记是否补全完成
|
|
|
constructor() {}
|
|
|
|
|
|
+ ngOnInit() {}
|
|
|
+
|
|
|
+ // 更新游玩时间
|
|
|
+ page2Input(ev: any) {
|
|
|
+ this.page2 = ev.detail.value;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新用户需求提示
|
|
|
+ promptInput(ev: any) {
|
|
|
+ this.userPrompt = ev.detail.value;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ clearPlaceholder() {
|
|
|
+ if (this.page2 === "时间") {
|
|
|
+ this.page2 = ""; // 清空输入框内容
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发送消息到AI服务并获取响应
|
|
|
+ sendMessage() {
|
|
|
+ console.log("creating AI message...");
|
|
|
+
|
|
|
+ let PromptTemplate = `您作为一名专业的南昌导游,请您根据用户描述的需求,给出旅游路线,用户游玩的时间是${this.page2}。以下是用户的口述:${this.userPrompt}`;
|
|
|
+
|
|
|
+ let completion = new FmodeChatCompletion([
|
|
|
+ { role: "system", content: "你是一名友好的AI助手" },
|
|
|
+ { role: "user", content: PromptTemplate }
|
|
|
+ ]);
|
|
|
+
|
|
|
+ completion.sendCompletion().subscribe((message:any)=>{
|
|
|
+ // 打印消息体
|
|
|
+ console.log(message.content)
|
|
|
+ // 赋值消息内容给组件内属性
|
|
|
+ this.responseMsg = message.content
|
|
|
+ if(message?.complete){ // 判断message为完成状态,则设置isComplete为完成
|
|
|
+ this.isComplete = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|