- shared/types/logging.ts: 新增 canvas + canvas-window 日志分类 - nav-config.ts: 移除合规素材库导航项 (合规素材库页面待后续实现) - package.json + lock: 补充 zustand 依赖声明 - tsconfig.node.json: 补充 @shared/* 路径别名 (主进程导入) - .gitignore: 排除 infinite_canvas_140 目录 Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
1.8 KiB
TypeScript
56 lines
1.8 KiB
TypeScript
// ============================================================
|
||
// 日志模块 — 共享类型定义(主进程 + 渲染进程双端使用)
|
||
// ============================================================
|
||
|
||
/** 日志级别 */
|
||
export type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
|
||
|
||
/** 日志分类 */
|
||
export type LogCategory =
|
||
| 'request' // HTTP 请求相关
|
||
| 'auth' // 登录 / Token / 权限
|
||
| 'updater' // 自动更新
|
||
| 'event' // 事件总线
|
||
| 'app' // 应用生命周期
|
||
| 'ui' // UI 层错误 / 警告
|
||
| 'ipc' // IPC 通信
|
||
| 'safe-storage' // 安全存储(safeStorage 加密/解密)
|
||
| 'storage' // 本地存储(IndexedDB / sql.js / 文件缓存)
|
||
| 'canvas' // 无限画布 IPC 处理
|
||
| 'canvas-window'; // 画布窗口生命周期
|
||
|
||
/**
|
||
* 结构化错误快照
|
||
* Error 对象不可 JSON 序列化,提取关键字段保存
|
||
*/
|
||
export interface LogErrorSnapshot {
|
||
/** 错误名称(Error.name 或 constructor name) */
|
||
name: string;
|
||
/** 错误消息 */
|
||
message: string;
|
||
/** 堆栈信息(可选,按需记录以节省空间) */
|
||
stack?: string;
|
||
/** 原始错误链(cause)的消息摘要 */
|
||
cause?: string;
|
||
}
|
||
|
||
/**
|
||
* 单条日志条目(JSON Lines 中的一行)
|
||
*/
|
||
export interface LogEntry {
|
||
/** ISO 8601 时间戳(例如 "2026-06-04T10:30:00.123Z") */
|
||
timestamp: string;
|
||
/** 日志级别 */
|
||
level: LogLevel;
|
||
/** 日志分类 */
|
||
category: LogCategory;
|
||
/** 日志消息(简短描述) */
|
||
message: string;
|
||
/** 日志来源进程 */
|
||
processType: 'main' | 'renderer';
|
||
/** 附加上下文(需 JSON 可序列化) */
|
||
context?: Record<string, unknown>;
|
||
/** 错误快照(仅在 warn / error 级别时填充) */
|
||
error?: LogErrorSnapshot;
|
||
}
|