You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

181 lines
5.7 KiB

import { homedir } from 'node:os';
import path from 'node:path';
process.env.DIST_ELECTRON = path.join(__dirname, '../');
process.env.DIST = path.join(process.env.DIST_ELECTRON, '../dist');
export const isMac = process.platform === 'darwin';
export const isLinux = process.platform == 'linux';
export const isWin = process.platform == 'win32';
export const url = import.meta.env.VITE_DEV_SERVER_URL;
export const WEB_URL = import.meta.env.VITE_WEB_URL;
export const VITE_API_URL = import.meta.env.VITE_API_URL;
export const preload = path.join(__dirname, '../preload/index.js');
export const serverPath = path.join(__dirname, '../server/main.js');
export const DIST_ELECTRON = path.join(__dirname, '../');
export const DIST = path.join(DIST_ELECTRON, '../dist');
export const PUBLIC = url ? path.join(DIST_ELECTRON, '../public') : process.env.DIST;
export const ICON = path.join(PUBLIC, './imgs/icons/png/32x32.png');
export const DOCS_PATH = path.join(homedir(), 'Documents');
export const PEAR_FILES_PATH = path.join(DOCS_PATH, 'Pear Files');
export const CONFIG_FILE_PATH = path.join(PEAR_FILES_PATH, `config.json`);
export const DEFAULT_CONFIG_FILE_PATH = path.join(PEAR_FILES_PATH, `default-config.json`);
export const DB_PATH = path.join(PEAR_FILES_PATH, 'db/pear-rec.db');
export const LOG_PATH = path.join(PEAR_FILES_PATH, 'log');
export const WIN_CONFIG = {
main: {
html: path.join(process.env.DIST, 'index.html'),
width: 660,
height: 410,
autoHideMenuBar: false,
maximizable: false,
resizable: false,
},
canvas: {
html: path.join(process.env.DIST, 'canvas.html'),
height: 768,
width: 1024,
autoHideMenuBar: true,
},
clipScreen: {
html: path.join(process.env.DIST, 'clipScreen.html'),
autoHideMenuBar: true,
frame: false, // 无边框窗口
resizable: true, // 窗口大小是否可调整
transparent: true, // 使窗口透明
fullscreenable: false, // 窗口是否可以进入全屏状态
alwaysOnTop: true,
skipTaskbar: true,
},
editGif: {
html: path.join(process.env.DIST, 'editGif.html'),
height: 768,
width: 1024,
autoHideMenuBar: true,
},
editImage: {
html: path.join(process.env.DIST, 'editImage.html'),
height: 768,
width: 1024,
autoHideMenuBar: true,
},
videoConverter: {
html: path.join(process.env.DIST, 'videoConverter.html'),
height: 768,
width: 1024,
autoHideMenuBar: true,
},
pinImage: {
html: path.join(process.env.DIST, 'pinImage.html'),
frame: false, // 无边框窗口
transparent: true, // 使窗口透明
fullscreenable: false, // 窗口是否可以进入全屏状态
alwaysOnTop: true, // 窗口是否永远在别的窗口的上面
autoHideMenuBar: true,
},
pinVideo: {
html: path.join(process.env.DIST, 'pinVideo.html'),
height: 450,
width: 600,
frame: false, // 无边框窗口
resizable: true, // 窗口大小是否可调整
transparent: true, // 使窗口透明
fullscreenable: false, // 窗口是否可以进入全屏状态
alwaysOnTop: true, // 窗口是否永远在别的窗口的上面
autoHideMenuBar: true, // 自动隐藏菜单栏
},
recorderAudio: {
html: path.join(process.env.DIST, 'recorderAudio.html'),
height: 768,
width: 1024,
autoHideMenuBar: true, // 自动隐藏菜单栏
},
recorderFullScreen: {
html: path.join(process.env.DIST, 'recorderFullScreen.html'),
height: 40,
width: 365,
center: true,
transparent: true, // 使窗口透明
autoHideMenuBar: true, // 自动隐藏菜单栏
frame: false, // 无边框窗口
hasShadow: false, // 窗口是否有阴影
fullscreenable: false, // 窗口是否可以进入全屏状态
alwaysOnTop: true, // 窗口是否永远在别的窗口的上面
skipTaskbar: true,
resizable: false,
},
recorderScreen: {
html: path.join(process.env.DIST, 'recorderScreen.html'),
width: 340,
height: 130,
autoHideMenuBar: true, // 自动隐藏菜单栏
maximizable: false, // 最大
hasShadow: false, // 窗口是否有阴影
fullscreenable: false, // 窗口是否可以进入全屏状态
alwaysOnTop: true, // 窗口是否永远在别的窗口的上面
skipTaskbar: true,
// resizable: false,
},
recorderVideo: {
html: path.join(process.env.DIST, 'recorderVideo.html'),
height: 768,
width: 1024,
autoHideMenuBar: true,
},
records: {
html: path.join(process.env.DIST, 'records.html'),
width: 1024,
autoHideMenuBar: true,
},
setting: {
html: path.join(process.env.DIST, 'setting.html'),
autoHideMenuBar: true,
width: 600,
height: 380,
},
shotScreen: {
html: path.join(process.env.DIST, 'shotScreen.html'),
autoHideMenuBar: true, // 自动隐藏菜单栏
useContentSize: true, // width 和 height 将设置为 web 页面的尺寸
movable: false, // 是否可移动
frame: false, // 无边框窗口
resizable: false, // 窗口大小是否可调整
hasShadow: false, // 窗口是否有阴影
transparent: true, // 使窗口透明
fullscreenable: true, // 窗口是否可以进入全屏状态
fullscreen: true, // 窗口是否全屏
simpleFullscreen: true, // 在 macOS 上使用 pre-Lion 全屏
alwaysOnTop: true,
skipTaskbar: true,
},
spliceImage: {
html: path.join(process.env.DIST, 'spliceImage.html'),
height: 768,
width: 1024,
autoHideMenuBar: true,
},
viewAudio: {
html: path.join(process.env.DIST, 'viewAudio.html'),
autoHideMenuBar: true,
},
viewImage: {
html: path.join(process.env.DIST, 'viewImage.html'),
frame: false,
autoHideMenuBar: true,
},
viewVideo: {
html: path.join(process.env.DIST, 'viewVideo.html'),
autoHideMenuBar: true,
},
};