preload.js 885 B

1234567891011121314151617181920212223242526272829
  1. const { contextBridge } = require('electron');
  2. // 获取数据目录路径(用于显示给用户)
  3. // 使用字符串拼接而不是 path.join 避免模块依赖问题
  4. function getDataDirPath() {
  5. const platform = process.platform;
  6. const homeDir = process.env.HOME || process.env.USERPROFILE || '';
  7. switch (platform) {
  8. case 'darwin':
  9. return `${homeDir}/Library/Application Support/New API/data`;
  10. case 'win32': {
  11. const appData = process.env.APPDATA || `${homeDir}\\AppData\\Roaming`;
  12. return `${appData}\\New API\\data`;
  13. }
  14. case 'linux':
  15. return `${homeDir}/.config/New API/data`;
  16. default:
  17. return `${homeDir}/.new-api/data`;
  18. }
  19. }
  20. contextBridge.exposeInMainWorld('electron', {
  21. isElectron: true,
  22. version: process.versions.electron,
  23. platform: process.platform,
  24. versions: process.versions,
  25. dataDir: getDataDirPath()
  26. });