|
@@ -7,7 +7,8 @@ import { CommonModule } from '@angular/common';
|
|
import { Router } from '@angular/router';
|
|
import { Router } from '@angular/router';
|
|
import { ChatPanelOptions, FmodeChat, FmodeChatMessage, openChatPanelModal } from 'fmode-ng';
|
|
import { ChatPanelOptions, FmodeChat, FmodeChatMessage, openChatPanelModal } from 'fmode-ng';
|
|
import { ModalController } from '@ionic/angular/standalone';
|
|
import { ModalController } from '@ionic/angular/standalone';
|
|
-import { CloudObject, CloudQuery } from 'src/lib/ncloud';
|
|
|
|
|
|
+import { CloudObject, CloudQuery, CloudUser } from 'src/lib/ncloud';
|
|
|
|
+import { openUserLoginModal } from 'src/lib/user/modal-user-login/modal-user-login.component';
|
|
|
|
|
|
@Component({
|
|
@Component({
|
|
selector: 'app-tab2',
|
|
selector: 'app-tab2',
|
|
@@ -30,15 +31,26 @@ export class Tab2Page {
|
|
this.modalCtrl = modalCtrl;
|
|
this.modalCtrl = modalCtrl;
|
|
// 其他构造函数代码
|
|
// 其他构造函数代码
|
|
}
|
|
}
|
|
- clickToConsult(chatpartner:CloudObject) {
|
|
|
|
|
|
+ async clickToConsult(chatpartner:CloudObject) {
|
|
|
|
+ // 验证用户登录
|
|
|
|
+ let currentUser = new CloudUser();
|
|
|
|
+ if(!currentUser?.id){
|
|
|
|
+ console.log("用户未登录,请登录后重试")
|
|
|
|
+ let user = await openUserLoginModal(this.modalCtrl)
|
|
|
|
+ if(!user?.id){
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
// 弹窗形式聊天:开始咨询
|
|
// 弹窗形式聊天:开始咨询
|
|
localStorage.setItem("company","E4KpGvTEto")
|
|
localStorage.setItem("company","E4KpGvTEto")
|
|
|
|
+
|
|
let consult = new CloudObject("ChatRecord")
|
|
let consult = new CloudObject("ChatRecord")
|
|
let now = new Date();
|
|
let now = new Date();
|
|
let dateStr = `${now.getFullYear()}-${now.getMonth()+1}-${now.getDate()}`
|
|
let dateStr = `${now.getFullYear()}-${now.getMonth()+1}-${now.getDate()}`
|
|
consult.set({
|
|
consult.set({
|
|
- title:`${chatpartner.get('expertise') || ""}聊天记录${dateStr}-${chatpartner.get('name')}`,
|
|
|
|
|
|
+ title:`${chatpartner.get('expertise') || ""}领域聊天记录${dateStr}-${chatpartner.get('name')}`,
|
|
chatpartner:chatpartner.toPointer(),
|
|
chatpartner:chatpartner.toPointer(),
|
|
|
|
+ user:currentUser.toPointer()
|
|
})
|
|
})
|
|
let options:ChatPanelOptions = {
|
|
let options:ChatPanelOptions = {
|
|
roleId:"2DXJkRsjXK",
|
|
roleId:"2DXJkRsjXK",
|
|
@@ -53,7 +65,7 @@ export class Tab2Page {
|
|
# 角色设定
|
|
# 角色设定
|
|
您是${chatpartner.get("name")},一位${chatpartner.get("bio")},${chatpartner.get("expertise")},需要为用户提供陪伴和支持等积极情绪。
|
|
您是${chatpartner.get("name")},一位${chatpartner.get("bio")},${chatpartner.get("expertise")},需要为用户提供陪伴和支持等积极情绪。
|
|
# 对话环节
|
|
# 对话环节
|
|
- 用户提及到关于不想聊了、不想说了、有事先走了类似的话语,耐心积极开导回复结束后请在消息结尾附带: [聊天结束]
|
|
|
|
|
|
+ 每次回复用户消息都在消息结尾附带[祝你有愉快的一天]
|
|
# 开始话语
|
|
# 开始话语
|
|
当您准备好了,可以以一个关心用户的朋友的身份,向来访的用户打招呼。
|
|
当您准备好了,可以以一个关心用户的朋友的身份,向来访的用户打招呼。
|
|
`);
|
|
`);
|
|
@@ -62,8 +74,8 @@ export class Tab2Page {
|
|
console.log("onMessage",message)
|
|
console.log("onMessage",message)
|
|
let content:any = message?.content
|
|
let content:any = message?.content
|
|
if(typeof content == "string"){
|
|
if(typeof content == "string"){
|
|
- if(content?.indexOf("[聊天结束]")>-1){
|
|
|
|
- console.log("聊天结束")
|
|
|
|
|
|
+ if(content?.indexOf("[祝你有愉快的一天]")>-1){
|
|
|
|
+ console.log("对话结束")
|
|
consult.set({
|
|
consult.set({
|
|
content:content
|
|
content:content
|
|
})
|
|
})
|