Merge branch 'main' of 47.107.44.202:xionglijia/18xchat
# Conflicts: # assets/Scripts/chat18x/core/ChatAIService.ts # assets/Scripts/chat18x/utils/ErrorHandler.ts # xchat_cfg
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
import { DataId, DataManager } from "../data/DataManager";
|
||||
import { GlobalData } from "../data/GlobalData";
|
||||
import { ConfigManager } from "../manager/ConfigManager";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
export interface AIConfig {
|
||||
/** API密钥 */
|
||||
@@ -62,7 +63,7 @@ export class ApiConfig {
|
||||
).getTimeout(), // 30秒
|
||||
};
|
||||
|
||||
//console.warn(this.config.apiKey);
|
||||
//logger.warn(this.config.apiKey);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -99,7 +100,7 @@ export class ApiConfig {
|
||||
if (temperature >= 0 && temperature <= 2) {
|
||||
this.config.temperature = temperature;
|
||||
} else {
|
||||
console.warn("Temperature should be between 0 and 2");
|
||||
logger.warn("Temperature should be between 0 and 2");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,11 +116,11 @@ export class ApiConfig {
|
||||
*/
|
||||
public validateConfig(): boolean {
|
||||
if (!this.config.apiKey || this.config.apiKey.trim() === "") {
|
||||
console.error("API key is missing");
|
||||
logger.error("API key is missing");
|
||||
return false;
|
||||
}
|
||||
if (!this.config.model || this.config.model.trim() === "") {
|
||||
console.error("Model name is missing");
|
||||
logger.error("Model name is missing");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -17,6 +17,7 @@ import { GirlData } from "../data/GirlData";
|
||||
import proto from "db://assets/Scripts/proto/proto.pb.js";
|
||||
import { TipsPanel } from "../ui/panels/TipsPanel";
|
||||
import LanguageUtils from "../../Main/Common/LanguageUtils";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
/**
|
||||
* AI聊天服务类
|
||||
@@ -143,8 +144,10 @@ export class ChatAIService {
|
||||
},
|
||||
history: savedHistory,
|
||||
});
|
||||
console.log(chat);
|
||||
console.log(
|
||||
|
||||
logger.log(chat);
|
||||
|
||||
logger.log(
|
||||
`Loaded ${savedHistory.length} history messages for role ${roleId}`
|
||||
);
|
||||
} else {
|
||||
@@ -178,9 +181,9 @@ export class ChatAIService {
|
||||
],
|
||||
},
|
||||
});
|
||||
console.log(chat);
|
||||
logger.log(chat);
|
||||
|
||||
console.log(`Created new chat instance for role ${roleId}`);
|
||||
logger.log(`Created new chat instance for role ${roleId}`);
|
||||
}
|
||||
|
||||
this.chatInstances.set(roleId, chat);
|
||||
@@ -217,7 +220,7 @@ export class ChatAIService {
|
||||
* @example
|
||||
* ```typescript
|
||||
* const response = await chatService.sendMessage(10001, "你好");
|
||||
* console.log(response); // AI的回复
|
||||
* logger.log(response); // AI的回复
|
||||
* ```
|
||||
*/
|
||||
public async sendMessage(roleId: number, message: string): Promise<string> {
|
||||
@@ -248,7 +251,7 @@ export class ChatAIService {
|
||||
});
|
||||
|
||||
if (response && response.text) {
|
||||
console.log(`Response from role ${roleId}:`, response.text);
|
||||
logger.log(`Response from role ${roleId}:`, response.text);
|
||||
|
||||
try {
|
||||
// 保存用户消息
|
||||
@@ -285,7 +288,7 @@ export class ChatAIService {
|
||||
message,
|
||||
response.text
|
||||
).catch((emotionError) => {
|
||||
console.warn(
|
||||
logger.warn(
|
||||
`Failed to update emotion for role ${roleId}:`,
|
||||
emotionError
|
||||
);
|
||||
@@ -335,7 +338,7 @@ export class ChatAIService {
|
||||
EmotionAIService.Instance.clearEmotionHistory(roleId);
|
||||
// 清除本地存储的历史
|
||||
ChatHistoryManager.Instance.clearHistory(roleId);
|
||||
console.log(`Cleared chat history for role ${roleId}`);
|
||||
logger.log(`Cleared chat history for role ${roleId}`);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -347,7 +350,7 @@ export class ChatAIService {
|
||||
EmotionAIService.Instance.clearAllEmotionHistory();
|
||||
// 清除本地存储的所有历史
|
||||
ChatHistoryManager.Instance.clearAllHistory();
|
||||
console.log("Cleared all chat histories");
|
||||
logger.log("Cleared all chat histories");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -362,7 +365,7 @@ export class ChatAIService {
|
||||
* @deprecated 请使用sendMessage方法,此方法将在下个版本中移除
|
||||
*/
|
||||
public async Post(data: GPTRequest): Promise<string> {
|
||||
console.warn("Post方法已废弃,请使用sendMessage方法");
|
||||
logger.warn("Post方法已废弃,请使用sendMessage方法");
|
||||
const roleId = this.currentRoleId || 10001; // 默认使用第一个角色
|
||||
const message = data.messages[0]?.content || "";
|
||||
return this.sendMessage(roleId, message);
|
||||
@@ -377,9 +380,9 @@ export class ChatAIService {
|
||||
girlId,
|
||||
msgs: msgList,
|
||||
};
|
||||
console.log("请求上报聊天数据的请求数据:", reqData);
|
||||
logger.log("请求上报聊天数据的请求数据:", reqData);
|
||||
let res = await ChatService.I.reqChatMsg(reqData);
|
||||
console.log("请求上报聊天数据的响应数据:", res);
|
||||
logger.log("请求上报聊天数据的响应数据:", res);
|
||||
if (res && res.code === proto.cs.EnmRetCode.SUCCESS) {
|
||||
const resData = res.data;
|
||||
// 保存数据
|
||||
@@ -408,9 +411,9 @@ export class ChatAIService {
|
||||
page,
|
||||
limit,
|
||||
};
|
||||
console.log("获取聊天数据的请求数据:", reqData);
|
||||
logger.log("获取聊天数据的请求数据:", reqData);
|
||||
let res = await ChatService.I.reqGetChatMsg(reqData);
|
||||
console.log("获取聊天数据的响应数据:", res);
|
||||
logger.log("获取聊天数据的响应数据:", res);
|
||||
if (res && res.code === proto.cs.EnmRetCode.SUCCESS) {
|
||||
const resData = res.data;
|
||||
// 保存数据
|
||||
|
||||
@@ -9,6 +9,7 @@ import Utils from "../../Main/Common/Utils";
|
||||
import { InnerMsgCode } from "../../Main/Config/InnerMsgCode";
|
||||
import { TipsPanel } from "../ui/panels/TipsPanel";
|
||||
import LanguageUtils from "../../Main/Common/LanguageUtils";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
/**
|
||||
* 聊天控制器接口 - 定义Panel和Controller之间的通信协议
|
||||
@@ -102,7 +103,7 @@ export class ChatController {
|
||||
*/
|
||||
public bindView(callback: IChatPanelCallback): void {
|
||||
this.callback = callback;
|
||||
console.log("ChatController: View bound successfully");
|
||||
logger.log("ChatController: View bound successfully");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -110,7 +111,7 @@ export class ChatController {
|
||||
*/
|
||||
public unbindView(): void {
|
||||
this.callback = null;
|
||||
console.log("ChatController: View unbound");
|
||||
logger.log("ChatController: View unbound");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -139,7 +140,7 @@ export class ChatController {
|
||||
// 同步到DialogManager
|
||||
//this.syncDialogData();
|
||||
|
||||
console.log(`ChatController initialized with role ${roleId}`);
|
||||
logger.log(`ChatController initialized with role ${roleId}`);
|
||||
} else {
|
||||
const error = new Error(`Invalid roleId: ${roleId}`);
|
||||
this.handleError(error);
|
||||
@@ -153,7 +154,7 @@ export class ChatController {
|
||||
*/
|
||||
public switchRole(categoryId: string, roleId: number): boolean {
|
||||
if (!this.chatModel.switchToRole(categoryId, roleId)) {
|
||||
console.error(`Failed to switch to role ${roleId}`);
|
||||
logger.error(`Failed to switch to role ${roleId}`);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -166,7 +167,7 @@ export class ChatController {
|
||||
// 同步对话数据到DialogManager
|
||||
//this.syncDialogData();
|
||||
|
||||
console.log(`ChatController switched to role ${roleId}`);
|
||||
logger.log(`ChatController switched to role ${roleId}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -182,7 +183,7 @@ export class ChatController {
|
||||
|
||||
// 检查聊天次数限制
|
||||
if (!this.canSendMessage()) {
|
||||
console.warn("ChatController: Cannot send message - chat limit reached");
|
||||
logger.warn("ChatController: Cannot send message - chat limit reached");
|
||||
this.callback?.onChatLimitReached();
|
||||
return false;
|
||||
}
|
||||
@@ -190,7 +191,7 @@ export class ChatController {
|
||||
try {
|
||||
const roleId = this.chatModel.getCurrentRoleId();
|
||||
if (!roleId) {
|
||||
console.error("Role ID is not available in ChatModel");
|
||||
logger.error("Role ID is not available in ChatModel");
|
||||
TipsPanel.show(LanguageUtils.getText("chat_error_code_1004"));
|
||||
}
|
||||
|
||||
@@ -200,7 +201,7 @@ export class ChatController {
|
||||
// 显示加载中的对话
|
||||
//this.dialogManager?.addLoadingDialog();
|
||||
|
||||
console.log(`Sending message to role ${roleId}: ${message}`);
|
||||
logger.log(`Sending message to role ${roleId}: ${message}`);
|
||||
// 发送消息给AI服务
|
||||
const response = await ChatAIService.Instance.sendMessage(
|
||||
roleId,
|
||||
@@ -225,7 +226,7 @@ export class ChatController {
|
||||
|
||||
// 注意:情绪状态将通过异步事件更新,不在这里同步获取
|
||||
|
||||
console.log(`Response received from role ${roleId}: ${response}`);
|
||||
logger.log(`Response received from role ${roleId}: ${response}`);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@@ -259,7 +260,7 @@ export class ChatController {
|
||||
public clearChatHistory(): void {
|
||||
const roleId = this.chatModel.getCurrentRoleId();
|
||||
if (!roleId) {
|
||||
console.warn("Cannot clear history: roleId is null");
|
||||
logger.warn("Cannot clear history: roleId is null");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -270,9 +271,9 @@ export class ChatController {
|
||||
// 清除模型中的对话记录
|
||||
this.chatModel.clearDialogs();
|
||||
|
||||
console.log(`Chat history cleared for role ${roleId}`);
|
||||
logger.log(`Chat history cleared for role ${roleId}`);
|
||||
} catch (error) {
|
||||
console.error("Failed to clear chat history:", error);
|
||||
logger.error("Failed to clear chat history:", error);
|
||||
this.handleError(error as Error);
|
||||
}
|
||||
}
|
||||
@@ -289,9 +290,9 @@ export class ChatController {
|
||||
// 清除模型中的对话记录
|
||||
this.chatModel.clearDialogs(roleId);
|
||||
|
||||
console.log(`Chat history cleared for role ${roleId}`);
|
||||
logger.log(`Chat history cleared for role ${roleId}`);
|
||||
} catch (error) {
|
||||
console.error(`Failed to clear chat history for role ${roleId}:`, error);
|
||||
logger.error(`Failed to clear chat history for role ${roleId}:`, error);
|
||||
this.handleError(error as Error);
|
||||
}
|
||||
}
|
||||
@@ -311,7 +312,7 @@ export class ChatController {
|
||||
this.chatModel.reset();
|
||||
this.callback = null;
|
||||
this.dialogManager = null;
|
||||
console.log("ChatController destroyed");
|
||||
logger.log("ChatController destroyed");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -356,7 +357,7 @@ export class ChatController {
|
||||
public loadDialogsFromHistory(roleId?: number): void {
|
||||
const targetRoleId = roleId || this.chatModel.getCurrentRoleId();
|
||||
if (!targetRoleId) {
|
||||
console.warn("Cannot load dialogs: no active role");
|
||||
logger.warn("Cannot load dialogs: no active role");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -373,7 +374,7 @@ export class ChatController {
|
||||
this.chatModel.addDialog(isPlayer, content, targetRoleId);
|
||||
});
|
||||
|
||||
console.log(
|
||||
logger.log(
|
||||
`Loaded ${chatHistory.length} messages from ChatHistoryManager for role ${targetRoleId}`
|
||||
);
|
||||
}
|
||||
@@ -384,7 +385,7 @@ export class ChatController {
|
||||
*/
|
||||
public syncDialogData(): void {
|
||||
if (!this.dialogManager || !this.chatModel.validate()) {
|
||||
console.warn(
|
||||
logger.warn(
|
||||
"Cannot sync dialog data: missing DialogManager or invalid ChatModel"
|
||||
);
|
||||
return;
|
||||
@@ -392,7 +393,7 @@ export class ChatController {
|
||||
|
||||
const dialogs = this.chatModel.getDialogs();
|
||||
this.dialogManager.syncFromChatModel(dialogs);
|
||||
console.log(
|
||||
logger.log(
|
||||
`Synced ${dialogs.length} dialogs from ChatModel to DialogManager`
|
||||
);
|
||||
}
|
||||
@@ -445,9 +446,9 @@ export class ChatController {
|
||||
// 清除模型中的角色数据
|
||||
this.chatModel.clearRoleData(roleId);
|
||||
|
||||
console.log(`All data cleared for role ${roleId}`);
|
||||
logger.log(`All data cleared for role ${roleId}`);
|
||||
} catch (error) {
|
||||
console.error(`Failed to clear all data for role ${roleId}:`, error);
|
||||
logger.error(`Failed to clear all data for role ${roleId}:`, error);
|
||||
this.handleError(error as Error);
|
||||
}
|
||||
}
|
||||
@@ -482,7 +483,7 @@ export class ChatController {
|
||||
*/
|
||||
private onEmotionUpdated(data: any): void {
|
||||
if (!data || !data.roleId || data.emotion === undefined) {
|
||||
console.warn("Invalid emotion update data:", data);
|
||||
logger.warn("Invalid emotion update data:", data);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -490,7 +491,7 @@ export class ChatController {
|
||||
|
||||
// 只处理当前角色的情绪更新
|
||||
if (roleId === this.chatModel.getCurrentRoleId()) {
|
||||
console.log(
|
||||
logger.log(
|
||||
`ChatController: Emotion updated for role ${roleId}: ${VideoEmotion[emotion]}`
|
||||
);
|
||||
|
||||
@@ -507,7 +508,7 @@ export class ChatController {
|
||||
* @param error 错误对象
|
||||
*/
|
||||
private handleError(error: Error): void {
|
||||
console.error("ChatController error:", error);
|
||||
logger.error("ChatController error:", error);
|
||||
this.callback?.onError(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import { ConfigManager } from "../manager/ConfigManager";
|
||||
import LanguageUtils, { LanguageType } from "../../Main/Common/LanguageUtils";
|
||||
import Utils from "../../Main/Common/Utils";
|
||||
import { InnerMsgCode } from "../../Main/Config/InnerMsgCode";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
/**
|
||||
* AI情绪分析服务类
|
||||
@@ -24,7 +25,7 @@ import { InnerMsgCode } from "../../Main/Config/InnerMsgCode";
|
||||
* ```typescript
|
||||
* const emotionService = EmotionAIService.Instance;
|
||||
* const emotion = await emotionService.analyzeEmotionalState(10001);
|
||||
* console.log(VideoEmotion[emotion]); // "calm_down"
|
||||
* logger.log(VideoEmotion[emotion]); // "calm_down"
|
||||
* ```
|
||||
*
|
||||
* @author AI Chat System
|
||||
@@ -86,7 +87,7 @@ export class EmotionAIService {
|
||||
});
|
||||
|
||||
this.emotionChatInstances.set(roleId, chat);
|
||||
console.log(`Created new emotion chat instance for role ${roleId}`);
|
||||
logger.log(`Created new emotion chat instance for role ${roleId}`);
|
||||
|
||||
// 异步分析历史情绪状态
|
||||
this.initializeEmotionAnalysis(roleId);
|
||||
@@ -106,7 +107,7 @@ export class EmotionAIService {
|
||||
let emotionalState: VideoEmotion;
|
||||
|
||||
if (messageCount > 0) {
|
||||
console.log(
|
||||
logger.log(
|
||||
`Analyzing emotional state for role ${roleId} based on ${messageCount} messages`
|
||||
);
|
||||
|
||||
@@ -115,11 +116,11 @@ export class EmotionAIService {
|
||||
if (emotionalState == null) {
|
||||
emotionalState = VideoEmotion.calm_down;
|
||||
}
|
||||
console.log(
|
||||
logger.log(
|
||||
`Initial emotional state for role ${roleId}: ${VideoEmotion[emotionalState]}`
|
||||
);
|
||||
} else {
|
||||
console.log(
|
||||
logger.log(
|
||||
`No history found for role ${roleId}, using default emotion: calm_down`
|
||||
);
|
||||
emotionalState = VideoEmotion.calm_down;
|
||||
@@ -131,11 +132,11 @@ export class EmotionAIService {
|
||||
emotion: emotionalState,
|
||||
});
|
||||
|
||||
console.log(
|
||||
logger.log(
|
||||
`Emotion initialization completed for role ${roleId}: ${VideoEmotion[emotionalState]}`
|
||||
);
|
||||
} catch (error) {
|
||||
console.error(
|
||||
logger.error(
|
||||
`Failed to initialize emotion analysis for role ${roleId}:`,
|
||||
error
|
||||
);
|
||||
@@ -209,7 +210,7 @@ export class EmotionAIService {
|
||||
});
|
||||
|
||||
if (response && response.text) {
|
||||
console.log(`Emotion analysis from role ${roleId}:`, response.text);
|
||||
logger.log(`Emotion analysis from role ${roleId}:`, response.text);
|
||||
return this.parseEmotionResponse(response.text);
|
||||
} else {
|
||||
const warningMsg = `情绪AI返回了空响应 (角色ID: ${roleId})`;
|
||||
@@ -297,7 +298,7 @@ export class EmotionAIService {
|
||||
if (this.emotionChatInstances.has(roleId)) {
|
||||
this.emotionChatInstances.delete(roleId);
|
||||
}
|
||||
console.log(`Cleared emotion chat history for role ${roleId}`);
|
||||
logger.log(`Cleared emotion chat history for role ${roleId}`);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -305,7 +306,7 @@ export class EmotionAIService {
|
||||
*/
|
||||
public clearAllEmotionHistory(): void {
|
||||
this.emotionChatInstances.clear();
|
||||
console.log("Cleared all emotion chat histories");
|
||||
logger.log("Cleared all emotion chat histories");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -331,7 +332,7 @@ export class EmotionAIService {
|
||||
*/
|
||||
private setCurrentEmotion(roleId: number, emotion: VideoEmotion): void {
|
||||
this.currentEmotions.set(roleId, emotion);
|
||||
console.log(`Updated emotion for role ${roleId}: ${VideoEmotion[emotion]}`);
|
||||
logger.log(`Updated emotion for role ${roleId}: ${VideoEmotion[emotion]}`);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -353,7 +354,7 @@ export class EmotionAIService {
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(`Failed to get role name for ${roleId}:`, error);
|
||||
logger.warn(`Failed to get role name for ${roleId}:`, error);
|
||||
}
|
||||
return "AI";
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import { DataManager, DataId } from "../data/DataManager";
|
||||
import { ThemeData } from "../data/ThemeData";
|
||||
import { GirlData } from "../data/GirlData";
|
||||
import { ShopData } from "../data/ShopData";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
import proto from "db://assets/Scripts/proto/proto.pb.js";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
@@ -30,7 +32,7 @@ export class MainController {
|
||||
* 初始化并预加载数据
|
||||
*/
|
||||
async init(): Promise<void> {
|
||||
console.log("[MainController] 开始初始化并预加载数据");
|
||||
logger.log("[MainController] 开始初始化并预加载数据");
|
||||
|
||||
// 并行预加载所有数据
|
||||
await Promise.all([
|
||||
@@ -39,7 +41,7 @@ export class MainController {
|
||||
this.preloadShopList()
|
||||
]);
|
||||
|
||||
console.log("[MainController] 数据预加载完成");
|
||||
logger.log("[MainController] 数据预加载完成");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -47,12 +49,12 @@ export class MainController {
|
||||
*/
|
||||
async preloadThemeData(): Promise<boolean> {
|
||||
if (this.isThemeDataPreloaded) {
|
||||
console.log("[MainController] 主题数据已预加载");
|
||||
logger.log("[MainController] 主题数据已预加载");
|
||||
return true;
|
||||
}
|
||||
|
||||
try {
|
||||
console.log("[MainController] 开始预加载主题数据");
|
||||
logger.log("[MainController] 开始预加载主题数据");
|
||||
const reqData = {};
|
||||
const res = await ThemeService.I.reqHallTheme(reqData);
|
||||
|
||||
@@ -61,14 +63,14 @@ export class MainController {
|
||||
const themeData = DataManager.I.getDataById<ThemeData>(DataId.Theme);
|
||||
themeData.themes = res.data;
|
||||
this.isThemeDataPreloaded = true;
|
||||
console.log("[MainController] 主题数据预加载成功");
|
||||
logger.log("[MainController] 主题数据预加载成功");
|
||||
return true;
|
||||
} else {
|
||||
console.warn("[MainController] 主题数据预加载失败:", res);
|
||||
logger.warn("[MainController] 主题数据预加载失败:", res);
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("[MainController] 主题数据预加载异常:", error);
|
||||
logger.error("[MainController] 主题数据预加载异常:", error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -78,12 +80,12 @@ export class MainController {
|
||||
*/
|
||||
async preloadDailyRecommend(): Promise<boolean> {
|
||||
if (this.isDailyRecommendPreloaded) {
|
||||
console.log("[MainController] 每日推荐数据已预加载");
|
||||
logger.log("[MainController] 每日推荐数据已预加载");
|
||||
return true;
|
||||
}
|
||||
|
||||
try {
|
||||
console.log("[MainController] 开始预加载每日推荐数据");
|
||||
logger.log("[MainController] 开始预加载每日推荐数据");
|
||||
const reqData = {};
|
||||
const res = await GirlService.I.reqDailyRecommend(reqData);
|
||||
|
||||
@@ -92,14 +94,14 @@ export class MainController {
|
||||
const girlData = DataManager.I.getDataById<GirlData>(DataId.Girl);
|
||||
girlData.setDailyRecommend(res.data);
|
||||
this.isDailyRecommendPreloaded = true;
|
||||
console.log("[MainController] 每日推荐数据预加载成功");
|
||||
logger.log("[MainController] 每日推荐数据预加载成功");
|
||||
return true;
|
||||
} else {
|
||||
console.warn("[MainController] 每日推荐数据预加载失败:", res);
|
||||
logger.warn("[MainController] 每日推荐数据预加载失败:", res);
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("[MainController] 每日推荐数据预加载异常:", error);
|
||||
logger.error("[MainController] 每日推荐数据预加载异常:", error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -109,12 +111,12 @@ export class MainController {
|
||||
*/
|
||||
async preloadShopList(): Promise<boolean> {
|
||||
if (this.isShopListPreloaded) {
|
||||
console.log("[MainController] 商品列表数据已预加载");
|
||||
logger.log("[MainController] 商品列表数据已预加载");
|
||||
return true;
|
||||
}
|
||||
|
||||
try {
|
||||
console.log("[MainController] 开始预加载商品列表数据");
|
||||
logger.log("[MainController] 开始预加载商品列表数据");
|
||||
const reqData = {};
|
||||
const res = await ShopService.I.reqShopList(reqData);
|
||||
|
||||
@@ -123,14 +125,14 @@ export class MainController {
|
||||
const shopData = DataManager.I.getDataById<ShopData>(DataId.Shop);
|
||||
shopData.goods = res.data;
|
||||
this.isShopListPreloaded = true;
|
||||
console.log("[MainController] 商品列表数据预加载成功");
|
||||
logger.log("[MainController] 商品列表数据预加载成功");
|
||||
return true;
|
||||
} else {
|
||||
console.warn("[MainController] 商品列表数据预加载失败:", res);
|
||||
logger.warn("[MainController] 商品列表数据预加载失败:", res);
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("[MainController] 商品列表数据预加载异常:", error);
|
||||
logger.error("[MainController] 商品列表数据预加载异常:", error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -161,14 +163,14 @@ export class MainController {
|
||||
this.isThemeDataPreloaded = false;
|
||||
this.isDailyRecommendPreloaded = false;
|
||||
this.isShopListPreloaded = false;
|
||||
console.log("[MainController] 预加载状态已重置");
|
||||
logger.log("[MainController] 预加载状态已重置");
|
||||
}
|
||||
|
||||
/**
|
||||
* 强制刷新主题数据
|
||||
*/
|
||||
async refreshThemeData(): Promise<boolean> {
|
||||
console.log("[MainController] 开始强制刷新主题数据");
|
||||
logger.log("[MainController] 开始强制刷新主题数据");
|
||||
try {
|
||||
const reqData = {};
|
||||
const res = await ThemeService.I.reqHallTheme(reqData);
|
||||
@@ -178,14 +180,14 @@ export class MainController {
|
||||
const themeData = DataManager.I.getDataById<ThemeData>(DataId.Theme);
|
||||
themeData.themes = res.data;
|
||||
this.isThemeDataPreloaded = true;
|
||||
console.log("[MainController] 主题数据刷新成功");
|
||||
logger.log("[MainController] 主题数据刷新成功");
|
||||
return true;
|
||||
} else {
|
||||
console.warn("[MainController] 主题数据刷新失败:", res);
|
||||
logger.warn("[MainController] 主题数据刷新失败:", res);
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("[MainController] 主题数据刷新异常:", error);
|
||||
logger.error("[MainController] 主题数据刷新异常:", error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -194,7 +196,7 @@ export class MainController {
|
||||
* 强制刷新每日推荐数据
|
||||
*/
|
||||
async refreshDailyRecommend(): Promise<boolean> {
|
||||
console.log("[MainController] 开始强制刷新每日推荐数据");
|
||||
logger.log("[MainController] 开始强制刷新每日推荐数据");
|
||||
try {
|
||||
const reqData = {};
|
||||
const res = await GirlService.I.reqDailyRecommend(reqData);
|
||||
@@ -204,14 +206,14 @@ export class MainController {
|
||||
const girlData = DataManager.I.getDataById<GirlData>(DataId.Girl);
|
||||
girlData.setDailyRecommend(res.data);
|
||||
this.isDailyRecommendPreloaded = true;
|
||||
console.log("[MainController] 每日推荐数据刷新成功");
|
||||
logger.log("[MainController] 每日推荐数据刷新成功");
|
||||
return true;
|
||||
} else {
|
||||
console.warn("[MainController] 每日推荐数据刷新失败:", res);
|
||||
logger.warn("[MainController] 每日推荐数据刷新失败:", res);
|
||||
return false;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("[MainController] 每日推荐数据刷新异常:", error);
|
||||
logger.error("[MainController] 每日推荐数据刷新异常:", error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import { AiCharacterConfig } from "../config/AiCharacterConfig";
|
||||
import { DataId, DataManager } from "../data/DataManager";
|
||||
import { GlobalData } from "../data/GlobalData";
|
||||
import { ConfigId, ConfigManager } from "../manager/ConfigManager";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
/**
|
||||
* 角色配置映射
|
||||
@@ -25,8 +26,8 @@ export class RoleConfigLoader {
|
||||
const globalPrompt = globalConfig.getGirlBasePrompt();
|
||||
const prompt = globalPrompt + "\n" + basePrompt + "\n" + additionPrompt;
|
||||
|
||||
console.log(basePrompt);
|
||||
console.log(additionPrompt);
|
||||
logger.log(basePrompt);
|
||||
logger.log(additionPrompt);
|
||||
return prompt;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user