no message

This commit is contained in:
kuaifan 2025-08-14 11:56:51 +08:00
parent 548b30e5b3
commit c0b4674568
2 changed files with 54 additions and 21 deletions

74
electron/electron.js vendored
View File

@ -1,7 +1,17 @@
// Node.js 核心模块
const fs = require('fs') const fs = require('fs')
const os = require("os"); const os = require("os");
const path = require('path') const path = require('path')
const spawn = require("child_process").spawn;
const fsProm = require('fs/promises');
const crc = require('crc');
const zlib = require('zlib');
// Web 服务相关
const express = require('express') const express = require('express')
const axios = require('axios');
// Electron 核心模块
const { const {
app, app,
ipcMain, ipcMain,
@ -16,56 +26,76 @@ const {
BrowserView, BrowserView,
BrowserWindow BrowserWindow
} = require('electron') } = require('electron')
// Electron 扩展和工具
const {autoUpdater} = require("electron-updater") const {autoUpdater} = require("electron-updater")
const Store = require("electron-store"); const Store = require("electron-store");
const loger = require("electron-log"); const loger = require("electron-log");
const axios = require('axios');
const electronConf = require('electron-config') const electronConf = require('electron-config')
const userConf = new electronConf()
const fsProm = require('fs/promises');
const PDFDocument = require('pdf-lib').PDFDocument;
const Screenshots = require("electron-screenshots-tool").Screenshots; const Screenshots = require("electron-screenshots-tool").Screenshots;
const crc = require('crc');
const zlib = require('zlib'); // PDF 处理
const PDFDocument = require('pdf-lib').PDFDocument;
// 本地模块和配置
const utils = require('./utils'); const utils = require('./utils');
const config = require('./package.json'); const config = require('./package.json');
const electronMenu = require("./electron-menu"); const electronMenu = require("./electron-menu");
const spawn = require("child_process").spawn;
// 实例初始化
const userConf = new electronConf()
const store = new Store(); const store = new Store();
// 平台检测常量
const isMac = process.platform === 'darwin' const isMac = process.platform === 'darwin'
const isWin = process.platform === 'win32' const isWin = process.platform === 'win32'
// URL 和调用验证正则
const allowedUrls = /^(?:https?|mailto|tel|callto):/i; const allowedUrls = /^(?:https?|mailto|tel|callto):/i;
const allowedCalls = /^(?:mailto|tel|callto):/i; const allowedCalls = /^(?:mailto|tel|callto):/i;
const cacheDir = path.join(os.tmpdir(), 'dootask-cache')
let updaterLockFile = path.join(cacheDir, '.dootask_updater.lock');
let enableStoreBkp = true;
let dialogOpen = false;
let enablePlugins = false;
let mainWindow = null, // 路径和缓存配置
mainTray = null, const cacheDir = path.join(os.tmpdir(), 'dootask-cache')
const updaterLockFile = path.join(cacheDir, '.dootask_updater.lock');
// 应用状态标志
let enableStoreBkp = true,
dialogOpen = false,
enablePlugins = false,
isReady = false, isReady = false,
willQuitApp = false, willQuitApp = false,
devloadPath = path.resolve(__dirname, ".devload"), isDevelopMode = false;
isDevelopMode = false,
serverPort = 22223, // 服务器配置
let serverPort = 22223,
serverPublicDir = path.join(__dirname, 'public'), serverPublicDir = path.join(__dirname, 'public'),
serverUrl = "", serverUrl = "",
serverTimer = null; serverTimer = null;
// 截图相关变量
let screenshotObj = null, let screenshotObj = null,
screenshotKey = null; screenshotKey = null;
let childWindow = [], // 窗口实例变量
let mainWindow = null,
mainTray = null,
preloadWindow = null, preloadWindow = null,
mediaWindow = null, mediaWindow = null,
mediaType = null, webTabWindow = null;
webTabWindow = null,
webTabView = [], // 窗口数组和状态
let childWindow = [],
webTabView = [];
// 窗口配置和状态
let mediaType = null,
webTabHeight = 40, webTabHeight = 40,
webTabClosedByShortcut = false; webTabClosedByShortcut = false;
// 开发模式路径
let devloadPath = path.resolve(__dirname, ".devload");
// 窗口显示状态管理
let showState = {}, let showState = {},
onShowWindow = (win) => { onShowWindow = (win) => {
try { try {
@ -78,6 +108,7 @@ let showState = {},
} }
} }
// 开发模式加载
if (fs.existsSync(devloadPath)) { if (fs.existsSync(devloadPath)) {
let devloadContent = fs.readFileSync(devloadPath, 'utf8') let devloadContent = fs.readFileSync(devloadPath, 'utf8')
if (devloadContent.startsWith('http')) { if (devloadContent.startsWith('http')) {
@ -86,6 +117,7 @@ if (fs.existsSync(devloadPath)) {
} }
} }
// 缓存目录检查
if (!fs.existsSync(cacheDir)) { if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir, { recursive: true }); fs.mkdirSync(cacheDir, { recursive: true });
} }

View File

@ -44,6 +44,7 @@
"crc": "^3.8.0", "crc": "^3.8.0",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"electron-config": "^2.0.0", "electron-config": "^2.0.0",
"electron-dl": "^4.0.0",
"electron-log": "^5.4.2", "electron-log": "^5.4.2",
"electron-screenshots-tool": "^1.1.2", "electron-screenshots-tool": "^1.1.2",
"electron-squirrel-startup": "^1.0.1", "electron-squirrel-startup": "^1.0.1",