- 基于 openim-electron-demo 改造:工号+密码登录(自研账号服务)、会话列表/聊天窗/通讯录界面重做
- 文字/语音/文件/图片消息、文件拖拽发送、表情面板、一对一语音通话(LiveKit)
- RTC 令牌对接账号服务带鉴权版 /api/rtc_token(Bearer imToken + {room,identity})
- account-service: CORS Allow-Headers 补 authorization(浏览器/渲染进程跨域调 rtc_token 需要)
- 附本地 mock 账号服务(scripts/mock-account-server.js)与截图联调脚本
18 lines
692 B
TypeScript
18 lines
692 B
TypeScript
import log from "electron-log/main";
|
|
import { join } from "node:path";
|
|
import fs from "fs";
|
|
|
|
const getLogger = (logsPath: string) => {
|
|
log.transports.file.level = "debug";
|
|
log.transports.file.maxSize = 104857600; // max size 100M
|
|
log.transports.file.format = "[{y}-{m}-{d} {h}:{i}:{s}.{ms}] [{level}]{scope} {text}";
|
|
let date = new Date();
|
|
// let dateStr = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
|
|
// log.transports.file.resolvePathFn = () => join(logsPath, `log${dateStr}.log`);
|
|
log.transports.file.resolvePathFn = () => join(logsPath, `OpenIM.log`);
|
|
log.initialize({ preload: true });
|
|
return log.scope("ipcMain");
|
|
};
|
|
|
|
export { getLogger };
|