Browse Source

first commit

master
unknown 4 years ago
parent
commit
20ae34cc56
6 changed files with 1643 additions and 0 deletions
  1. +24
    -0
      .gitignore
  2. +2
    -0
      .npmrc
  3. +1512
    -0
      package-lock.json
  4. +25
    -0
      package.json
  5. +78
    -0
      src/main/index.js
  6. +2
    -0
      src/main/preload.js

+ 24
- 0
.gitignore View File

@@ -0,0 +1,24 @@
.DS_Store
node_modules
/dist
electron_dist

# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*


# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

+ 2
- 0
.npmrc View File

@@ -0,0 +1,2 @@
electron_mirror=https://npm.taobao.org/mirrors/electron/
registry=https://registry.npm.taobao.org

+ 1512
- 0
package-lock.json
File diff suppressed because it is too large
View File


+ 25
- 0
package.json View File

@@ -0,0 +1,25 @@
{
"name": "locking-client",
"version": "1.0.0",
"description": "locking-client",
"main": "src/main/index.js",
"scripts": {
"electron": "electron ./src/main/index.js",
"package": "electron-packager . --platform=win32 --arch=x64 --out ./electron_dist"
},
"repository": {
"type": "git",
"url": "http://47.104.91.134:3000/yiyun-fe/LOCKING-CLIENT.git"
},
"keywords": [
"locking",
"client",
"shell"
],
"author": "yiyun",
"license": "ISC",
"devDependencies": {
"electron": "^10.1.5",
"electron-packager": "^15.1.0"
}
}

+ 78
- 0
src/main/index.js View File

@@ -0,0 +1,78 @@
// Modules to control application life and create native browser window
const { app, BrowserWindow, protocol, ipcMain, dialog } = require('electron')
const path = require('path')

function createWindow() {
// Create the browser window.
const mainWindow = new BrowserWindow({
width: 1080,
height: 600,
webPreferences: {
nodeIntegration: true,
// javascript: true,
// plugins: true,
preload: path.join(__dirname, './', 'preload.js'),
},
// frame: false,
})

// const startUrl = url.format({
// pathname: path.join(__dirname, './dist/index.html'),
// protocol: 'file:',
// slashes: true
// });
// console.log('startUrl:', startUrl)
// and load the index.html of the app.
// mainWindow.loadFile('./dist/index.html')
// mainWindow.loadURL('http://47.104.91.134:9000');
// mainWindow.loadURL('http://47.104.91.134:9000', { "extraHeaders": "pragma: no-cache\n" });
mainWindow.loadURL('http://localhost:8081');
// 隐藏菜单栏
mainWindow.setMenuBarVisibility(false);
// Open the DevTools.
mainWindow.webContents.openDevTools()
}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(() => {
createWindow()
protocol.interceptFileProtocol('file', (request, callback) => {
const reqUrl = request.url.replace(/file:[/\\]*/, '');
//
let url = reqUrl;
const urls = reqUrl.split(/\/static\//);
if (urls.length > 1) {
url = path.resolve(__dirname, 'dist/static', urls.slice(1).join('/static/'));
}
// console.log('incomming url: ', reqUrl, ' resolved url:', url);
callback({ path: url });
})
app.on('activate', function () {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
})

// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') app.quit()
})

// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.

// 监听必要的自定义事件
/**
* 项目中的文件上传
*/
ipcMain.handle('project-upload-file', async (event, args) => {
const res = await dialog.showOpenDialog({
properties: ['openFile'],
});
return res;
});

+ 2
- 0
src/main/preload.js View File

@@ -0,0 +1,2 @@
global.electron = require('electron');
global.os = require('os');

Loading…
Cancel
Save