Files
SPlayer/electron/main/store/index.ts

53 lines
1.1 KiB
TypeScript
Raw Normal View History

import { screen } from "electron";
import { storeLog } from "../logger";
2025-11-05 18:21:17 +08:00
import type { LyricConfig } from "../../../src/types/desktop-lyric";
import defaultLyricConfig from "../../../src/assets/data/lyricConfig";
import Store from "electron-store";
storeLog.info("🌱 Store init");
export interface StoreType {
window: {
width: number;
height: number;
x?: number;
y?: number;
2025-10-18 18:11:34 +08:00
maximized?: boolean;
};
lyric: {
// 窗口位置
x?: number;
y?: number;
width?: number;
height?: number;
2025-11-05 18:21:17 +08:00
// 配置
config?: LyricConfig;
};
proxy: string;
}
/**
* 使 Store
* @returns Store<StoreType>
*/
export const useStore = () => {
// 获取主屏幕
const screenData = screen.getPrimaryDisplay();
2024-11-05 09:49:39 +08:00
return new Store<StoreType>({
defaults: {
window: {
width: 1280,
height: 800,
},
lyric: {
x: screenData.workAreaSize.width / 2 - 400,
y: screenData.workAreaSize.height - 90,
2024-11-05 09:49:39 +08:00
width: 800,
2025-11-07 17:38:49 +08:00
height: 136,
config: defaultLyricConfig,
2024-11-05 09:49:39 +08:00
},
proxy: "",
},
2024-11-05 09:49:39 +08:00
});
};