@lynker-desktop/electron-sdk 0.0.9-alpha.85 → 0.0.9-alpha.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/main/index.d.ts.map +1 -1
- package/esm/main/index.js +18 -0
- package/esm/main/index.js.map +1 -1
- package/main/index.d.ts.map +1 -1
- package/main/index.js +18 -0
- package/main/index.js.map +1 -1
- package/package.json +5 -5
package/esm/main/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAS3C,OAAO,KAAK,GAAG,MAAM,mCAAmC,CAAA;AAExD,OAAO,KAAK,aAAa,MAAM,8CAA8C,CAAA;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAA;AAC9F,OAAO,EAAuB,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAqB,MAAM,WAAW,CAAC;AACvK,OAAO,EAAmB,WAAW,EAAgB,MAAM,SAAS,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAkC,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,WAAW,EAAE,CAAC;AAMjE,eAAO,IAAI,aAAa,SAAQ,CAAC;AAIjC,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC;IAC5C,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClH,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IACrJ,gBAAgB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC;IAC7D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAC;IAC7C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAC5C,UAAU,EAAE,UAAU,CAAC;CACxB;AAkBD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,YAAa;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"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"}
|
package/esm/main/index.js
CHANGED
|
@@ -132,6 +132,21 @@ const initialize = (options) => {
|
|
|
132
132
|
});
|
|
133
133
|
return true;
|
|
134
134
|
});
|
|
135
|
+
ipc.mainIPC.handleRenderer('core:relaunch', async (extraArgs = []) => {
|
|
136
|
+
try {
|
|
137
|
+
const args = process.argv
|
|
138
|
+
.slice(1) // 去掉 electron 可执行路径
|
|
139
|
+
.concat(extraArgs);
|
|
140
|
+
console.log('core:relaunch', args);
|
|
141
|
+
app.relaunch({ args });
|
|
142
|
+
app.exit(0);
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
console.error('[GlobalAppStore] 重新启动应用失败:', error);
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
135
150
|
// @ts-ignore
|
|
136
151
|
global['__GLBOAL_ELECTRON_SDK__'] = SDK;
|
|
137
152
|
// 调用所有等待初始化的回调
|
|
@@ -270,6 +285,9 @@ const serve = (options) => {
|
|
|
270
285
|
const ext = path.extname(targetPath).toLowerCase();
|
|
271
286
|
if (resolvedPath || !ext || ext === '.html' || ext === '.asar') {
|
|
272
287
|
callback({
|
|
288
|
+
headers: {
|
|
289
|
+
'Access-Control-Allow-Origin': '*',
|
|
290
|
+
},
|
|
273
291
|
path: resolvedPath || indexPath
|
|
274
292
|
});
|
|
275
293
|
}
|
package/esm/main/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/main/index.ts"],"sourcesContent":["import type { WebContents } from 'electron'\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport {promisify} from 'node:util';\nimport electron, { app, webContents } from 'electron';\nimport md5 from 'md5';\nimport { v5 as uuidv5 } from 'uuid';\nimport lodash from 'lodash';\nimport * as remote from '@electron/remote/main'\nimport * as ipc from '@lynker-desktop/electron-ipc/main'\nimport * as logs from '@lynker-desktop/electron-logs/main'\nimport * as windowManager from '@lynker-desktop/electron-window-manager/main'\nimport type { PreloadWebContentsConfig } from '@lynker-desktop/electron-window-manager/common'\nimport { IPC_GET_APP_METRICS, type ServeOptions, type VideoDownloadOptions, type VideoProgressCallback, type VideoDownloadResult, type CacheOptions } from '../common';\nimport { initializeStore, getAppStore, appStoreInit } from './store';\nimport { initializeClipboard } from './clipboard';\nimport { initializeShortcut } from './shortcut';\nimport { ResourceCache, type ResourceCacheOptions } from './resource-cache';\nimport { downloadVideo, clearVideoCache, getVideoCacheStats, removeVideoCache, getFileUrl, setFFmpegPath } from './video-downloader';\nimport { DownloadOptions, getDownloader, Downloader } from './downloader';\nimport type ElectronStore from 'electron-store';\n\n// 重新导出 ResourceCache 相关类型和类,以便外部使用\nexport { ResourceCache, type ResourceCacheOptions, getAppStore };\n\nif (!remote.isInitialized()) {\n remote.initialize();\n}\n\nexport let isInitialized = false;\n// 等待初始化的回调队列\nconst readyCallbacks: Array<(sdk: SDK_TYPE) => void> = [];\n\nexport interface SDK_TYPE {\n ipc: typeof ipc.mainIPC;\n windowManager: windowManager.WindowsManager,\n getPreload: () => string;\n downloadVideo: (options: VideoDownloadOptions, callbacks?: VideoProgressCallback) => Promise<VideoDownloadResult>;\n clearVideoCache: (outputDir: string) => void;\n getVideoCacheStats: (outputDir: string) => { size: number; entries: Array<{ fileName: string; filePath: string; fileSize: number; mtime: number }> };\n removeVideoCache: (options: VideoDownloadOptions) => boolean;\n getAppStore: (name: string) => ElectronStore;\n appStoreInit: (stores: string[]) => boolean;\n downloader: Downloader;\n}\n\n\nfunction findWebContentsByPid(pid: number): {id: number, url: string} | undefined {\n const all = webContents.getAllWebContents();\n\n const wc = all.find((wc) => {\n try {\n return wc.getOSProcessId() === pid;\n } catch (e) {\n return false;\n }\n });\n // @ts-ignore\n return wc ? {id: wc.id, url: wc.getURL()} : undefined;\n}\n\n\n/**\n * 初始化\n * @param protocol 唤起协议 例:dgz\n * @param preload 预加载js 必须传\n * @param loadingViewUrl 窗口管理默认loading页面\n * @returns\n */\nexport const initialize = (options: { protocol: string, preload: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsConfig?: PreloadWebContentsConfig, webviewDomainWhiteList?: string[], serveOptions?: ServeOptions, resourceCacheOptions?: ResourceCacheOptions, ffmpegPath?: string, appStores?: string[] }): SDK_TYPE => {\n let {protocol, preload, loadingViewUrl, serveOptions = [], errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList, resourceCacheOptions} = options;\n if (isInitialized) {\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n }\n isInitialized = true;\n ipc.initialize();\n logs.initialize();\n initializeStore();\n initializeClipboard();\n initializeShortcut();\n if (options.appStores && options.appStores.length) {\n appStoreInit(options.appStores as string[]);\n }\n if (options.ffmpegPath) {\n setFFmpegPath(options.ffmpegPath);\n }\n const wm = windowManager.initialize(preload, loadingViewUrl, errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList || []);\n if (protocol) {\n registerProtocol(protocol);\n }\n if (!serveOptions) {\n serveOptions = []\n }\n if (resourceCacheOptions) {\n if (resourceCacheOptions.cacheDir) {\n serveOptions.push({\n scheme: ResourceCache.scheme,\n directory: resourceCacheOptions.cacheDir,\n })\n }\n }\n if (serveOptions && serveOptions.length) {\n serve(serveOptions);\n }\n if (resourceCacheOptions) {\n app.on('ready', () => {\n new ResourceCache(electron.session.defaultSession, resourceCacheOptions);\n });\n }\n class SDK {\n static ipc = ipc.mainIPC;\n static windowManager = wm;\n static getPreload = () => preload;\n static downloader = getDownloader();\n static downloadVideo = downloadVideo;\n static clearVideoCache = clearVideoCache;\n static getVideoCacheStats = getVideoCacheStats;\n static removeVideoCache = removeVideoCache;\n static getAppStore = getAppStore;\n static appStoreInit = appStoreInit;\n }\n ipc.mainIPC.handleRenderer(IPC_GET_APP_METRICS, async () => {\n const metrics = app.getAppMetrics().map(i => {\n const webContents = findWebContentsByPid(i.pid || 0);\n console.log('webContents', webContents);\n return {\n ...i,\n webContents: webContents?.id || undefined,\n url: webContents?.url,\n }\n })\n return JSON.stringify(metrics);\n })\n ipc.mainIPC.handleRenderer(`__sdk_transcode_video__`, async (options:VideoDownloadOptions) => {\n const md5Options = md5(JSON.stringify(options.url));\n downloadVideo(options, {\n onDownloadProgress: (progress) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'downloadProgress',\n data: progress\n });\n },\n onTranscodeProgress: (progress) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'transcodeProgress',\n data: progress\n });\n },\n onComplete: (result) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'complete',\n data: result\n });\n },\n });\n return true;\n })\n // @ts-ignore\n global['__GLBOAL_ELECTRON_SDK__'] = SDK;\n // 调用所有等待初始化的回调\n readyCallbacks.forEach(callback => {\n try {\n callback(SDK);\n } catch (error) {\n console.error('onReady callback error:', error);\n }\n });\n // 清空回调队列\n readyCallbacks.length = 0;\n return SDK;\n}\n\n/** 后续再优化 */\nexport const getSDK = (): SDK_TYPE => {\n // @ts-ignore\n if (!global['__GLBOAL_ELECTRON_SDK__']) {\n throw '请在ready前先调用initialize'\n }\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n}\n\n/**\n * 注册唤起\n */\nexport const registerProtocol = (() => {\n let isRegister = false;\n let launchOptions = ``;\n return (protocol: string) => {\n if (isRegister) {\n return;\n }\n isRegister = true;\n if (process.defaultApp) {\n if (process.argv.length >= 2) {\n app.setAsDefaultProtocolClient(protocol, process.execPath, [path.resolve(lodash.get(process, `argv[1]`, ''))]);\n }\n } else {\n app.setAsDefaultProtocolClient(protocol);\n }\n const handleUrl = (url: string) => {\n launchOptions = `${url ?? ''}`;\n ipc.mainIPC.invokeAllRendererNotReply('__GLOBAL_CHANGE_LAUNCH_OPTIONS__', url)\n };\n\n function handleArgv(argv: string[]) {\n const prefix = `${protocol}:`;\n const offset = app?.isPackaged ? 1 : 2;\n const url = argv.find((arg, i) => i >= offset && arg.startsWith(prefix));\n if (url) handleUrl(url);\n }\n\n handleArgv(process.argv);\n\n app.on('second-instance', (event, argv) => {\n console.info(event)\n if (process.platform === 'win32') {\n // Windows\n handleArgv(argv);\n }\n });\n\n // macOS\n app.on('open-url', (event, urlStr) => {\n console.info(event)\n handleUrl(urlStr);\n });\n\n\n app.on(\"open-url\", (_event, url) => {\n handleUrl(url);\n });\n ipc.mainIPC.handleRenderer('__GLOBAL_GET_LAUNCH_OPTIONS__', async () => {\n return launchOptions;\n })\n ipc.mainIPC.handleRenderer('__GLOBAL_DEL_LAUNCH_OPTIONS__', async () => {\n launchOptions = ``;\n return launchOptions;\n })\n }\n})();\n\n/**\n * 注册协议\n * @param options\n * @returns\n */\nexport const serve = (options: ServeOptions) => {\n if (!options.length) {\n\t\tthrow new Error('请传入配置');\n\t}\n const stat = promisify(fs.stat);\n\n // See https://cs.chromium.org/chromium/src/net/base/net_error_list.h\n const FILE_NOT_FOUND = -6;\n\n const getPath: any = async (path_: string) => {\n try {\n const result = await stat(path_);\n\n if (result.isFile()) {\n return path_;\n }\n\n if (result.isDirectory()) {\n return getPath(path.join(path_, 'index.html'));\n }\n } catch (_) {}\n };\n\n const createHandler = (item: any) => {\n return async (request: any, callback: any) => {\n try {\n // 动态获取目录路径:如果是函数则调用,否则直接使用字符串\n let directoryPath: string;\n const requestUrl = new URL(request.url);\n const requestInfo = {\n url: request.url,\n pathname: requestUrl.pathname\n };\n\n if (typeof item.directory === 'function') {\n // directory 是函数,调用它获取路径(支持同步和异步函数)\n const result = item.directory(requestInfo);\n directoryPath = result instanceof Promise ? await result : result;\n } else {\n // directory 是字符串,直接使用\n directoryPath = item.directory;\n }\n\n // 验证目录路径是否有效\n if (!directoryPath || typeof directoryPath !== 'string' || directoryPath.trim().length === 0) {\n callback({error: FILE_NOT_FOUND});\n return;\n }\n\n // 确保目录路径是绝对路径\n const resolvedDirectory = path.isAbsolute(directoryPath)\n ? directoryPath\n : path.resolve(electron.app.getAppPath(), directoryPath);\n\n const indexPath = path.join(resolvedDirectory, 'index.html');\n const filePath = path.join(resolvedDirectory, decodeURIComponent(requestInfo.pathname));\n const resolvedPath = await getPath(filePath);\n const targetPath = resolvedPath || indexPath;\n const ext = path.extname(targetPath).toLowerCase();\n\n if (resolvedPath || !ext || ext === '.html' || ext === '.asar') {\n callback({\n path: resolvedPath || indexPath\n });\n } else {\n callback({error: FILE_NOT_FOUND});\n }\n } catch (error) {\n // 处理动态路径获取或文件访问时的错误\n console.error('[serve] Handler error:', error);\n callback({error: FILE_NOT_FOUND});\n }\n }\n };\n\n\toptions = options.map((item) => {\n\t\treturn {\n\t\t\t...item,\n\t\t\tisCorsEnabled: !!item?.isCorsEnabled,\n\t\t\tscheme: item?.scheme || 'app',\n\t\t\t// 如果 directory 是函数,保留函数;如果是字符串,则解析为绝对路径\n\t\t\tdirectory: typeof item.directory === 'function'\n\t\t\t\t? item.directory\n\t\t\t\t: path.resolve(electron.app.getAppPath(), item.directory),\n\t\t}\n\t})\n // 注册自定义协议的权限配置\n // 说明:\n // bypassCSP: 是否绕过内容安全策略(CSP),允许加载本地资源时不受 CSP 限制\n // standard: 使协议表现得像标准协议(如 http/https),支持标准 API\n // secure: 标记为安全协议,允许安全相关的操作\n // allowServiceWorkers: 允许该协议下注册 Service Worker\n // supportFetchAPI: 允许 fetch/XHR 等 API 访问该协议资源\n // corsEnabled: 是否启用跨域资源共享(CORS)\n // stream: 支持流式传输\n\telectron.protocol.registerSchemesAsPrivileged(options.map((item) => {\n\t\treturn {\n\t\t\tscheme: item.scheme,\n\t\t\tprivileges: {\n bypassCSP: true,\n\t\t\t\tstandard: true,\n\t\t\t\tsecure: true,\n\t\t\t\tallowServiceWorkers: true,\n\t\t\t\tsupportFetchAPI: true,\n\t\t\t\tcorsEnabled: item.isCorsEnabled ?? false,\n stream: true,\n\t\t\t}\n\t\t}\n\t}));\n\treturn new Promise((resolve, reject) => {\n\t\ttry {\n\t\t\telectron.app.on('ready', () => {\n\t\t\t\toptions.forEach((item) => {\n\t\t\t\t\tconst handler = createHandler(item);\n\t\t\t\t\tconst session = item.partition ? electron.session.fromPartition(item.partition) : electron.session.defaultSession;\n\t\t\t\t\tsession.protocol.registerFileProtocol(item.scheme, handler);\n\t\t\t\t})\n\t\t\t\tresolve(true)\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n\n\n/**\n * @electron/remote/main enable方法\n * @param webContents\n * @returns\n */\nexport const enable = (webContents: WebContents) => remote.enable(webContents);\n\n/**\n * 获取随机UUID\n * @param key\n * @returns\n */\nexport function getRandomUUID(key: string = `${Date.now()}`): string {\n let webcrypto!: Crypto;\n let randomValue = Math?.random()?.toString()?.replace('0.', '');\n try {\n if (!webcrypto && !!window && window?.crypto) {\n webcrypto = window.crypto;\n }\n } catch (error) {console.log}\n try {\n const ar = webcrypto.getRandomValues(new Uint8Array(12));\n randomValue = `${md5(ar)}` || randomValue;\n } catch (error) {}\n const uuid = uuidv5(\n `${JSON.stringify(key)}_${Date.now()}_${randomValue}`,\n uuidv5.URL,\n );\n return uuid;\n}\n\n\n/**\n * 获取定制Session\n */\nexport const getCustomSession = windowManager.getCustomSession;\n\n/**\n * 等待 SDK 初始化完成\n * @param callback 初始化完成后的回调函数\n */\nexport const onReady = (callback: (sdk: SDK_TYPE) => void) => {\n if (isInitialized) {\n // 已经初始化,直接调用回调\n // @ts-ignore\n const sdk = global['__GLBOAL_ELECTRON_SDK__'];\n if (sdk) {\n callback(sdk);\n } else {\n // 如果 SDK 不存在,添加到队列等待\n readyCallbacks.push(callback);\n }\n } else {\n // 还没初始化,添加到队列等待\n readyCallbacks.push(callback);\n }\n};\n\n/**\n * 获取SDK实例\n * @returns\n */\nexport default new Proxy({} as SDK_TYPE & { onReady: typeof onReady }, {\n get(_target, prop) {\n if (prop === 'onReady') {\n return onReady;\n }\n if (!isInitialized) {\n throw new Error('请在ready前先调用initialize');\n }\n if (!prop) {\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n }\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'][prop];\n },\n set() {\n return false;\n }\n}) as SDK_TYPE & { onReady: typeof onReady };\n"],"names":["uuidv5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/main/index.ts"],"sourcesContent":["import type { WebContents } from 'electron'\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport {promisify} from 'node:util';\nimport electron, { app, webContents } from 'electron';\nimport md5 from 'md5';\nimport { v5 as uuidv5 } from 'uuid';\nimport lodash from 'lodash';\nimport * as remote from '@electron/remote/main'\nimport * as ipc from '@lynker-desktop/electron-ipc/main'\nimport * as logs from '@lynker-desktop/electron-logs/main'\nimport * as windowManager from '@lynker-desktop/electron-window-manager/main'\nimport type { PreloadWebContentsConfig } from '@lynker-desktop/electron-window-manager/common'\nimport { IPC_GET_APP_METRICS, type ServeOptions, type VideoDownloadOptions, type VideoProgressCallback, type VideoDownloadResult, type CacheOptions } from '../common';\nimport { initializeStore, getAppStore, appStoreInit } from './store';\nimport { initializeClipboard } from './clipboard';\nimport { initializeShortcut } from './shortcut';\nimport { ResourceCache, type ResourceCacheOptions } from './resource-cache';\nimport { downloadVideo, clearVideoCache, getVideoCacheStats, removeVideoCache, getFileUrl, setFFmpegPath } from './video-downloader';\nimport { DownloadOptions, getDownloader, Downloader } from './downloader';\nimport type ElectronStore from 'electron-store';\n\n// 重新导出 ResourceCache 相关类型和类,以便外部使用\nexport { ResourceCache, type ResourceCacheOptions, getAppStore };\n\nif (!remote.isInitialized()) {\n remote.initialize();\n}\n\nexport let isInitialized = false;\n// 等待初始化的回调队列\nconst readyCallbacks: Array<(sdk: SDK_TYPE) => void> = [];\n\nexport interface SDK_TYPE {\n ipc: typeof ipc.mainIPC;\n windowManager: windowManager.WindowsManager,\n getPreload: () => string;\n downloadVideo: (options: VideoDownloadOptions, callbacks?: VideoProgressCallback) => Promise<VideoDownloadResult>;\n clearVideoCache: (outputDir: string) => void;\n getVideoCacheStats: (outputDir: string) => { size: number; entries: Array<{ fileName: string; filePath: string; fileSize: number; mtime: number }> };\n removeVideoCache: (options: VideoDownloadOptions) => boolean;\n getAppStore: (name: string) => ElectronStore;\n appStoreInit: (stores: string[]) => boolean;\n downloader: Downloader;\n}\n\n\nfunction findWebContentsByPid(pid: number): {id: number, url: string} | undefined {\n const all = webContents.getAllWebContents();\n\n const wc = all.find((wc) => {\n try {\n return wc.getOSProcessId() === pid;\n } catch (e) {\n return false;\n }\n });\n // @ts-ignore\n return wc ? {id: wc.id, url: wc.getURL()} : undefined;\n}\n\n\n/**\n * 初始化\n * @param protocol 唤起协议 例:dgz\n * @param preload 预加载js 必须传\n * @param loadingViewUrl 窗口管理默认loading页面\n * @returns\n */\nexport const initialize = (options: { protocol: string, preload: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsConfig?: PreloadWebContentsConfig, webviewDomainWhiteList?: string[], serveOptions?: ServeOptions, resourceCacheOptions?: ResourceCacheOptions, ffmpegPath?: string, appStores?: string[] }): SDK_TYPE => {\n let {protocol, preload, loadingViewUrl, serveOptions = [], errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList, resourceCacheOptions} = options;\n if (isInitialized) {\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n }\n isInitialized = true;\n ipc.initialize();\n logs.initialize();\n initializeStore();\n initializeClipboard();\n initializeShortcut();\n if (options.appStores && options.appStores.length) {\n appStoreInit(options.appStores as string[]);\n }\n if (options.ffmpegPath) {\n setFFmpegPath(options.ffmpegPath);\n }\n const wm = windowManager.initialize(preload, loadingViewUrl, errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList || []);\n if (protocol) {\n registerProtocol(protocol);\n }\n if (!serveOptions) {\n serveOptions = []\n }\n if (resourceCacheOptions) {\n if (resourceCacheOptions.cacheDir) {\n serveOptions.push({\n scheme: ResourceCache.scheme,\n directory: resourceCacheOptions.cacheDir,\n })\n }\n }\n if (serveOptions && serveOptions.length) {\n serve(serveOptions);\n }\n if (resourceCacheOptions) {\n app.on('ready', () => {\n new ResourceCache(electron.session.defaultSession, resourceCacheOptions);\n });\n }\n class SDK {\n static ipc = ipc.mainIPC;\n static windowManager = wm;\n static getPreload = () => preload;\n static downloader = getDownloader();\n static downloadVideo = downloadVideo;\n static clearVideoCache = clearVideoCache;\n static getVideoCacheStats = getVideoCacheStats;\n static removeVideoCache = removeVideoCache;\n static getAppStore = getAppStore;\n static appStoreInit = appStoreInit;\n }\n ipc.mainIPC.handleRenderer(IPC_GET_APP_METRICS, async () => {\n const metrics = app.getAppMetrics().map(i => {\n const webContents = findWebContentsByPid(i.pid || 0);\n console.log('webContents', webContents);\n return {\n ...i,\n webContents: webContents?.id || undefined,\n url: webContents?.url,\n }\n })\n return JSON.stringify(metrics);\n })\n ipc.mainIPC.handleRenderer(`__sdk_transcode_video__`, async (options:VideoDownloadOptions) => {\n const md5Options = md5(JSON.stringify(options.url));\n downloadVideo(options, {\n onDownloadProgress: (progress) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'downloadProgress',\n data: progress\n });\n },\n onTranscodeProgress: (progress) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'transcodeProgress',\n data: progress\n });\n },\n onComplete: (result) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'complete',\n data: result\n });\n },\n });\n return true;\n })\n ipc.mainIPC.handleRenderer('core:relaunch', async (extraArgs: string[] = []): Promise<boolean> => {\n try {\n const args = process.argv\n .slice(1) // 去掉 electron 可执行路径\n .concat(extraArgs);\n console.log('core:relaunch', args);\n app.relaunch({ args });\n app.exit(0);\n return true;\n } catch (error) {\n console.error('[GlobalAppStore] 重新启动应用失败:', error);\n return false;\n }\n })\n // @ts-ignore\n global['__GLBOAL_ELECTRON_SDK__'] = SDK;\n // 调用所有等待初始化的回调\n readyCallbacks.forEach(callback => {\n try {\n callback(SDK);\n } catch (error) {\n console.error('onReady callback error:', error);\n }\n });\n // 清空回调队列\n readyCallbacks.length = 0;\n return SDK;\n}\n\n/** 后续再优化 */\nexport const getSDK = (): SDK_TYPE => {\n // @ts-ignore\n if (!global['__GLBOAL_ELECTRON_SDK__']) {\n throw '请在ready前先调用initialize'\n }\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n}\n\n/**\n * 注册唤起\n */\nexport const registerProtocol = (() => {\n let isRegister = false;\n let launchOptions = ``;\n return (protocol: string) => {\n if (isRegister) {\n return;\n }\n isRegister = true;\n if (process.defaultApp) {\n if (process.argv.length >= 2) {\n app.setAsDefaultProtocolClient(protocol, process.execPath, [path.resolve(lodash.get(process, `argv[1]`, ''))]);\n }\n } else {\n app.setAsDefaultProtocolClient(protocol);\n }\n const handleUrl = (url: string) => {\n launchOptions = `${url ?? ''}`;\n ipc.mainIPC.invokeAllRendererNotReply('__GLOBAL_CHANGE_LAUNCH_OPTIONS__', url)\n };\n\n function handleArgv(argv: string[]) {\n const prefix = `${protocol}:`;\n const offset = app?.isPackaged ? 1 : 2;\n const url = argv.find((arg, i) => i >= offset && arg.startsWith(prefix));\n if (url) handleUrl(url);\n }\n\n handleArgv(process.argv);\n\n app.on('second-instance', (event, argv) => {\n console.info(event)\n if (process.platform === 'win32') {\n // Windows\n handleArgv(argv);\n }\n });\n\n // macOS\n app.on('open-url', (event, urlStr) => {\n console.info(event)\n handleUrl(urlStr);\n });\n\n\n app.on(\"open-url\", (_event, url) => {\n handleUrl(url);\n });\n ipc.mainIPC.handleRenderer('__GLOBAL_GET_LAUNCH_OPTIONS__', async () => {\n return launchOptions;\n })\n ipc.mainIPC.handleRenderer('__GLOBAL_DEL_LAUNCH_OPTIONS__', async () => {\n launchOptions = ``;\n return launchOptions;\n })\n }\n})();\n\n/**\n * 注册协议\n * @param options\n * @returns\n */\nexport const serve = (options: ServeOptions) => {\n if (!options.length) {\n\t\tthrow new Error('请传入配置');\n\t}\n const stat = promisify(fs.stat);\n\n // See https://cs.chromium.org/chromium/src/net/base/net_error_list.h\n const FILE_NOT_FOUND = -6;\n\n const getPath: any = async (path_: string) => {\n try {\n const result = await stat(path_);\n\n if (result.isFile()) {\n return path_;\n }\n\n if (result.isDirectory()) {\n return getPath(path.join(path_, 'index.html'));\n }\n } catch (_) {}\n };\n\n const createHandler = (item: any) => {\n return async (request: any, callback: any) => {\n try {\n // 动态获取目录路径:如果是函数则调用,否则直接使用字符串\n let directoryPath: string;\n const requestUrl = new URL(request.url);\n const requestInfo = {\n url: request.url,\n pathname: requestUrl.pathname\n };\n\n if (typeof item.directory === 'function') {\n // directory 是函数,调用它获取路径(支持同步和异步函数)\n const result = item.directory(requestInfo);\n directoryPath = result instanceof Promise ? await result : result;\n } else {\n // directory 是字符串,直接使用\n directoryPath = item.directory;\n }\n\n // 验证目录路径是否有效\n if (!directoryPath || typeof directoryPath !== 'string' || directoryPath.trim().length === 0) {\n callback({error: FILE_NOT_FOUND});\n return;\n }\n\n // 确保目录路径是绝对路径\n const resolvedDirectory = path.isAbsolute(directoryPath)\n ? directoryPath\n : path.resolve(electron.app.getAppPath(), directoryPath);\n\n const indexPath = path.join(resolvedDirectory, 'index.html');\n const filePath = path.join(resolvedDirectory, decodeURIComponent(requestInfo.pathname));\n const resolvedPath = await getPath(filePath);\n const targetPath = resolvedPath || indexPath;\n const ext = path.extname(targetPath).toLowerCase();\n\n if (resolvedPath || !ext || ext === '.html' || ext === '.asar') {\n callback({\n headers: {\n 'Access-Control-Allow-Origin': '*',\n },\n path: resolvedPath || indexPath\n });\n } else {\n callback({error: FILE_NOT_FOUND});\n }\n } catch (error) {\n // 处理动态路径获取或文件访问时的错误\n console.error('[serve] Handler error:', error);\n callback({error: FILE_NOT_FOUND});\n }\n }\n };\n\n\toptions = options.map((item) => {\n\t\treturn {\n\t\t\t...item,\n\t\t\tisCorsEnabled: !!item?.isCorsEnabled,\n\t\t\tscheme: item?.scheme || 'app',\n\t\t\t// 如果 directory 是函数,保留函数;如果是字符串,则解析为绝对路径\n\t\t\tdirectory: typeof item.directory === 'function'\n\t\t\t\t? item.directory\n\t\t\t\t: path.resolve(electron.app.getAppPath(), item.directory),\n\t\t}\n\t})\n // 注册自定义协议的权限配置\n // 说明:\n // bypassCSP: 是否绕过内容安全策略(CSP),允许加载本地资源时不受 CSP 限制\n // standard: 使协议表现得像标准协议(如 http/https),支持标准 API\n // secure: 标记为安全协议,允许安全相关的操作\n // allowServiceWorkers: 允许该协议下注册 Service Worker\n // supportFetchAPI: 允许 fetch/XHR 等 API 访问该协议资源\n // corsEnabled: 是否启用跨域资源共享(CORS)\n // stream: 支持流式传输\n\telectron.protocol.registerSchemesAsPrivileged(options.map((item) => {\n\t\treturn {\n\t\t\tscheme: item.scheme,\n\t\t\tprivileges: {\n bypassCSP: true,\n\t\t\t\tstandard: true,\n\t\t\t\tsecure: true,\n\t\t\t\tallowServiceWorkers: true,\n\t\t\t\tsupportFetchAPI: true,\n\t\t\t\tcorsEnabled: item.isCorsEnabled ?? false,\n stream: true,\n\t\t\t}\n\t\t}\n\t}));\n\treturn new Promise((resolve, reject) => {\n\t\ttry {\n\t\t\telectron.app.on('ready', () => {\n\t\t\t\toptions.forEach((item) => {\n\t\t\t\t\tconst handler = createHandler(item);\n\t\t\t\t\tconst session = item.partition ? electron.session.fromPartition(item.partition) : electron.session.defaultSession;\n\t\t\t\t\tsession.protocol.registerFileProtocol(item.scheme, handler);\n\t\t\t\t})\n\t\t\t\tresolve(true)\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n\n\n/**\n * @electron/remote/main enable方法\n * @param webContents\n * @returns\n */\nexport const enable = (webContents: WebContents) => remote.enable(webContents);\n\n/**\n * 获取随机UUID\n * @param key\n * @returns\n */\nexport function getRandomUUID(key: string = `${Date.now()}`): string {\n let webcrypto!: Crypto;\n let randomValue = Math?.random()?.toString()?.replace('0.', '');\n try {\n if (!webcrypto && !!window && window?.crypto) {\n webcrypto = window.crypto;\n }\n } catch (error) {console.log}\n try {\n const ar = webcrypto.getRandomValues(new Uint8Array(12));\n randomValue = `${md5(ar)}` || randomValue;\n } catch (error) {}\n const uuid = uuidv5(\n `${JSON.stringify(key)}_${Date.now()}_${randomValue}`,\n uuidv5.URL,\n );\n return uuid;\n}\n\n\n/**\n * 获取定制Session\n */\nexport const getCustomSession = windowManager.getCustomSession;\n\n/**\n * 等待 SDK 初始化完成\n * @param callback 初始化完成后的回调函数\n */\nexport const onReady = (callback: (sdk: SDK_TYPE) => void) => {\n if (isInitialized) {\n // 已经初始化,直接调用回调\n // @ts-ignore\n const sdk = global['__GLBOAL_ELECTRON_SDK__'];\n if (sdk) {\n callback(sdk);\n } else {\n // 如果 SDK 不存在,添加到队列等待\n readyCallbacks.push(callback);\n }\n } else {\n // 还没初始化,添加到队列等待\n readyCallbacks.push(callback);\n }\n};\n\n/**\n * 获取SDK实例\n * @returns\n */\nexport default new Proxy({} as SDK_TYPE & { onReady: typeof onReady }, {\n get(_target, prop) {\n if (prop === 'onReady') {\n return onReady;\n }\n if (!isInitialized) {\n throw new Error('请在ready前先调用initialize');\n }\n if (!prop) {\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n }\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'][prop];\n },\n set() {\n return false;\n }\n}) as SDK_TYPE & { onReady: typeof onReady };\n"],"names":["uuidv5"],"mappings":"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"}
|
package/main/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/main/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAS3C,OAAO,KAAK,GAAG,MAAM,mCAAmC,CAAA;AAExD,OAAO,KAAK,aAAa,MAAM,8CAA8C,CAAA;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAA;AAC9F,OAAO,EAAuB,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAqB,MAAM,WAAW,CAAC;AACvK,OAAO,EAAmB,WAAW,EAAgB,MAAM,SAAS,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAkC,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,WAAW,EAAE,CAAC;AAMjE,eAAO,IAAI,aAAa,SAAQ,CAAC;AAIjC,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC;IAC5C,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClH,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IACrJ,gBAAgB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC;IAC7D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAC;IAC7C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAC5C,UAAU,EAAE,UAAU,CAAC;CACxB;AAkBD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,YAAa;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/main/index.ts"],"names":[],"mappings":"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"}
|
package/main/index.js
CHANGED
|
@@ -150,6 +150,21 @@ const initialize = (options) => {
|
|
|
150
150
|
});
|
|
151
151
|
return true;
|
|
152
152
|
});
|
|
153
|
+
ipc__namespace.mainIPC.handleRenderer('core:relaunch', async (extraArgs = []) => {
|
|
154
|
+
try {
|
|
155
|
+
const args = process.argv
|
|
156
|
+
.slice(1) // 去掉 electron 可执行路径
|
|
157
|
+
.concat(extraArgs);
|
|
158
|
+
console.log('core:relaunch', args);
|
|
159
|
+
electron.app.relaunch({ args });
|
|
160
|
+
electron.app.exit(0);
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
console.error('[GlobalAppStore] 重新启动应用失败:', error);
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
153
168
|
// @ts-ignore
|
|
154
169
|
global['__GLBOAL_ELECTRON_SDK__'] = SDK;
|
|
155
170
|
// 调用所有等待初始化的回调
|
|
@@ -288,6 +303,9 @@ const serve = (options) => {
|
|
|
288
303
|
const ext = path.extname(targetPath).toLowerCase();
|
|
289
304
|
if (resolvedPath || !ext || ext === '.html' || ext === '.asar') {
|
|
290
305
|
callback({
|
|
306
|
+
headers: {
|
|
307
|
+
'Access-Control-Allow-Origin': '*',
|
|
308
|
+
},
|
|
291
309
|
path: resolvedPath || indexPath
|
|
292
310
|
});
|
|
293
311
|
}
|
package/main/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/src/main/index.ts"],"sourcesContent":["import type { WebContents } from 'electron'\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport {promisify} from 'node:util';\nimport electron, { app, webContents } from 'electron';\nimport md5 from 'md5';\nimport { v5 as uuidv5 } from 'uuid';\nimport lodash from 'lodash';\nimport * as remote from '@electron/remote/main'\nimport * as ipc from '@lynker-desktop/electron-ipc/main'\nimport * as logs from '@lynker-desktop/electron-logs/main'\nimport * as windowManager from '@lynker-desktop/electron-window-manager/main'\nimport type { PreloadWebContentsConfig } from '@lynker-desktop/electron-window-manager/common'\nimport { IPC_GET_APP_METRICS, type ServeOptions, type VideoDownloadOptions, type VideoProgressCallback, type VideoDownloadResult, type CacheOptions } from '../common';\nimport { initializeStore, getAppStore, appStoreInit } from './store';\nimport { initializeClipboard } from './clipboard';\nimport { initializeShortcut } from './shortcut';\nimport { ResourceCache, type ResourceCacheOptions } from './resource-cache';\nimport { downloadVideo, clearVideoCache, getVideoCacheStats, removeVideoCache, getFileUrl, setFFmpegPath } from './video-downloader';\nimport { DownloadOptions, getDownloader, Downloader } from './downloader';\nimport type ElectronStore from 'electron-store';\n\n// 重新导出 ResourceCache 相关类型和类,以便外部使用\nexport { ResourceCache, type ResourceCacheOptions, getAppStore };\n\nif (!remote.isInitialized()) {\n remote.initialize();\n}\n\nexport let isInitialized = false;\n// 等待初始化的回调队列\nconst readyCallbacks: Array<(sdk: SDK_TYPE) => void> = [];\n\nexport interface SDK_TYPE {\n ipc: typeof ipc.mainIPC;\n windowManager: windowManager.WindowsManager,\n getPreload: () => string;\n downloadVideo: (options: VideoDownloadOptions, callbacks?: VideoProgressCallback) => Promise<VideoDownloadResult>;\n clearVideoCache: (outputDir: string) => void;\n getVideoCacheStats: (outputDir: string) => { size: number; entries: Array<{ fileName: string; filePath: string; fileSize: number; mtime: number }> };\n removeVideoCache: (options: VideoDownloadOptions) => boolean;\n getAppStore: (name: string) => ElectronStore;\n appStoreInit: (stores: string[]) => boolean;\n downloader: Downloader;\n}\n\n\nfunction findWebContentsByPid(pid: number): {id: number, url: string} | undefined {\n const all = webContents.getAllWebContents();\n\n const wc = all.find((wc) => {\n try {\n return wc.getOSProcessId() === pid;\n } catch (e) {\n return false;\n }\n });\n // @ts-ignore\n return wc ? {id: wc.id, url: wc.getURL()} : undefined;\n}\n\n\n/**\n * 初始化\n * @param protocol 唤起协议 例:dgz\n * @param preload 预加载js 必须传\n * @param loadingViewUrl 窗口管理默认loading页面\n * @returns\n */\nexport const initialize = (options: { protocol: string, preload: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsConfig?: PreloadWebContentsConfig, webviewDomainWhiteList?: string[], serveOptions?: ServeOptions, resourceCacheOptions?: ResourceCacheOptions, ffmpegPath?: string, appStores?: string[] }): SDK_TYPE => {\n let {protocol, preload, loadingViewUrl, serveOptions = [], errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList, resourceCacheOptions} = options;\n if (isInitialized) {\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n }\n isInitialized = true;\n ipc.initialize();\n logs.initialize();\n initializeStore();\n initializeClipboard();\n initializeShortcut();\n if (options.appStores && options.appStores.length) {\n appStoreInit(options.appStores as string[]);\n }\n if (options.ffmpegPath) {\n setFFmpegPath(options.ffmpegPath);\n }\n const wm = windowManager.initialize(preload, loadingViewUrl, errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList || []);\n if (protocol) {\n registerProtocol(protocol);\n }\n if (!serveOptions) {\n serveOptions = []\n }\n if (resourceCacheOptions) {\n if (resourceCacheOptions.cacheDir) {\n serveOptions.push({\n scheme: ResourceCache.scheme,\n directory: resourceCacheOptions.cacheDir,\n })\n }\n }\n if (serveOptions && serveOptions.length) {\n serve(serveOptions);\n }\n if (resourceCacheOptions) {\n app.on('ready', () => {\n new ResourceCache(electron.session.defaultSession, resourceCacheOptions);\n });\n }\n class SDK {\n static ipc = ipc.mainIPC;\n static windowManager = wm;\n static getPreload = () => preload;\n static downloader = getDownloader();\n static downloadVideo = downloadVideo;\n static clearVideoCache = clearVideoCache;\n static getVideoCacheStats = getVideoCacheStats;\n static removeVideoCache = removeVideoCache;\n static getAppStore = getAppStore;\n static appStoreInit = appStoreInit;\n }\n ipc.mainIPC.handleRenderer(IPC_GET_APP_METRICS, async () => {\n const metrics = app.getAppMetrics().map(i => {\n const webContents = findWebContentsByPid(i.pid || 0);\n console.log('webContents', webContents);\n return {\n ...i,\n webContents: webContents?.id || undefined,\n url: webContents?.url,\n }\n })\n return JSON.stringify(metrics);\n })\n ipc.mainIPC.handleRenderer(`__sdk_transcode_video__`, async (options:VideoDownloadOptions) => {\n const md5Options = md5(JSON.stringify(options.url));\n downloadVideo(options, {\n onDownloadProgress: (progress) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'downloadProgress',\n data: progress\n });\n },\n onTranscodeProgress: (progress) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'transcodeProgress',\n data: progress\n });\n },\n onComplete: (result) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'complete',\n data: result\n });\n },\n });\n return true;\n })\n // @ts-ignore\n global['__GLBOAL_ELECTRON_SDK__'] = SDK;\n // 调用所有等待初始化的回调\n readyCallbacks.forEach(callback => {\n try {\n callback(SDK);\n } catch (error) {\n console.error('onReady callback error:', error);\n }\n });\n // 清空回调队列\n readyCallbacks.length = 0;\n return SDK;\n}\n\n/** 后续再优化 */\nexport const getSDK = (): SDK_TYPE => {\n // @ts-ignore\n if (!global['__GLBOAL_ELECTRON_SDK__']) {\n throw '请在ready前先调用initialize'\n }\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n}\n\n/**\n * 注册唤起\n */\nexport const registerProtocol = (() => {\n let isRegister = false;\n let launchOptions = ``;\n return (protocol: string) => {\n if (isRegister) {\n return;\n }\n isRegister = true;\n if (process.defaultApp) {\n if (process.argv.length >= 2) {\n app.setAsDefaultProtocolClient(protocol, process.execPath, [path.resolve(lodash.get(process, `argv[1]`, ''))]);\n }\n } else {\n app.setAsDefaultProtocolClient(protocol);\n }\n const handleUrl = (url: string) => {\n launchOptions = `${url ?? ''}`;\n ipc.mainIPC.invokeAllRendererNotReply('__GLOBAL_CHANGE_LAUNCH_OPTIONS__', url)\n };\n\n function handleArgv(argv: string[]) {\n const prefix = `${protocol}:`;\n const offset = app?.isPackaged ? 1 : 2;\n const url = argv.find((arg, i) => i >= offset && arg.startsWith(prefix));\n if (url) handleUrl(url);\n }\n\n handleArgv(process.argv);\n\n app.on('second-instance', (event, argv) => {\n console.info(event)\n if (process.platform === 'win32') {\n // Windows\n handleArgv(argv);\n }\n });\n\n // macOS\n app.on('open-url', (event, urlStr) => {\n console.info(event)\n handleUrl(urlStr);\n });\n\n\n app.on(\"open-url\", (_event, url) => {\n handleUrl(url);\n });\n ipc.mainIPC.handleRenderer('__GLOBAL_GET_LAUNCH_OPTIONS__', async () => {\n return launchOptions;\n })\n ipc.mainIPC.handleRenderer('__GLOBAL_DEL_LAUNCH_OPTIONS__', async () => {\n launchOptions = ``;\n return launchOptions;\n })\n }\n})();\n\n/**\n * 注册协议\n * @param options\n * @returns\n */\nexport const serve = (options: ServeOptions) => {\n if (!options.length) {\n\t\tthrow new Error('请传入配置');\n\t}\n const stat = promisify(fs.stat);\n\n // See https://cs.chromium.org/chromium/src/net/base/net_error_list.h\n const FILE_NOT_FOUND = -6;\n\n const getPath: any = async (path_: string) => {\n try {\n const result = await stat(path_);\n\n if (result.isFile()) {\n return path_;\n }\n\n if (result.isDirectory()) {\n return getPath(path.join(path_, 'index.html'));\n }\n } catch (_) {}\n };\n\n const createHandler = (item: any) => {\n return async (request: any, callback: any) => {\n try {\n // 动态获取目录路径:如果是函数则调用,否则直接使用字符串\n let directoryPath: string;\n const requestUrl = new URL(request.url);\n const requestInfo = {\n url: request.url,\n pathname: requestUrl.pathname\n };\n\n if (typeof item.directory === 'function') {\n // directory 是函数,调用它获取路径(支持同步和异步函数)\n const result = item.directory(requestInfo);\n directoryPath = result instanceof Promise ? await result : result;\n } else {\n // directory 是字符串,直接使用\n directoryPath = item.directory;\n }\n\n // 验证目录路径是否有效\n if (!directoryPath || typeof directoryPath !== 'string' || directoryPath.trim().length === 0) {\n callback({error: FILE_NOT_FOUND});\n return;\n }\n\n // 确保目录路径是绝对路径\n const resolvedDirectory = path.isAbsolute(directoryPath)\n ? directoryPath\n : path.resolve(electron.app.getAppPath(), directoryPath);\n\n const indexPath = path.join(resolvedDirectory, 'index.html');\n const filePath = path.join(resolvedDirectory, decodeURIComponent(requestInfo.pathname));\n const resolvedPath = await getPath(filePath);\n const targetPath = resolvedPath || indexPath;\n const ext = path.extname(targetPath).toLowerCase();\n\n if (resolvedPath || !ext || ext === '.html' || ext === '.asar') {\n callback({\n path: resolvedPath || indexPath\n });\n } else {\n callback({error: FILE_NOT_FOUND});\n }\n } catch (error) {\n // 处理动态路径获取或文件访问时的错误\n console.error('[serve] Handler error:', error);\n callback({error: FILE_NOT_FOUND});\n }\n }\n };\n\n\toptions = options.map((item) => {\n\t\treturn {\n\t\t\t...item,\n\t\t\tisCorsEnabled: !!item?.isCorsEnabled,\n\t\t\tscheme: item?.scheme || 'app',\n\t\t\t// 如果 directory 是函数,保留函数;如果是字符串,则解析为绝对路径\n\t\t\tdirectory: typeof item.directory === 'function'\n\t\t\t\t? item.directory\n\t\t\t\t: path.resolve(electron.app.getAppPath(), item.directory),\n\t\t}\n\t})\n // 注册自定义协议的权限配置\n // 说明:\n // bypassCSP: 是否绕过内容安全策略(CSP),允许加载本地资源时不受 CSP 限制\n // standard: 使协议表现得像标准协议(如 http/https),支持标准 API\n // secure: 标记为安全协议,允许安全相关的操作\n // allowServiceWorkers: 允许该协议下注册 Service Worker\n // supportFetchAPI: 允许 fetch/XHR 等 API 访问该协议资源\n // corsEnabled: 是否启用跨域资源共享(CORS)\n // stream: 支持流式传输\n\telectron.protocol.registerSchemesAsPrivileged(options.map((item) => {\n\t\treturn {\n\t\t\tscheme: item.scheme,\n\t\t\tprivileges: {\n bypassCSP: true,\n\t\t\t\tstandard: true,\n\t\t\t\tsecure: true,\n\t\t\t\tallowServiceWorkers: true,\n\t\t\t\tsupportFetchAPI: true,\n\t\t\t\tcorsEnabled: item.isCorsEnabled ?? false,\n stream: true,\n\t\t\t}\n\t\t}\n\t}));\n\treturn new Promise((resolve, reject) => {\n\t\ttry {\n\t\t\telectron.app.on('ready', () => {\n\t\t\t\toptions.forEach((item) => {\n\t\t\t\t\tconst handler = createHandler(item);\n\t\t\t\t\tconst session = item.partition ? electron.session.fromPartition(item.partition) : electron.session.defaultSession;\n\t\t\t\t\tsession.protocol.registerFileProtocol(item.scheme, handler);\n\t\t\t\t})\n\t\t\t\tresolve(true)\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n\n\n/**\n * @electron/remote/main enable方法\n * @param webContents\n * @returns\n */\nexport const enable = (webContents: WebContents) => remote.enable(webContents);\n\n/**\n * 获取随机UUID\n * @param key\n * @returns\n */\nexport function getRandomUUID(key: string = `${Date.now()}`): string {\n let webcrypto!: Crypto;\n let randomValue = Math?.random()?.toString()?.replace('0.', '');\n try {\n if (!webcrypto && !!window && window?.crypto) {\n webcrypto = window.crypto;\n }\n } catch (error) {console.log}\n try {\n const ar = webcrypto.getRandomValues(new Uint8Array(12));\n randomValue = `${md5(ar)}` || randomValue;\n } catch (error) {}\n const uuid = uuidv5(\n `${JSON.stringify(key)}_${Date.now()}_${randomValue}`,\n uuidv5.URL,\n );\n return uuid;\n}\n\n\n/**\n * 获取定制Session\n */\nexport const getCustomSession = windowManager.getCustomSession;\n\n/**\n * 等待 SDK 初始化完成\n * @param callback 初始化完成后的回调函数\n */\nexport const onReady = (callback: (sdk: SDK_TYPE) => void) => {\n if (isInitialized) {\n // 已经初始化,直接调用回调\n // @ts-ignore\n const sdk = global['__GLBOAL_ELECTRON_SDK__'];\n if (sdk) {\n callback(sdk);\n } else {\n // 如果 SDK 不存在,添加到队列等待\n readyCallbacks.push(callback);\n }\n } else {\n // 还没初始化,添加到队列等待\n readyCallbacks.push(callback);\n }\n};\n\n/**\n * 获取SDK实例\n * @returns\n */\nexport default new Proxy({} as SDK_TYPE & { onReady: typeof onReady }, {\n get(_target, prop) {\n if (prop === 'onReady') {\n return onReady;\n }\n if (!isInitialized) {\n throw new Error('请在ready前先调用initialize');\n }\n if (!prop) {\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n }\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'][prop];\n },\n set() {\n return false;\n }\n}) as SDK_TYPE & { onReady: typeof onReady };\n"],"names":["remote","isInitialized","webContents","ipc","logs","initializeStore","initializeClipboard","initializeShortcut","appStoreInit","setFFmpegPath","windowManager","ResourceCache","app","getDownloader","downloadVideo","clearVideoCache","getVideoCacheStats","removeVideoCache","getAppStore","IPC_GET_APP_METRICS","promisify","uuid","uuidv5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/src/main/index.ts"],"sourcesContent":["import type { WebContents } from 'electron'\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport {promisify} from 'node:util';\nimport electron, { app, webContents } from 'electron';\nimport md5 from 'md5';\nimport { v5 as uuidv5 } from 'uuid';\nimport lodash from 'lodash';\nimport * as remote from '@electron/remote/main'\nimport * as ipc from '@lynker-desktop/electron-ipc/main'\nimport * as logs from '@lynker-desktop/electron-logs/main'\nimport * as windowManager from '@lynker-desktop/electron-window-manager/main'\nimport type { PreloadWebContentsConfig } from '@lynker-desktop/electron-window-manager/common'\nimport { IPC_GET_APP_METRICS, type ServeOptions, type VideoDownloadOptions, type VideoProgressCallback, type VideoDownloadResult, type CacheOptions } from '../common';\nimport { initializeStore, getAppStore, appStoreInit } from './store';\nimport { initializeClipboard } from './clipboard';\nimport { initializeShortcut } from './shortcut';\nimport { ResourceCache, type ResourceCacheOptions } from './resource-cache';\nimport { downloadVideo, clearVideoCache, getVideoCacheStats, removeVideoCache, getFileUrl, setFFmpegPath } from './video-downloader';\nimport { DownloadOptions, getDownloader, Downloader } from './downloader';\nimport type ElectronStore from 'electron-store';\n\n// 重新导出 ResourceCache 相关类型和类,以便外部使用\nexport { ResourceCache, type ResourceCacheOptions, getAppStore };\n\nif (!remote.isInitialized()) {\n remote.initialize();\n}\n\nexport let isInitialized = false;\n// 等待初始化的回调队列\nconst readyCallbacks: Array<(sdk: SDK_TYPE) => void> = [];\n\nexport interface SDK_TYPE {\n ipc: typeof ipc.mainIPC;\n windowManager: windowManager.WindowsManager,\n getPreload: () => string;\n downloadVideo: (options: VideoDownloadOptions, callbacks?: VideoProgressCallback) => Promise<VideoDownloadResult>;\n clearVideoCache: (outputDir: string) => void;\n getVideoCacheStats: (outputDir: string) => { size: number; entries: Array<{ fileName: string; filePath: string; fileSize: number; mtime: number }> };\n removeVideoCache: (options: VideoDownloadOptions) => boolean;\n getAppStore: (name: string) => ElectronStore;\n appStoreInit: (stores: string[]) => boolean;\n downloader: Downloader;\n}\n\n\nfunction findWebContentsByPid(pid: number): {id: number, url: string} | undefined {\n const all = webContents.getAllWebContents();\n\n const wc = all.find((wc) => {\n try {\n return wc.getOSProcessId() === pid;\n } catch (e) {\n return false;\n }\n });\n // @ts-ignore\n return wc ? {id: wc.id, url: wc.getURL()} : undefined;\n}\n\n\n/**\n * 初始化\n * @param protocol 唤起协议 例:dgz\n * @param preload 预加载js 必须传\n * @param loadingViewUrl 窗口管理默认loading页面\n * @returns\n */\nexport const initialize = (options: { protocol: string, preload: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsConfig?: PreloadWebContentsConfig, webviewDomainWhiteList?: string[], serveOptions?: ServeOptions, resourceCacheOptions?: ResourceCacheOptions, ffmpegPath?: string, appStores?: string[] }): SDK_TYPE => {\n let {protocol, preload, loadingViewUrl, serveOptions = [], errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList, resourceCacheOptions} = options;\n if (isInitialized) {\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n }\n isInitialized = true;\n ipc.initialize();\n logs.initialize();\n initializeStore();\n initializeClipboard();\n initializeShortcut();\n if (options.appStores && options.appStores.length) {\n appStoreInit(options.appStores as string[]);\n }\n if (options.ffmpegPath) {\n setFFmpegPath(options.ffmpegPath);\n }\n const wm = windowManager.initialize(preload, loadingViewUrl, errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList || []);\n if (protocol) {\n registerProtocol(protocol);\n }\n if (!serveOptions) {\n serveOptions = []\n }\n if (resourceCacheOptions) {\n if (resourceCacheOptions.cacheDir) {\n serveOptions.push({\n scheme: ResourceCache.scheme,\n directory: resourceCacheOptions.cacheDir,\n })\n }\n }\n if (serveOptions && serveOptions.length) {\n serve(serveOptions);\n }\n if (resourceCacheOptions) {\n app.on('ready', () => {\n new ResourceCache(electron.session.defaultSession, resourceCacheOptions);\n });\n }\n class SDK {\n static ipc = ipc.mainIPC;\n static windowManager = wm;\n static getPreload = () => preload;\n static downloader = getDownloader();\n static downloadVideo = downloadVideo;\n static clearVideoCache = clearVideoCache;\n static getVideoCacheStats = getVideoCacheStats;\n static removeVideoCache = removeVideoCache;\n static getAppStore = getAppStore;\n static appStoreInit = appStoreInit;\n }\n ipc.mainIPC.handleRenderer(IPC_GET_APP_METRICS, async () => {\n const metrics = app.getAppMetrics().map(i => {\n const webContents = findWebContentsByPid(i.pid || 0);\n console.log('webContents', webContents);\n return {\n ...i,\n webContents: webContents?.id || undefined,\n url: webContents?.url,\n }\n })\n return JSON.stringify(metrics);\n })\n ipc.mainIPC.handleRenderer(`__sdk_transcode_video__`, async (options:VideoDownloadOptions) => {\n const md5Options = md5(JSON.stringify(options.url));\n downloadVideo(options, {\n onDownloadProgress: (progress) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'downloadProgress',\n data: progress\n });\n },\n onTranscodeProgress: (progress) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'transcodeProgress',\n data: progress\n });\n },\n onComplete: (result) => {\n ipc.mainIPC.invokeAllRendererNotReply(`__sdk_transcode_video_callback_${md5Options}__`, {\n type: 'complete',\n data: result\n });\n },\n });\n return true;\n })\n ipc.mainIPC.handleRenderer('core:relaunch', async (extraArgs: string[] = []): Promise<boolean> => {\n try {\n const args = process.argv\n .slice(1) // 去掉 electron 可执行路径\n .concat(extraArgs);\n console.log('core:relaunch', args);\n app.relaunch({ args });\n app.exit(0);\n return true;\n } catch (error) {\n console.error('[GlobalAppStore] 重新启动应用失败:', error);\n return false;\n }\n })\n // @ts-ignore\n global['__GLBOAL_ELECTRON_SDK__'] = SDK;\n // 调用所有等待初始化的回调\n readyCallbacks.forEach(callback => {\n try {\n callback(SDK);\n } catch (error) {\n console.error('onReady callback error:', error);\n }\n });\n // 清空回调队列\n readyCallbacks.length = 0;\n return SDK;\n}\n\n/** 后续再优化 */\nexport const getSDK = (): SDK_TYPE => {\n // @ts-ignore\n if (!global['__GLBOAL_ELECTRON_SDK__']) {\n throw '请在ready前先调用initialize'\n }\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n}\n\n/**\n * 注册唤起\n */\nexport const registerProtocol = (() => {\n let isRegister = false;\n let launchOptions = ``;\n return (protocol: string) => {\n if (isRegister) {\n return;\n }\n isRegister = true;\n if (process.defaultApp) {\n if (process.argv.length >= 2) {\n app.setAsDefaultProtocolClient(protocol, process.execPath, [path.resolve(lodash.get(process, `argv[1]`, ''))]);\n }\n } else {\n app.setAsDefaultProtocolClient(protocol);\n }\n const handleUrl = (url: string) => {\n launchOptions = `${url ?? ''}`;\n ipc.mainIPC.invokeAllRendererNotReply('__GLOBAL_CHANGE_LAUNCH_OPTIONS__', url)\n };\n\n function handleArgv(argv: string[]) {\n const prefix = `${protocol}:`;\n const offset = app?.isPackaged ? 1 : 2;\n const url = argv.find((arg, i) => i >= offset && arg.startsWith(prefix));\n if (url) handleUrl(url);\n }\n\n handleArgv(process.argv);\n\n app.on('second-instance', (event, argv) => {\n console.info(event)\n if (process.platform === 'win32') {\n // Windows\n handleArgv(argv);\n }\n });\n\n // macOS\n app.on('open-url', (event, urlStr) => {\n console.info(event)\n handleUrl(urlStr);\n });\n\n\n app.on(\"open-url\", (_event, url) => {\n handleUrl(url);\n });\n ipc.mainIPC.handleRenderer('__GLOBAL_GET_LAUNCH_OPTIONS__', async () => {\n return launchOptions;\n })\n ipc.mainIPC.handleRenderer('__GLOBAL_DEL_LAUNCH_OPTIONS__', async () => {\n launchOptions = ``;\n return launchOptions;\n })\n }\n})();\n\n/**\n * 注册协议\n * @param options\n * @returns\n */\nexport const serve = (options: ServeOptions) => {\n if (!options.length) {\n\t\tthrow new Error('请传入配置');\n\t}\n const stat = promisify(fs.stat);\n\n // See https://cs.chromium.org/chromium/src/net/base/net_error_list.h\n const FILE_NOT_FOUND = -6;\n\n const getPath: any = async (path_: string) => {\n try {\n const result = await stat(path_);\n\n if (result.isFile()) {\n return path_;\n }\n\n if (result.isDirectory()) {\n return getPath(path.join(path_, 'index.html'));\n }\n } catch (_) {}\n };\n\n const createHandler = (item: any) => {\n return async (request: any, callback: any) => {\n try {\n // 动态获取目录路径:如果是函数则调用,否则直接使用字符串\n let directoryPath: string;\n const requestUrl = new URL(request.url);\n const requestInfo = {\n url: request.url,\n pathname: requestUrl.pathname\n };\n\n if (typeof item.directory === 'function') {\n // directory 是函数,调用它获取路径(支持同步和异步函数)\n const result = item.directory(requestInfo);\n directoryPath = result instanceof Promise ? await result : result;\n } else {\n // directory 是字符串,直接使用\n directoryPath = item.directory;\n }\n\n // 验证目录路径是否有效\n if (!directoryPath || typeof directoryPath !== 'string' || directoryPath.trim().length === 0) {\n callback({error: FILE_NOT_FOUND});\n return;\n }\n\n // 确保目录路径是绝对路径\n const resolvedDirectory = path.isAbsolute(directoryPath)\n ? directoryPath\n : path.resolve(electron.app.getAppPath(), directoryPath);\n\n const indexPath = path.join(resolvedDirectory, 'index.html');\n const filePath = path.join(resolvedDirectory, decodeURIComponent(requestInfo.pathname));\n const resolvedPath = await getPath(filePath);\n const targetPath = resolvedPath || indexPath;\n const ext = path.extname(targetPath).toLowerCase();\n\n if (resolvedPath || !ext || ext === '.html' || ext === '.asar') {\n callback({\n headers: {\n 'Access-Control-Allow-Origin': '*',\n },\n path: resolvedPath || indexPath\n });\n } else {\n callback({error: FILE_NOT_FOUND});\n }\n } catch (error) {\n // 处理动态路径获取或文件访问时的错误\n console.error('[serve] Handler error:', error);\n callback({error: FILE_NOT_FOUND});\n }\n }\n };\n\n\toptions = options.map((item) => {\n\t\treturn {\n\t\t\t...item,\n\t\t\tisCorsEnabled: !!item?.isCorsEnabled,\n\t\t\tscheme: item?.scheme || 'app',\n\t\t\t// 如果 directory 是函数,保留函数;如果是字符串,则解析为绝对路径\n\t\t\tdirectory: typeof item.directory === 'function'\n\t\t\t\t? item.directory\n\t\t\t\t: path.resolve(electron.app.getAppPath(), item.directory),\n\t\t}\n\t})\n // 注册自定义协议的权限配置\n // 说明:\n // bypassCSP: 是否绕过内容安全策略(CSP),允许加载本地资源时不受 CSP 限制\n // standard: 使协议表现得像标准协议(如 http/https),支持标准 API\n // secure: 标记为安全协议,允许安全相关的操作\n // allowServiceWorkers: 允许该协议下注册 Service Worker\n // supportFetchAPI: 允许 fetch/XHR 等 API 访问该协议资源\n // corsEnabled: 是否启用跨域资源共享(CORS)\n // stream: 支持流式传输\n\telectron.protocol.registerSchemesAsPrivileged(options.map((item) => {\n\t\treturn {\n\t\t\tscheme: item.scheme,\n\t\t\tprivileges: {\n bypassCSP: true,\n\t\t\t\tstandard: true,\n\t\t\t\tsecure: true,\n\t\t\t\tallowServiceWorkers: true,\n\t\t\t\tsupportFetchAPI: true,\n\t\t\t\tcorsEnabled: item.isCorsEnabled ?? false,\n stream: true,\n\t\t\t}\n\t\t}\n\t}));\n\treturn new Promise((resolve, reject) => {\n\t\ttry {\n\t\t\telectron.app.on('ready', () => {\n\t\t\t\toptions.forEach((item) => {\n\t\t\t\t\tconst handler = createHandler(item);\n\t\t\t\t\tconst session = item.partition ? electron.session.fromPartition(item.partition) : electron.session.defaultSession;\n\t\t\t\t\tsession.protocol.registerFileProtocol(item.scheme, handler);\n\t\t\t\t})\n\t\t\t\tresolve(true)\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treject(error)\n\t\t}\n\t})\n}\n\n\n/**\n * @electron/remote/main enable方法\n * @param webContents\n * @returns\n */\nexport const enable = (webContents: WebContents) => remote.enable(webContents);\n\n/**\n * 获取随机UUID\n * @param key\n * @returns\n */\nexport function getRandomUUID(key: string = `${Date.now()}`): string {\n let webcrypto!: Crypto;\n let randomValue = Math?.random()?.toString()?.replace('0.', '');\n try {\n if (!webcrypto && !!window && window?.crypto) {\n webcrypto = window.crypto;\n }\n } catch (error) {console.log}\n try {\n const ar = webcrypto.getRandomValues(new Uint8Array(12));\n randomValue = `${md5(ar)}` || randomValue;\n } catch (error) {}\n const uuid = uuidv5(\n `${JSON.stringify(key)}_${Date.now()}_${randomValue}`,\n uuidv5.URL,\n );\n return uuid;\n}\n\n\n/**\n * 获取定制Session\n */\nexport const getCustomSession = windowManager.getCustomSession;\n\n/**\n * 等待 SDK 初始化完成\n * @param callback 初始化完成后的回调函数\n */\nexport const onReady = (callback: (sdk: SDK_TYPE) => void) => {\n if (isInitialized) {\n // 已经初始化,直接调用回调\n // @ts-ignore\n const sdk = global['__GLBOAL_ELECTRON_SDK__'];\n if (sdk) {\n callback(sdk);\n } else {\n // 如果 SDK 不存在,添加到队列等待\n readyCallbacks.push(callback);\n }\n } else {\n // 还没初始化,添加到队列等待\n readyCallbacks.push(callback);\n }\n};\n\n/**\n * 获取SDK实例\n * @returns\n */\nexport default new Proxy({} as SDK_TYPE & { onReady: typeof onReady }, {\n get(_target, prop) {\n if (prop === 'onReady') {\n return onReady;\n }\n if (!isInitialized) {\n throw new Error('请在ready前先调用initialize');\n }\n if (!prop) {\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'];\n }\n // @ts-ignore\n return global['__GLBOAL_ELECTRON_SDK__'][prop];\n },\n set() {\n return false;\n }\n}) as SDK_TYPE & { onReady: typeof onReady };\n"],"names":["remote","isInitialized","webContents","ipc","logs","initializeStore","initializeClipboard","initializeShortcut","appStoreInit","setFFmpegPath","windowManager","ResourceCache","app","getDownloader","downloadVideo","clearVideoCache","getVideoCacheStats","removeVideoCache","getAppStore","IPC_GET_APP_METRICS","promisify","uuid","uuidv5"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lynker-desktop/electron-sdk",
|
|
3
|
-
"version": "0.0.9-alpha.
|
|
3
|
+
"version": "0.0.9-alpha.87",
|
|
4
4
|
"description": "electron-sdk",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"electron",
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
"packageManager": "pnpm@9.6.0",
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@electron/remote": "^2.1.2",
|
|
56
|
-
"@lynker-desktop/electron-ipc": "0.0.9-alpha.
|
|
57
|
-
"@lynker-desktop/electron-logs": "0.0.9-alpha.
|
|
58
|
-
"@lynker-desktop/electron-window-manager": "0.0.9-alpha.
|
|
56
|
+
"@lynker-desktop/electron-ipc": "0.0.9-alpha.87",
|
|
57
|
+
"@lynker-desktop/electron-logs": "0.0.9-alpha.87",
|
|
58
|
+
"@lynker-desktop/electron-window-manager": "0.0.9-alpha.87",
|
|
59
59
|
"electron-store": "^11.0.2",
|
|
60
60
|
"events": "^3.3.0",
|
|
61
61
|
"lodash": "^4.17.21",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"tslib": "^2.6.3",
|
|
93
93
|
"typescript": "^5.5.3"
|
|
94
94
|
},
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "b8363d1f65cffbada2072e63caacf5a585084c74"
|
|
96
96
|
}
|