2023-02-26 01:30
This commit is contained in:
24
sysinfo/.eslintrc.json
Normal file
24
sysinfo/.eslintrc.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"env": {
|
||||
//"browser": true,
|
||||
//"commonjs": true,
|
||||
"es6": true,
|
||||
"node": true
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/eslint-recommended"
|
||||
],
|
||||
"globals": {
|
||||
"Atomics": "readonly",
|
||||
"SharedArrayBuffer": "readonly"
|
||||
},
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2018
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
1
sysinfo/.gitignore
vendored
Normal file
1
sysinfo/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
55
sysinfo/main.js
Normal file
55
sysinfo/main.js
Normal file
@@ -0,0 +1,55 @@
|
||||
const { app, BrowserWindow, Menu, MenuItem } = require('electron');
|
||||
|
||||
function createWindow() {
|
||||
let win = new BrowserWindow({
|
||||
width: 800,
|
||||
height: 600,
|
||||
webPreferences: {
|
||||
nodeIntegration: true
|
||||
}
|
||||
});
|
||||
|
||||
createMenu();
|
||||
|
||||
win.loadFile('build/index.html');
|
||||
|
||||
win.webContents.openDevTools();
|
||||
|
||||
|
||||
}
|
||||
|
||||
function createMenu() {
|
||||
const menu = [
|
||||
{
|
||||
label: 'File',
|
||||
submenu: [
|
||||
{ label: 'Exit', role: 'quit' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Edit',
|
||||
submenu: [
|
||||
{ label: 'Copy', role: 'copy' },
|
||||
{ label: 'Cut', role: 'cut' },
|
||||
{ label: 'Paste', role: 'paste' },
|
||||
{ type: 'separator' },
|
||||
{ label: 'Undo', role: 'undo' },
|
||||
{ label: 'Redo', role: 'redo' },
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
Menu.setApplicationMenu(Menu.buildFromTemplate(menu));
|
||||
}
|
||||
|
||||
app.whenReady().then(createWindow);
|
||||
app.on('window-all-closed', () => {
|
||||
if (process.platform !== 'darwin') {
|
||||
app.quit();
|
||||
}
|
||||
});
|
||||
app.on('activate', () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) {
|
||||
createWindow();
|
||||
}
|
||||
});
|
||||
29
sysinfo/package.json
Normal file
29
sysinfo/package.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "@elex/sysinfo",
|
||||
"version": "1.0.0",
|
||||
"description": "SysInfo",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
"start": "electron .",
|
||||
"build": "tsc",
|
||||
"pack-linux": "electron-packager . sysinfo --out ./dist --platform-linux --asar --overwrite=true --prune=true",
|
||||
"pack-windows": "electron-packager . sysinfo --out ./dist --platform=win32 --asar --overwrite=true --prune=true",
|
||||
"clean": "rm -r ./dist/*",
|
||||
"test": "node ./src/si.test.js"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "Elex",
|
||||
"license": "ELEX",
|
||||
"devDependencies": {
|
||||
"electron": "^8.2.3",
|
||||
"electron-packager": "^14.2.1",
|
||||
"eslint": "^6.8.0"
|
||||
},
|
||||
"publishConfig": {
|
||||
"registry": "https://repository.elex-project.com/repository/npm-personal/"
|
||||
},
|
||||
"dependencies": {
|
||||
"moment": "^2.24.0",
|
||||
"systeminformation": "^4.23.5"
|
||||
}
|
||||
}
|
||||
5
sysinfo/src/index.ts
Normal file
5
sysinfo/src/index.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
const ui = require('./components');
|
||||
|
||||
module.exports = {
|
||||
ui
|
||||
};
|
||||
8
sysinfo/src/si.general.test.ts
Normal file
8
sysinfo/src/si.general.test.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
const general = require('./si.general')
|
||||
|
||||
const obj = new general.General();
|
||||
console.log(obj.version);
|
||||
console.log(obj.currentTime.toLocaleString());
|
||||
console.log(obj.uptime);
|
||||
console.log(obj.timezone);
|
||||
console.log(obj.timezoneName);
|
||||
24
sysinfo/src/si.general.ts
Normal file
24
sysinfo/src/si.general.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
const si = require('systeminformation');
|
||||
const moment = require('moment');
|
||||
|
||||
class General {
|
||||
version: string;
|
||||
currentTime: Date;
|
||||
uptime: string;
|
||||
timezone: string;
|
||||
timezoneName: string;
|
||||
|
||||
constructor() {
|
||||
this.version = si.version();
|
||||
let time = si.time();
|
||||
this.currentTime = new Date(time.current);
|
||||
let ut = moment.duration(time.uptime, 'seconds');
|
||||
this.uptime = ut.hours() + ":" + ut.minutes() + ":" + ut.seconds();
|
||||
this.timezone = time.timezone;
|
||||
this.timezoneName = time.timezoneName;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
General
|
||||
};
|
||||
21
sysinfo/tsconfig.json
Normal file
21
sysinfo/tsconfig.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"compileOnSave": true,
|
||||
"compilerOptions": {
|
||||
"target": "ES2015",
|
||||
"module": "ES2015",
|
||||
"moduleResolution": "Node",
|
||||
"noImplicitAny": true,
|
||||
"removeComments": true,
|
||||
"preserveConstEnums": true,
|
||||
"sourceMap": true,
|
||||
"outDir": "./build",
|
||||
"watch": true
|
||||
},
|
||||
"include": [
|
||||
"src/**/*"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"**/*.spec.ts"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user