Skip to content

Commit 43a018f

Browse files
committed
✨ feat: 完善 socket 通信
1 parent 8a11f72 commit 43a018f

13 files changed

Lines changed: 319 additions & 50 deletions

File tree

electron/main/ipc/ipc-lyric.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,15 @@ const initLyricIpc = (): void => {
167167
});
168168

169169
// 关闭桌面歌词
170-
ipcMain.on("closeDesktopLyric", () => {
170+
ipcMain.on("close-desktop-lyric", () => {
171171
const mainWin = mainWindow.getWin();
172172
if (!isWinAlive(lyricWin) || !isWinAlive(mainWin)) return;
173173
lyricWin.hide();
174-
mainWin?.webContents.send("closeDesktopLyric");
174+
mainWin?.webContents.send("close-desktop-lyric");
175175
});
176176

177177
// 锁定/解锁桌面歌词
178-
ipcMain.on("toogleDesktopLyricLock", (_, isLock: boolean, isTemp: boolean = false) => {
178+
ipcMain.on("toggle-desktop-lyric-lock", (_, isLock: boolean, isTemp: boolean = false) => {
179179
const mainWin = mainWindow.getWin();
180180
if (!isWinAlive(lyricWin) || !isWinAlive(mainWin)) return;
181181
// 是否穿透

electron/main/ipc/ipc-socket.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,29 @@ const initSocketIpc = (): void => {
7878
});
7979
},
8080
);
81+
82+
// 音频事件广播
83+
ipcMain.on("play-status-change", (_, status) => {
84+
socketService.broadcast({
85+
type: "status-change",
86+
data: { status, timestamp: Date.now() },
87+
});
88+
});
89+
ipcMain.on("play-lyric-change", (_, lyricData) => {
90+
// 是否存在歌词
91+
const { lrcData, yrcData } = lyricData;
92+
if (!lrcData && !yrcData) return;
93+
socketService.broadcast({
94+
type: "lyric-change",
95+
data: { lrcData, yrcData, timestamp: Date.now() },
96+
});
97+
});
98+
ipcMain.on("play-song-change", (_, options) => {
99+
socketService.broadcast({
100+
type: "song-change",
101+
data: { ...options, timestamp: Date.now() },
102+
});
103+
});
81104
};
82105

83106
export default initSocketIpc;

electron/main/ipc/ipc-tray.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ const initTrayIpc = (): void => {
1818
});
1919

2020
// 音乐名称更改
21-
ipcMain.on("play-song-change", (_, title) => {
21+
ipcMain.on("play-song-change", (_, options) => {
22+
let { title } = options;
2223
if (!title) title = appName;
2324
// 更改标题
2425
tray?.setTitle(title);
@@ -41,7 +42,7 @@ const initTrayIpc = (): void => {
4142
});
4243

4344
// 锁定/解锁桌面歌词
44-
ipcMain.on("toogleDesktopLyricLock", (_, isLock: boolean) => {
45+
ipcMain.on("toggle-desktop-lyric-lock", (_, isLock: boolean) => {
4546
tray?.setDesktopLyricLock(isLock);
4647
});
4748
};

electron/main/ipc/ipc-window.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ const initWindowsIpc = (): void => {
112112
});
113113

114114
// 向主窗口发送事件
115-
ipcMain.on("send-to-mainWin", (_, eventName, ...args) => {
115+
ipcMain.on("send-to-main-win", (_, eventName, ...args) => {
116116
const mainWin = mainWindow.getWin();
117117
if (!mainWin || mainWin.isDestroyed() || mainWin.webContents.isDestroyed()) return;
118118
mainWin.webContents.send(eventName, ...args);

electron/main/logger/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,4 @@ export const rendererLog = log.scope("renderer");
6868
export const shortcutLog = log.scope("shortcut");
6969
export const serverLog = log.scope("server");
7070
export const cacheLog = log.scope("cache");
71+
export const socketLog = log.scope("socket");

0 commit comments

Comments
 (0)