ZaiZai 6 maanden geleden
bovenliggende
commit
0efffd0147
10 gewijzigde bestanden met toevoegingen van 130 en 3 verwijderingen
  1. 8 0
      .editorconfig
  2. 22 0
      .gitignore
  3. 0 3
      README.md
  4. BIN
      build/icon.icns
  5. BIN
      build/icon.ico
  6. BIN
      build/icon.png
  7. 38 0
      electron-builder.yml
  8. 14 0
      package.json
  9. 37 0
      src/main.js
  10. 11 0
      src/preload.js

+ 8 - 0
.editorconfig

@@ -0,0 +1,8 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 4
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true

+ 22 - 0
.gitignore

@@ -0,0 +1,22 @@
+.DS_Store
+node_modules
+dist
+app
+
+# local env files
+.env.local
+.env.*.local
+
+# log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw*

+ 0 - 3
README.md

@@ -1,3 +0,0 @@
-# local_analysis
-
-数据分析系统

BIN
build/icon.icns


BIN
build/icon.ico


BIN
build/icon.png


+ 38 - 0
electron-builder.yml

@@ -0,0 +1,38 @@
+appId: com.local.analysis.app
+productName: 数据分析系统
+directories:
+    output: app
+    buildResources: resources
+files:
+    - dist/**/*
+    - src/**/*
+    - package.json
+icon: build/icon.png
+asarUnpack:
+    - resources/**
+win:
+    icon: build/icon.ico
+    target:
+        - nsis
+    executableName: 数据分析系统
+    requestedExecutionLevel: 'requireAdministrator'
+nsis:
+    artifactName: 数据分析系统-安装包.${ext}
+    shortcutName: ${productName}
+    uninstallDisplayName: 卸载${productName}
+    createDesktopShortcut: always
+mac:
+    icon: build/icon.icns
+    target:
+        - dmg
+    extendInfo:
+        -   NSDocumentsFolderUsageDescription: 应用程序请求访问用户的Documents文件夹.
+        -   NSDownloadsFolderUsageDescription: 应用程序请求访问用户的下载文件夹.
+    notarize: false
+dmg:
+    sign: false
+    artifactName: 数据分析系统-安装包.${ext}
+appImage:
+    artifactName: 数据分析系统-安装包.${ext}
+electronDownload:
+    mirror: https://npmmirror.com/mirrors/electron/

+ 14 - 0
package.json

@@ -0,0 +1,14 @@
+{
+    "name": "local_analysis_app",
+    "version": "1.0.0",
+    "productName": "数据分析系统",
+    "main": "src/main.js",
+    "scripts": {
+        "start": "electron .",
+        "build": "electron-builder"
+    },
+    "devDependencies": {
+        "electron": "^32.0.1",
+        "electron-builder": "^24.13.3"
+    }
+}

+ 37 - 0
src/main.js

@@ -0,0 +1,37 @@
+const { app, BrowserWindow, screen } = require('electron')
+const path = require('path')
+
+const createWindow = () => {
+    // 获取主显示器的尺寸
+    const primaryDisplay = screen.getPrimaryDisplay()
+    const { width, height } = primaryDisplay.workAreaSize
+
+    const win = new BrowserWindow({
+        width: width,
+        height: height,
+        webPreferences: {
+            contextIsolation: true,
+            nodeIntegration: false
+        }
+    })
+
+    // 将窗口位置设置为(0,0),确保它位于屏幕左上角
+    win.setPosition(0, 0)
+
+    win.loadFile(path.join(__dirname, '../dist/index.html'))
+}
+
+app.whenReady().then(() => {
+    createWindow()
+    app.on('activate', () => {
+        if (BrowserWindow.getAllWindows().length === 0) {
+            createWindow()
+        }
+    })
+})
+
+app.on('window-all-closed', () => {
+    if (process.platform !== 'darwin') {
+        app.quit()
+    }
+})

+ 11 - 0
src/preload.js

@@ -0,0 +1,11 @@
+// 预加载脚本可以在这里添加一些特权操作
+window.addEventListener('DOMContentLoaded', () => {
+    const replaceText = (selector, text) => {
+        const element = document.getElementById(selector)
+        if (element) element.innerText = text
+    }
+
+    for (const dependency of ['chrome', 'node', 'electron']) {
+        replaceText(`${dependency}-version`, process.versions[dependency])
+    }
+})