日志控制
This commit is contained in:
@@ -64,7 +64,7 @@ export default class GameRootUI extends Component {
|
||||
callback?: Function
|
||||
) {
|
||||
if (!this.defaultView) {
|
||||
console.warn("GameRootUI: defaultView not found");
|
||||
logger.warn("GameRootUI: defaultView not found");
|
||||
callback && callback();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -89,12 +89,12 @@ export default class HttpUnit {
|
||||
}
|
||||
};
|
||||
xhr.onerror = (error) => {
|
||||
console.error("http request onerror");
|
||||
logger.error("http request onerror");
|
||||
SubManager.ShowPrompt("网络错误,请检查网络连接");
|
||||
reason(error)
|
||||
};
|
||||
xhr.ontimeout = (e) => {
|
||||
console.error("http request timeout");
|
||||
logger.error("http request timeout");
|
||||
SubManager.ShowPrompt("网络错误,请检查网络连接");
|
||||
reason(e)
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { _decorator, Component, Label, Node } from "cc";
|
||||
import LanguageUtils, { LanguageType } from "./LanguageUtils";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
const { ccclass, property, requireComponent } = _decorator;
|
||||
|
||||
@@ -30,7 +31,7 @@ export class LanguageLabel extends Component {
|
||||
onLoad() {
|
||||
this.label = this.getComponent(Label);
|
||||
if (!this.label) {
|
||||
console.error("LanguageLabel: Label component not found!");
|
||||
logger.error("LanguageLabel: Label component not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ const { ccclass, property, disallowMultiple, menu, executionOrder, requireCompon
|
||||
import { Node, Component, Enum, tween, _decorator, EventHandler, Tween, ScrollView, Prefab, Layout, Vec2, Size, NodePool, isValid, instantiate, Vec3, Widget, UITransform, CCFloat, CCBoolean, CCInteger } from 'cc';
|
||||
import { DEV } from 'cc/env';
|
||||
import ScrollViewListItem from './ScrollviewListItem';
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
enum TemplateType {
|
||||
NODE = 1,
|
||||
@@ -263,7 +264,7 @@ export default class HXZ_ScrollViewList extends Component {
|
||||
if (!t.checkInited(false))
|
||||
return;
|
||||
if (val == null || val < 0) {
|
||||
console.error('numItems set the wrong::', val);
|
||||
logger.error('numItems set the wrong::', val);
|
||||
return;
|
||||
}
|
||||
t._actualNumItems = t._numItems = val;
|
||||
@@ -464,7 +465,7 @@ export default class HXZ_ScrollViewList extends Component {
|
||||
t.content = t._scrollView.content;
|
||||
t._contentUt = t.content.getComponent(UITransform);
|
||||
if (!t.content) {
|
||||
console.error(t.node.name + "'s ScrollView unset content!");
|
||||
logger.error(t.node.name + "'s ScrollView unset content!");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -728,7 +729,7 @@ export default class HXZ_ScrollViewList extends Component {
|
||||
checkInited(printLog: boolean = true) {
|
||||
if (!this._inited) {
|
||||
if (printLog)
|
||||
console.error('List initialization not completed!');
|
||||
logger.error('List initialization not completed!');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -1847,13 +1848,13 @@ export default class HXZ_ScrollViewList extends Component {
|
||||
let t: any = this;
|
||||
|
||||
if (!t.checkInited() || t.cyclic || !t._virtual)
|
||||
return console.error('This function is not allowed to be called!');
|
||||
return logger.error('This function is not allowed to be called!');
|
||||
|
||||
if (!callFunc)
|
||||
return console.error('CallFunc are not allowed to be NULL, You need to delete the corresponding index in the data array in the CallFunc!');
|
||||
return logger.error('CallFunc are not allowed to be NULL, You need to delete the corresponding index in the data array in the CallFunc!');
|
||||
|
||||
if (t._aniDelRuning)
|
||||
return console.warn('Please wait for the current deletion to finish!');
|
||||
return logger.warn('Please wait for the current deletion to finish!');
|
||||
|
||||
let item: any = t.getItemByListId(listId);
|
||||
let listItem: ScrollViewListItem;
|
||||
@@ -1969,7 +1970,7 @@ export default class HXZ_ScrollViewList extends Component {
|
||||
|
||||
let pos = t.getItemPos(listId);
|
||||
if (!pos) {
|
||||
return DEV && console.error('pos is null', listId);
|
||||
return DEV && logger.error('pos is null', listId);
|
||||
}
|
||||
let targetX: number, targetY: number;
|
||||
|
||||
@@ -2150,7 +2151,7 @@ export default class HXZ_ScrollViewList extends Component {
|
||||
if (!t.checkInited())
|
||||
return;
|
||||
if (t._slideMode != SlideType.PAGE)
|
||||
return console.error('This function is not allowed to be called, Must SlideMode = PAGE!');
|
||||
return logger.error('This function is not allowed to be called, Must SlideMode = PAGE!');
|
||||
if (pageNum < 0 || pageNum >= t._numItems)
|
||||
return;
|
||||
if (t.curPageNum == pageNum)
|
||||
@@ -2168,9 +2169,9 @@ export default class HXZ_ScrollViewList extends Component {
|
||||
if (!t.checkInited())
|
||||
return;
|
||||
if (!t._itemTmp)
|
||||
return console.error('Unset template item!');
|
||||
return logger.error('Unset template item!');
|
||||
if (!t.renderEvent)
|
||||
return console.error('Unset Render-Event!');
|
||||
return logger.error('Unset Render-Event!');
|
||||
t._customSize = {};
|
||||
let temp: any = instantiate(t._itemTmp);
|
||||
let ut: UITransform = temp.getComponent(UITransform);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { _decorator } from "cc";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@@ -85,7 +86,7 @@ export default class li_EventManager {
|
||||
try {
|
||||
handler[0].apply(handler[1], param);
|
||||
} catch (e) {
|
||||
console.error("innerErr:" + e.stack);
|
||||
logger.error("innerErr:" + e.stack);
|
||||
}
|
||||
}
|
||||
if (handlerArray.length != length) {
|
||||
|
||||
@@ -362,7 +362,7 @@ export default class ResManager {
|
||||
loadRemoteAudio(url: string, cb: Function = null) {
|
||||
assetManager.loadRemote<AudioClip>(url, (err, res: AudioClip) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
logger.error(err);
|
||||
return;
|
||||
}
|
||||
cb && cb(res);
|
||||
|
||||
@@ -8,6 +8,7 @@ import { CommAdDialog } from "./Item/CommAdDialog";
|
||||
import Utils from "../Main/Common/Utils";
|
||||
import { InnerMsgCode } from "../Main/Config/InnerMsgCode";
|
||||
import { TipsPanel } from "../chat18x/ui/panels/TipsPanel";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@@ -34,7 +35,7 @@ export default class SubManager {
|
||||
/**通用确认框 { content: string, strYes?: string, strNo?: string, yesCallback?: Function, noCallback?: Function, closeCallback?: Function } */
|
||||
public static ShowConfirm(param: any) {
|
||||
if (!GameRootUI.I) {
|
||||
console.warn("GameRootUI还未初始化", param);
|
||||
logger.warn("GameRootUI还未初始化", param);
|
||||
return;
|
||||
}
|
||||
ResManager.I.loadSubpackagePrefab("item/ConfirmDialog", (n_node: Node) => {
|
||||
@@ -48,7 +49,7 @@ export default class SubManager {
|
||||
/**通用广告框 { content: string, strAd?: string, strLeft?: string, adCallback?: Function, leftCallback?: Function, closeCallback?: Function } */
|
||||
public static ShowCommonAdDialog(param: any) {
|
||||
if (!GameRootUI.I) {
|
||||
console.warn("GameRootUI还未初始化", param);
|
||||
logger.warn("GameRootUI还未初始化", param);
|
||||
return;
|
||||
}
|
||||
ResManager.I.loadSubpackagePrefab("item/CommAdDialog", (n_node: Node) => {
|
||||
|
||||
@@ -95,7 +95,7 @@ export class SceneBgVideoLayer extends li_BaseView {
|
||||
}
|
||||
) {
|
||||
if (!this.videoPlayer) {
|
||||
console.error("SceneBgVideoLayer: VideoPlayer未初始化");
|
||||
logger.error("SceneBgVideoLayer: VideoPlayer未初始化");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -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密钥 */
|
||||
@@ -60,7 +61,7 @@ export class ApiConfig {
|
||||
).getTimeout(), // 30秒
|
||||
};
|
||||
|
||||
//console.warn(this.config.apiKey);
|
||||
//logger.warn(this.config.apiKey);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -97,7 +98,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");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,11 +111,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;
|
||||
|
||||
@@ -269,7 +269,7 @@ export class ChatAIService {
|
||||
message,
|
||||
response.text
|
||||
).catch((emotionError) => {
|
||||
console.warn(
|
||||
logger.warn(
|
||||
`Failed to update emotion for role ${roleId}:`,
|
||||
emotionError
|
||||
);
|
||||
|
||||
@@ -357,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;
|
||||
}
|
||||
|
||||
@@ -508,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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -354,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";
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
*/
|
||||
import { BaseData } from "./BaseData";
|
||||
import proto from "db://assets/Scripts/proto/proto.pb.js";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
// 数据结构
|
||||
export interface AiCharacters {
|
||||
@@ -69,7 +70,7 @@ export class AiCharacterData extends BaseData {
|
||||
try {
|
||||
parsed = JSON.parse(data.data);
|
||||
} catch (e) {
|
||||
console.warn("AiCharacterData JSON 解析失败", e);
|
||||
logger.warn("AiCharacterData JSON 解析失败", e);
|
||||
return;
|
||||
}
|
||||
// 解析数据
|
||||
|
||||
@@ -108,7 +108,7 @@ export class ChatModel {
|
||||
//const roleDetail = ConfigManager.tables.TbGirlsDetail.get(roleId);
|
||||
|
||||
if (!girlData) {
|
||||
console.error(`ChatModel: Role data not found for roleId ${girlId}`);
|
||||
logger.error(`ChatModel: Role data not found for roleId ${girlId}`);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ export class ChatModel {
|
||||
|
||||
return newRoleData;
|
||||
} catch (error) {
|
||||
console.error(
|
||||
logger.error(
|
||||
`ChatModel: Failed to create role data for ${girlId}:`,
|
||||
error
|
||||
);
|
||||
@@ -208,18 +208,18 @@ export class ChatModel {
|
||||
public addDialog(isPlayer: boolean, content: string, roleId?: number): void {
|
||||
const targetRoleId = roleId || this.currentGirlId;
|
||||
if (!targetRoleId) {
|
||||
console.warn("ChatModel: Cannot add dialog - no active role");
|
||||
logger.warn("ChatModel: Cannot add dialog - no active role");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!content || content.trim() === "") {
|
||||
console.warn("ChatModel: Cannot add empty dialog content");
|
||||
logger.warn("ChatModel: Cannot add empty dialog content");
|
||||
return;
|
||||
}
|
||||
|
||||
const roleData = this.rolesData.get(targetRoleId);
|
||||
if (!roleData) {
|
||||
console.warn(`ChatModel: Role data not found for roleId ${targetRoleId}`);
|
||||
logger.warn(`ChatModel: Role data not found for roleId ${targetRoleId}`);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ export class DataManager {
|
||||
*/
|
||||
private register<T extends BaseData>(dataId: string, ctor: DataCtor<T>): void {
|
||||
if (this._config.has(dataId)) {
|
||||
console.warn(`[DataManager] 重复注册数据ID: ${dataId},将覆盖旧构造器`);
|
||||
logger.warn(`[DataManager] 重复注册数据ID: ${dataId},将覆盖旧构造器`);
|
||||
}
|
||||
this._config.set(dataId, ctor);
|
||||
}
|
||||
@@ -108,7 +108,7 @@ export class DataManager {
|
||||
// 缓存没有→ 查找构造器
|
||||
const Ctor = this._config.get(dataId) as DataCtor<T> | undefined;
|
||||
if (!Ctor) {
|
||||
console.warn(`[DataManager] 未找到 dataId 的构造器配置: ${dataId}`);
|
||||
logger.warn(`[DataManager] 未找到 dataId 的构造器配置: ${dataId}`);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ export class ConfigManager {
|
||||
ctor: DataCtor<T>
|
||||
): void {
|
||||
if (this._config.has(configId)) {
|
||||
console.warn(
|
||||
logger.warn(
|
||||
`[ConfigManager] 重复注册数据ID: ${configId},将覆盖旧构造器`
|
||||
);
|
||||
}
|
||||
@@ -147,7 +147,7 @@ export class ConfigManager {
|
||||
// 缓存没有→ 查找构造器
|
||||
const Ctor = this._config.get(configId) as DataCtor<T> | undefined;
|
||||
if (!Ctor) {
|
||||
console.warn(`[ConfigManager] 未找到 configId 的构造器配置: ${configId}`);
|
||||
logger.warn(`[ConfigManager] 未找到 configId 的构造器配置: ${configId}`);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -316,12 +316,12 @@ export class NavigationManager {
|
||||
animationConfig?: SubPanelAnimationConfig
|
||||
) {
|
||||
if (!panelName) {
|
||||
console.error("[NavigationManager] openSubPanel: panelName is empty");
|
||||
logger.error("[NavigationManager] openSubPanel: panelName is empty");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!basePanel || !basePanel.isValid) {
|
||||
console.error("[NavigationManager] openSubPanel: basePanel is invalid");
|
||||
logger.error("[NavigationManager] openSubPanel: basePanel is invalid");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -335,7 +335,7 @@ export class NavigationManager {
|
||||
|
||||
const callback = (n: Node) => {
|
||||
if (!n || !n.isValid) {
|
||||
console.error(
|
||||
logger.error(
|
||||
"[NavigationManager] openSubPanel: created panel is invalid"
|
||||
);
|
||||
return;
|
||||
@@ -352,7 +352,7 @@ export class NavigationManager {
|
||||
if (basePanelType) {
|
||||
this.subPanelMapping.set(n, basePanelType);
|
||||
} else {
|
||||
console.warn(
|
||||
logger.warn(
|
||||
`[NavigationManager] 无法确定basePanel类型: ${basePanel.name}`
|
||||
);
|
||||
}
|
||||
@@ -646,7 +646,7 @@ export class NavigationManager {
|
||||
}
|
||||
|
||||
if (!panelNode || !panelNode.isValid) {
|
||||
console.warn("[NavigationManager] closeSubPanel: panelNode is invalid");
|
||||
logger.warn("[NavigationManager] closeSubPanel: panelNode is invalid");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -676,7 +676,7 @@ export class NavigationManager {
|
||||
panel.close();
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("[NavigationManager] closeSubPanel error:", error);
|
||||
logger.error("[NavigationManager] closeSubPanel error:", error);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -700,7 +700,7 @@ export class NavigationManager {
|
||||
this.subPanelDic.delete(baseNode);
|
||||
}
|
||||
} else {
|
||||
console.warn(
|
||||
logger.warn(
|
||||
`[NavigationManager] ${panelNode.name} 不在子页面列表中`
|
||||
);
|
||||
}
|
||||
@@ -734,7 +734,7 @@ export class NavigationManager {
|
||||
}
|
||||
private getPanelType(node: Node): PanelType {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("[NavigationManager] getPanelType: node is invalid");
|
||||
logger.warn("[NavigationManager] getPanelType: node is invalid");
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -748,7 +748,7 @@ export class NavigationManager {
|
||||
case "PersonalPanel":
|
||||
return PanelType.PERSONAL;
|
||||
default:
|
||||
console.warn(
|
||||
logger.warn(
|
||||
`[NavigationManager] Unknown panel type for node: ${node.name}`
|
||||
);
|
||||
return null;
|
||||
|
||||
@@ -308,7 +308,7 @@ export class ChatPanel extends li_BaseView implements IChatPanelCallback {
|
||||
|
||||
private switchVideoByEmotion(emotion: VideoEmotion): void {
|
||||
if (!this.videoLayer) {
|
||||
console.warn("Cannot switch video: missing video player");
|
||||
logger.warn("Cannot switch video: missing video player");
|
||||
return;
|
||||
}
|
||||
// Get video data from ChatModel through ChatController
|
||||
@@ -472,7 +472,7 @@ export class ChatPanel extends li_BaseView implements IChatPanelCallback {
|
||||
* @param error 错误信息
|
||||
*/
|
||||
public onError(error: Error): void {
|
||||
console.error("Chat error:", error);
|
||||
logger.error("Chat error:", error);
|
||||
// 出错时加载动画会被自动移除,可以在这里显示错误提示给用户
|
||||
}
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ export class GirlDetailPanel extends li_BaseView {
|
||||
}
|
||||
|
||||
// 如果没有 videoArea,使用默认尺寸
|
||||
console.warn("GirlDetailPanel: videoArea 未设置,使用默认尺寸");
|
||||
logger.warn("GirlDetailPanel: videoArea 未设置,使用默认尺寸");
|
||||
return new Size(600, 800);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
isValid,
|
||||
Node,
|
||||
} from "cc";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
const { ccclass } = _decorator;
|
||||
|
||||
@@ -28,12 +29,12 @@ export class ParentResize extends Component {
|
||||
this.uiTransform = this.getComponent(UITransform);
|
||||
|
||||
if (!this.sprite) {
|
||||
console.warn("ParentResize: 未找到 Sprite 组件");
|
||||
logger.warn("ParentResize: 未找到 Sprite 组件");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.uiTransform) {
|
||||
console.warn("ParentResize: 未找到 UITransform 组件");
|
||||
logger.warn("ParentResize: 未找到 UITransform 组件");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -41,11 +42,11 @@ export class ParentResize extends Component {
|
||||
if (this.node.parent) {
|
||||
this.parentTransform = this.node.parent.getComponent(UITransform);
|
||||
if (!this.parentTransform) {
|
||||
console.warn("ParentResize: 父物体未找到 UITransform 组件");
|
||||
logger.warn("ParentResize: 父物体未找到 UITransform 组件");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
console.warn("ParentResize: 未找到父物体");
|
||||
logger.warn("ParentResize: 未找到父物体");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -119,7 +120,7 @@ export class ParentResize extends Component {
|
||||
this.lastParentSize.set(0, 0); // 重置上次记录的尺寸
|
||||
this.adjustToParent();
|
||||
} else {
|
||||
console.warn("ParentResize: 新父物体未找到 UITransform 组件");
|
||||
logger.warn("ParentResize: 新父物体未找到 UITransform 组件");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
Size,
|
||||
isValid,
|
||||
} from "cc";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
const { ccclass } = _decorator;
|
||||
|
||||
@@ -27,12 +28,12 @@ export class SpriteResize extends Component {
|
||||
this.uiTransform = this.getComponent(UITransform);
|
||||
|
||||
if (!this.sprite) {
|
||||
console.warn("SpriteResize: 未找到 Sprite 组件");
|
||||
logger.warn("SpriteResize: 未找到 Sprite 组件");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.uiTransform) {
|
||||
console.warn("SpriteResize: 未找到 UITransform 组件");
|
||||
logger.warn("SpriteResize: 未找到 UITransform 组件");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
view,
|
||||
UIOpacity,
|
||||
} from "cc";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@@ -33,7 +34,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for slideInFromRight");
|
||||
logger.warn("UITransitionHelper: Invalid node for slideInFromRight");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -73,7 +74,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for slideOutToLeft");
|
||||
logger.warn("UITransitionHelper: Invalid node for slideOutToLeft");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -115,7 +116,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for slideInFromLeft");
|
||||
logger.warn("UITransitionHelper: Invalid node for slideInFromLeft");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -155,7 +156,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for slideOutToRight");
|
||||
logger.warn("UITransitionHelper: Invalid node for slideOutToRight");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -197,7 +198,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for slideInFromTop");
|
||||
logger.warn("UITransitionHelper: Invalid node for slideInFromTop");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -237,7 +238,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for slideOutToTop");
|
||||
logger.warn("UITransitionHelper: Invalid node for slideOutToTop");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -279,7 +280,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for slideInFromBottom");
|
||||
logger.warn("UITransitionHelper: Invalid node for slideInFromBottom");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -319,7 +320,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for slideOutToBottom");
|
||||
logger.warn("UITransitionHelper: Invalid node for slideOutToBottom");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -361,7 +362,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for fadeIn");
|
||||
logger.warn("UITransitionHelper: Invalid node for fadeIn");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -402,7 +403,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for fadeOut");
|
||||
logger.warn("UITransitionHelper: Invalid node for fadeOut");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -440,7 +441,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for scaleIn");
|
||||
logger.warn("UITransitionHelper: Invalid node for scaleIn");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -471,7 +472,7 @@ export class UITransitionHelper {
|
||||
callback?: Function
|
||||
): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for scaleOut");
|
||||
logger.warn("UITransitionHelper: Invalid node for scaleOut");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -493,7 +494,7 @@ export class UITransitionHelper {
|
||||
*/
|
||||
public static stopAllTweens(node: Node): void {
|
||||
if (!node || !node.isValid) {
|
||||
console.warn("UITransitionHelper: Invalid node for stopAllTweens");
|
||||
logger.warn("UITransitionHelper: Invalid node for stopAllTweens");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { Sprite, SpriteFrame, Texture2D, ImageAsset, Node } from 'cc';
|
||||
import qrcode from 'qrcode-generator';
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
/**
|
||||
* 二维码生成工具类
|
||||
@@ -17,7 +18,7 @@ export class QRCodeGenerator {
|
||||
public static generateQRCodeSprite(text: string, size: number = 256, margin: number = 4, callback?: (sprite: Sprite | null) => void): void {
|
||||
try {
|
||||
if (!text || text.trim().length === 0) {
|
||||
console.error('QRCodeGenerator: 文本内容不能为空');
|
||||
logger.error('QRCodeGenerator: 文本内容不能为空');
|
||||
callback && callback(null);
|
||||
return;
|
||||
}
|
||||
@@ -36,12 +37,12 @@ export class QRCodeGenerator {
|
||||
|
||||
callback && callback(sprite);
|
||||
} catch (error) {
|
||||
console.error('QRCodeGenerator: 创建Sprite组件失败', error);
|
||||
logger.error('QRCodeGenerator: 创建Sprite组件失败', error);
|
||||
callback && callback(null);
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('QRCodeGenerator: 生成二维码Sprite失败', error);
|
||||
logger.error('QRCodeGenerator: 生成二维码Sprite失败', error);
|
||||
callback && callback(null);
|
||||
}
|
||||
}
|
||||
@@ -56,13 +57,13 @@ export class QRCodeGenerator {
|
||||
public static generateQRCodeSpriteFrame(text: string, size: number = 256, margin: number = 4, callback?: (spriteFrame: SpriteFrame | null) => void): void {
|
||||
try {
|
||||
if (!text || text.trim().length === 0) {
|
||||
console.error('QRCodeGenerator: 文本内容不能为空');
|
||||
logger.error('QRCodeGenerator: 文本内容不能为空');
|
||||
callback && callback(null);
|
||||
return;
|
||||
}
|
||||
|
||||
if (size <= 0 || size > 2048) {
|
||||
console.error('QRCodeGenerator: 尺寸必须在1-2048之间');
|
||||
logger.error('QRCodeGenerator: 尺寸必须在1-2048之间');
|
||||
callback && callback(null);
|
||||
return;
|
||||
}
|
||||
@@ -83,7 +84,7 @@ export class QRCodeGenerator {
|
||||
const ctx = canvas.getContext('2d');
|
||||
|
||||
if (!ctx) {
|
||||
console.error('QRCodeGenerator: 无法获取Canvas上下文');
|
||||
logger.error('QRCodeGenerator: 无法获取Canvas上下文');
|
||||
callback && callback(null);
|
||||
return;
|
||||
}
|
||||
@@ -124,13 +125,13 @@ export class QRCodeGenerator {
|
||||
|
||||
callback && callback(spriteFrame);
|
||||
} catch (error) {
|
||||
console.error('QRCodeGenerator: 创建纹理失败', error);
|
||||
logger.error('QRCodeGenerator: 创建纹理失败', error);
|
||||
callback && callback(null);
|
||||
}
|
||||
};
|
||||
|
||||
img.onerror = () => {
|
||||
console.error('QRCodeGenerator: 图片加载失败');
|
||||
logger.error('QRCodeGenerator: 图片加载失败');
|
||||
callback && callback(null);
|
||||
};
|
||||
|
||||
@@ -138,7 +139,7 @@ export class QRCodeGenerator {
|
||||
img.src = canvas.toDataURL('image/png');
|
||||
|
||||
} catch (error) {
|
||||
console.error('QRCodeGenerator: 生成二维码SpriteFrame失败', error);
|
||||
logger.error('QRCodeGenerator: 生成二维码SpriteFrame失败', error);
|
||||
callback && callback(null);
|
||||
}
|
||||
}
|
||||
@@ -153,7 +154,7 @@ export class QRCodeGenerator {
|
||||
public static generateQRCodeBase64(text: string, size: number = 256, margin: number = 4): string {
|
||||
try {
|
||||
if (!text || text.trim().length === 0) {
|
||||
console.error('QRCodeGenerator: 文本内容不能为空');
|
||||
logger.error('QRCodeGenerator: 文本内容不能为空');
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -173,7 +174,7 @@ export class QRCodeGenerator {
|
||||
const ctx = canvas.getContext('2d');
|
||||
|
||||
if (!ctx) {
|
||||
console.error('QRCodeGenerator: 无法获取Canvas上下文');
|
||||
logger.error('QRCodeGenerator: 无法获取Canvas上下文');
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -199,7 +200,7 @@ export class QRCodeGenerator {
|
||||
// 返回Base64字符串
|
||||
return canvas.toDataURL('image/png');
|
||||
} catch (error) {
|
||||
console.error('QRCodeGenerator: 生成二维码Base64失败', error);
|
||||
logger.error('QRCodeGenerator: 生成二维码Base64失败', error);
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user