fmode-ng 0.0.243 → 0.0.245

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,9 +6,10 @@ export declare class FmChatMesssageArea implements AfterViewInit, DoCheck, OnCha
6
6
  private chatServ;
7
7
  chatId: string;
8
8
  chat: FmodeChat;
9
- private cachedMessageList;
9
+ messageList: FmodeObject[];
10
10
  private lastMessageCount;
11
- get messageList(): FmodeObject[];
11
+ private lastMessageHash;
12
+ private refreshTimer;
12
13
  /**
13
14
  * 获取预览消息的FmodeObject
14
15
  */
@@ -17,8 +18,13 @@ export declare class FmChatMesssageArea implements AfterViewInit, DoCheck, OnCha
17
18
  ngOnChanges(changes: SimpleChanges): void;
18
19
  ngDoCheck(): void;
19
20
  ngAfterViewInit(): void;
21
+ ngOnDestroy(): void;
20
22
  /**
21
- * 刷新消息列表
23
+ * 同步消息列表(同步版本,用于DoCheck)
24
+ */
25
+ private syncMessageList;
26
+ /**
27
+ * 刷新消息列表(异步版本,用于初始加载)
22
28
  */
23
29
  private refreshMessageList;
24
30
  /**
@@ -12,12 +12,13 @@ export declare class ChatService {
12
12
  private alertCtrl;
13
13
  private navCtrl;
14
14
  private cross;
15
- private storage;
16
15
  chatMap: {
17
16
  [key: string]: FmodeChat;
18
17
  };
19
18
  isCapacitor: boolean;
20
- constructor(router: Router, ncloud: NovaCloudService, platform: Platform, alertCtrl: AlertController, navCtrl: NavController, cross: CrossService, storage: NovaStorage);
19
+ storage: NovaStorage;
20
+ constructor(router: Router, ncloud: NovaCloudService, platform: Platform, alertCtrl: AlertController, navCtrl: NavController, cross: CrossService);
21
+ initStorage(): Promise<void>;
21
22
  platformMap: {
22
23
  pc: string;
23
24
  mobile: string;
@@ -1,7 +1,7 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class ChatContentPipe implements PipeTransform {
4
- transform(content: unknown, ...args: unknown[]): unknown;
4
+ transform(content: any, ...args: unknown[]): unknown;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<ChatContentPipe, never>;
6
6
  static ɵpipe: i0.ɵɵPipeDeclaration<ChatContentPipe, "chatContent", true>;
7
7
  }
@@ -124,8 +124,13 @@ export declare class FmodeChat {
124
124
  set messageList(messages: FmodeObject[]);
125
125
  /**
126
126
  * 初始化消息管理器
127
+ * 关键:即使没有chatSession.id也能初始化(新会话场景)
127
128
  */
128
129
  private initMessageManager;
130
+ /**
131
+ * 确保消息管理器已初始化(懒加载)
132
+ */
133
+ private ensureMessageManager;
129
134
  /**
130
135
  * 初始化企业信息
131
136
  */
@@ -134,12 +139,12 @@ export declare class FmodeChat {
134
139
  * 添加消息(优化版)
135
140
  * 直接添加到MessageManager的_messageList,延迟保存
136
141
  */
137
- addMessage(content: FmodeChatMessage, scene?: MessageScene): Promise<void>;
142
+ addMessage(content: FmodeChatMessage, scene?: MessageScene): Promise<FmodeObject>;
138
143
  /**
139
144
  * 更新消息(优化版)
140
145
  * 直接通过下标更新MessageManager中的消息
141
146
  */
142
- updateMessage(index: number, content: Partial<FmodeChatMessage>): void;
147
+ updateMessage(messageObj: FmodeObject, content: Partial<FmodeChatMessage>): void;
143
148
  /**
144
149
  * 通过下标获取消息(优化版)
145
150
  */
@@ -175,11 +180,12 @@ export declare class FmodeChat {
175
180
  * 对话模型提示词
176
181
  */
177
182
  loadTalkSystemPrompt(role: FmodeObject): Promise<void>;
183
+ rolePrompt: string;
178
184
  /**
179
185
  * 角色提示词
180
186
  * @returns
181
187
  */
182
- loadRolePrompt(): void;
188
+ loadRolePrompt(): Promise<void>;
183
189
  /**
184
190
  * 发送消息
185
191
  * @param message
@@ -205,13 +211,14 @@ export declare class FmodeChat {
205
211
  playChatVoice(voice: FmodeObject, eventMap?: any): Promise<FmodeTTS | null>;
206
212
  /**
207
213
  * 保存单次会话
214
+ * 关键:在session保存后,立即更新消息管理器中的session引用并保存所有待处理消息
208
215
  */
209
216
  saveChatSession(): Promise<void>;
210
217
  getInviteUrl(url: any): string;
211
218
  genTitle(): string;
212
219
  fixMessageList(messages: FmodeChatMessage[]): {
213
- role: string;
214
- content: string | ChatImageContentItem[];
220
+ role: any;
221
+ content: any;
215
222
  }[];
216
223
  nowStr(): string;
217
224
  }
@@ -13,6 +13,7 @@ export interface MessageManagerOptions {
13
13
  userTo?: FmodeObject;
14
14
  contact?: FmodeObject;
15
15
  scene?: MessageScene;
16
+ limitHistory?: number;
16
17
  }
17
18
  /**
18
19
  * MessageManager - 优化版消息管理器
@@ -23,6 +24,11 @@ export declare class MessageManager {
23
24
  private _messageList;
24
25
  private _isLoaded;
25
26
  constructor(options: MessageManagerOptions);
27
+ getCompanyPointer(): {
28
+ __type: string;
29
+ className: string;
30
+ objectId: any;
31
+ };
26
32
  /**
27
33
  * 获取统一的消息列表
28
34
  */
@@ -47,13 +53,27 @@ export declare class MessageManager {
47
53
  addMessage(message: FmodeChatMessage, scene?: MessageScene): FmodeObject;
48
54
  /**
49
55
  * 异步保存消息对象
56
+ * 增强版:处理session关联和延迟保存
50
57
  */
51
58
  saveMessage(messageObj: FmodeObject): Promise<void>;
59
+ /**
60
+ * 在session创建/更新后,保存所有待关联的消息
61
+ * 关键方法:在chatSession保存成功后调用
62
+ */
63
+ savePendingMessages(): Promise<void>;
64
+ /**
65
+ * 更新chatSession引用(当新会话第一次保存后)
66
+ */
67
+ updateChatSession(chatSession: FmodeObject): void;
52
68
  /**
53
69
  * 更新消息(优化版)
54
- * 直接通过下标更新消息对象属性
70
+ * 直接通过下标更新消息对象属性,返回是否成功
71
+ */
72
+ updateMessage(index: number, message: Partial<FmodeChatMessage>): FmodeObject | null;
73
+ /**
74
+ * 更新消息并异步保存
55
75
  */
56
- updateMessage(index: number, message: Partial<FmodeChatMessage>): void;
76
+ updateMessageAndSave(index: number, message: Partial<FmodeChatMessage>): Promise<void>;
57
77
  /**
58
78
  * 重新加载消息
59
79
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fmode-ng",
3
- "version": "0.0.243",
3
+ "version": "0.0.245",
4
4
  "author": "未来全栈",
5
5
  "license": "COPYRIGHT © 未来飞马 未来全栈 www.fmode.cn All RIGHTS RESERVED",
6
6
  "exports": {