|  | @@ -1,117 +0,0 @@
 | 
	
		
			
				|  |  | -import { Component } from '@angular/core';
 | 
	
		
			
				|  |  | -import { TestChatCompletion, TestChatMessage,oldMessage } from './class-chat-completion';
 | 
	
		
			
				|  |  | -import {SharedService} from 'src/modules/user/service-user/Share.service'
 | 
	
		
			
				|  |  | -import * as Parse from "parse"
 | 
	
		
			
				|  |  | -(Parse as any).serverURL = "https://web2023.fmode.cn/parse"
 | 
	
		
			
				|  |  | -Parse.initialize("dev")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -async function historyMessage(senderId: string,receiverId:string,historyMessages:Array<oldMessage>=[]){
 | 
	
		
			
				|  |  | -  await findMessagesByUserName(receiverId,senderId,historyMessages,"assistant")
 | 
	
		
			
				|  |  | -  await findMessagesByUserName(senderId,receiverId,historyMessages,"user")
 | 
	
		
			
				|  |  | -  historyMessages.sort((a, b) => Number(a.createdAt) - Number(b.createdAt));
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -async function findMessagesByUserName(senderId: string,receiverId:string,historyMessages:Array<oldMessage>=[],role:string) {
 | 
	
		
			
				|  |  | -  const Gzpmessage = Parse.Object.extend('Gzpmessage');
 | 
	
		
			
				|  |  | -  const query = new Parse.Query(Gzpmessage);
 | 
	
		
			
				|  |  | -  query.equalTo("senderId", senderId);
 | 
	
		
			
				|  |  | -  query.equalTo("receiverId", receiverId);
 | 
	
		
			
				|  |  | -  try {
 | 
	
		
			
				|  |  | -    const messages = await query.find();
 | 
	
		
			
				|  |  | -    for (const message of messages) {
 | 
	
		
			
				|  |  | -      historyMessages.push({
 | 
	
		
			
				|  |  | -        role:role,
 | 
	
		
			
				|  |  | -        content:message.get("messageContent"),
 | 
	
		
			
				|  |  | -        createdAt:message.get("createdAt").getTime()
 | 
	
		
			
				|  |  | -      }) 
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  } catch (error) {
 | 
	
		
			
				|  |  | -    console.error("查询消息时出错:", error);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  return historyMessage
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -export function sendToParse(value:string,senderId:string,receiverId:string){
 | 
	
		
			
				|  |  | -  const Gzpmessage = Parse.Object.extend('Gzpmessage');
 | 
	
		
			
				|  |  | -    const message = new Gzpmessage();
 | 
	
		
			
				|  |  | -    message.set('senderId', senderId);
 | 
	
		
			
				|  |  | -    message.set('receiverId', receiverId);
 | 
	
		
			
				|  |  | -    message.set('messageContent', value);
 | 
	
		
			
				|  |  | -    message.set('createdAt', new Date());
 | 
	
		
			
				|  |  | -    // 设置其他字段...
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    // 保存对象到数据库
 | 
	
		
			
				|  |  | -    message.save().then(
 | 
	
		
			
				|  |  | -      (result: any) => {
 | 
	
		
			
				|  |  | -        console.log('对话消息已保存到数据库:', result);
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      (error: any) => {
 | 
	
		
			
				|  |  | -        console.error('保存对话消息时出错:', error);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    );
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -@Component({
 | 
	
		
			
				|  |  | -  selector: 'app-ai-chat-page',
 | 
	
		
			
				|  |  | -  templateUrl: './ai-chat-page.component.html',
 | 
	
		
			
				|  |  | -  styleUrls: ['./ai-chat-page.component.scss']
 | 
	
		
			
				|  |  | -})
 | 
	
		
			
				|  |  | -export class AiChatPageComponent {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  oldMessage:boolean=true;
 | 
	
		
			
				|  |  | -  title: string ='小助手';
 | 
	
		
			
				|  |  | -  userId: string = '';
 | 
	
		
			
				|  |  | -  userImg: string = ''
 | 
	
		
			
				|  |  | -  public userInput: string = '';
 | 
	
		
			
				|  |  | -  messageList: Array<TestChatMessage> = [];
 | 
	
		
			
				|  |  | -  historyMessages:Array<oldMessage>=[]
 | 
	
		
			
				|  |  | -  completion: TestChatCompletion;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  constructor(private sharedService: SharedService) {
 | 
	
		
			
				|  |  | -    this.messageList.push({
 | 
	
		
			
				|  |  | -      role:'assistant',
 | 
	
		
			
				|  |  | -      content:"您好,我是您的旅行小助手,请问现在有什么可以帮到您的。",
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    )
 | 
	
		
			
				|  |  | -    this.completion = new TestChatCompletion(this.messageList,this.sharedService);
 | 
	
		
			
				|  |  | -    this.userId = this.sharedService.getUserId();
 | 
	
		
			
				|  |  | -    this.userImg = this.sharedService.getUserImg();
 | 
	
		
			
				|  |  | -    historyMessage(this.userId,'1',this.historyMessages)
 | 
	
		
			
				|  |  | -    // findMessagesByUserName('Aichat',this.userId,this.messageList,"assistant")
 | 
	
		
			
				|  |  | -    // findMessagesByUserName(this.userId,'Aichat',this.messageList,"user")
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  send(value: string) {
 | 
	
		
			
				|  |  | -    if (this.sharedService.pdlogin()){
 | 
	
		
			
				|  |  | -      this.messageList.push({
 | 
	
		
			
				|  |  | -            role: 'user',
 | 
	
		
			
				|  |  | -            content: value,
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | -      sendToParse(value,this.userId,"1")
 | 
	
		
			
				|  |  | -      this.completion.createCompletionByStream();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    else{
 | 
	
		
			
				|  |  | -      if(value=='开始'){
 | 
	
		
			
				|  |  | -        this.messageList.push({
 | 
	
		
			
				|  |  | -          role:'assistant',
 | 
	
		
			
				|  |  | -          content:"请问",
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        ) 
 | 
	
		
			
				|  |  | -        this.sharedService.isLogin()
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      else{
 | 
	
		
			
				|  |  | -        this.messageList.push({
 | 
	
		
			
				|  |  | -          role:'user',
 | 
	
		
			
				|  |  | -          content:value,
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | -        this.messageList.push({
 | 
	
		
			
				|  |  | -          role:'assistant',
 | 
	
		
			
				|  |  | -          content:"对不起,您还没有登入,暂时无法使用此功能",
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        ) 
 | 
	
		
			
				|  |  | -      }    
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    this.userInput='';
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -}
 |