InitialCommit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Debug Main Process",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
|
||||
"windows": {
|
||||
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
|
||||
},
|
||||
"args" : ["."],
|
||||
"outputCapture": "std"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
const { app, Tray, Menu, nativeImage, BrowserWindow, ipcMain } = require('electron')
|
||||
const path = require('path');
|
||||
const {sendData} = require("./src/internetConnection.js")
|
||||
|
||||
let tray
|
||||
let win
|
||||
|
||||
|
||||
ipcMain.on("call",(_event,params)=>{sendData(params)})
|
||||
|
||||
const createWindow=()=>{
|
||||
win = new BrowserWindow({
|
||||
width: 350,
|
||||
height: 600,
|
||||
show: false,
|
||||
titleBarStyle: 'default',
|
||||
resizable: true,
|
||||
webPreferences:{
|
||||
preload:path.join(__dirname,"src/preload.js")
|
||||
}
|
||||
});
|
||||
win.loadFile("./src/index.html");
|
||||
}
|
||||
|
||||
app.whenReady().then(() => {
|
||||
const icon = nativeImage.createFromDataURL('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAACsZJREFUWAmtWFlsXFcZ/u82++Jt7IyT2Em6ZFHTpAtWIzspEgjEUhA8VNAiIYEQUvuABBIUwUMkQIVKPCIoEiABLShISEBbhFJwIGRpIKRpbNeJ7bh2HHvssR3PPnPnLnzfmRlju6EQqUc+c++c8y/fv54z1uQOh+/7Glh0TD59TE/TND7lnfa4/64OKsM071QoeZpA/y9WWvk/B4XCC06TUC+Xyw8HTXNQ1+Ww6PpOrMebewXxvBueJ6/XHOdMJBL5J9Y97m2R0SS/wweE6JxkGx5dilWr1S/7dXsEa2o4+LyFmcFcaL5zbX3Y9gh5hpeWYpSB9XV5/H678V89BGYDXnHJlCsWn4gHrGc1K9CXxferOdvPOOKUfF8cH7nUyCtklQZXih/VNNlmirk3GdBSoIcRswW7/vVkLPYi5W2Uze8bh7J+4wLfh4dViFx5/nmrUi7/MhGNvrCkBfpeWqnW/7BUdadqntQ8zwr6vhUV34xpYnDynWvcmwQNaclDXsqgLMqkocPDw7fNx7d5qIX+/PmJxKGD6VdDkeh7ztyqOFfrokGCEWiiZ1mp0uITnuKAosaT7+pNxMYTyefutcQfbA+b1XLpH5fnF97/yD335Fu6mqTqsclDINBVmI4fDxw80KPAvJSt1MZtMcLiGxYUu83p4UkgnJZlqcl3LAj3WnTkIS9lUBYNPJjueVWgg7qocyOgliFqjZsg8gq5tRdiieQTf1gq15Y8CUbRZtyWOzZwc8lEqS3PTCtgqd13ieO68BQ2uNl64tXAewktrFuX2mPdkWAxn3sxnmx7sqUTJGqso8MGS9tbXFz8DMH8bblUX3T9QARVi8RV8qljfcJy0zRlaf6mzHEuzEtmekqCoZB4rqp0OmudHtUnlEWZlE0d1EWd1N3EozourcO65pw4eTIZQTW9VazJtbqvw9XwKVFQMsKDBuNhtp4uvGGFI+IDgKnpMjYyIis3ZsQMBIR7pONsIaMsyqRs6ohY1rPUSd3EQFDqo+kdZ3Fh4aupbdu+99uFQr2A1CBs4uEAjZjIFUMHi4dVxMXzCdCXQj4vBrwVCofl0ulTcv/DAxJJJBUPc8mpoyI2JDw7bFyT+ifTcSubyXytJ51+roWBxwG9Q73WWjZ7eSUU3//nXM0NI+x0PBGrTSgsLS9JFuFxHFrvSqIrJV279gi6tjiVspTza3JjZhY+0CQZj0mlWJSeHTslCro6eFqymCcVVN77kkGjs1p4sy2VOoSlOrFwT+XR+PjkgGaZ+ycKVbRTYUdVrmaImCvzk1dlFCEJdHRJ284+ie/ol0h7p7jFvExcvCCXzp2Rqem3pAMAiqWS6JGYhFI9Mjo6KjevXVUyKEuFHrKpY6JQ8TXT3D8+OTkAHBw6o6LCFo9ag3o4JtlCyTHEt5AxKvS6YUi5kJeZG3Py0NAxlLcJ9xti+K7Mjo/JfGZRuvv6Ze+9+yWEhDZAvzg3JyhX2d6/S7q6e+TimdOS7ElLKBZDwqvmj6rztayr1fVI1IoXi4PAcYZY1tPEEO1wEVlXgRFBDcmIXTqJsS+XyhKLJ5A/OpIVXXptWUYv/UvaenfIocEhMQ2EzHHErlXFCgQl3paU1eVl6QAY8sQTCSmVihKJx1V/ogvgIYF/pACdcMBhqONoHhF88/2d+bojyA6cRvje2IdFjoSjUSnBS8hgyS9lZOzKFdmPxO3o6gQIGzwuDn1dVSCtCKPy1pZXlATXqUsVYMLRmKo87vP4Y1ioqwCdCegmMYx3W/VPn8RrSDwwIMMbcEjkYo29JZVOy+ybI7K4eksODx1VSqvligpReSVLgySM/FI5h2q062jNyL3s7FtoAyGJIlx1225UmwJF6aJRJ3XzHXO9bWvsJa3jQFlBJkz6iuXdu32HzM7MyP0PPNgAU6ko4Qzp6b+flr8MD9OYJg9CwtzL5+T65ITs2bsP3mGxN/ZbBcOn0sk20gAkLQ+huXpFi8vkoY9AoyDjxTR1mbo6Ltt275HpN0dlNxQE40mVM8Ajjxx9VAGhAvQR1akZFCq799ADysMuQqOxh2FNmamEaz51ItGLfFD9+oUJoZkLowHoFA2mljUacqOMflKuVmHpfmnfvlMuvXZeStmMBIMhcWEdjgFJtrUjXI0KchAuAg0ilxLJNoRVBxhIBm0TjjKAuqjTqTs3CQZ6QUUMGFW7eiWMUg6w+yo8YMW7DqtqlZLkUDV2ISfd29KyDwk9MjYmMyOXxQIIKuShqo4VGFNBEgeDQYqVam5N5tEePFQgURIUBCsd1EWd1XrtDUUMLARD9bKaK5ytQ2Gb75g8WMiEP6VkfnZGevv6UF1vSBW5E0PFDAweFRvlfun8WVmamhDNrkmweQ0pwaPt6M4m8mgKTTFXqcrV0ZH1FKBg6qAu6qTuJiCV1Cp2Q0NDr9Uq5Ym+oMEDlSewsoRwrVBEaij7AJ4s7zrOpumxEdm15y6558GHJVe1Zezy6zJx6aJkpq5JFB4z6zVZmBiX1VWUP0IY4CFMYcpQdZ3xqIs6oftCE5DHKwd0q/tzOV8svdDb3nk8VnG9qmgQC0ZURz8Ur91alXgSByZ6ES9kZZTr/PR16UOCh+7dq0CWyyXJ4xqCQ0nKt9YQSlPue2gAeYZzD7yNLk0wmqAreb2WYSxAJ8Dget64wxtEBlDaqVOn/K5dB67t6+t5MhoMJuc8w8UPKiQ9CQR9JK5czhZAQxPt7TKF3OiAIisUViAD2Lg5d0P2HDgoKeRaW0enyqVwBJcO5fFG5dqa7h406qaeX8384uTZL5w9+UqxhYHFp0YLIYA9ddfu3T+4UJF6Rg+YAc9D0+RoIGP1ULhpWspr10evyK7+ftWTrk9PS/++A9KZSm26cih2mMOErem6n/ZsZwA2TM/MPHXs2LEftnSTbh0Q36mIIbx44cLvOnu3f+xUwbWLmoHTCUlF6g2jBQo/GnFrnGNqSHdvr+rIKGMW1KahwEBdzHft98aNwMr8zd8/NDDwccihc0hLi3GubRjY0Bm6H19fPvnZI4c/fHd7PJ2peXYZ+WQ26JufZELjQ6lbAQtnWre0d3apY8TFIdtAo+Qri6mupsB49lBMC+QXF0YefObZT8j0eKWlswVjEyCCOXHihPGb575VCvVuf3lvetsH9rXF0rla3cnhpoIGjgsUPhR3I4TMKYJQV1Z6WO02aEjHa5mNe3OPW3OPRHVrbXFh9Ocvv/KR1372owx1Pf3005uc35Ddgtd8rsf06IdS5777zZ+mUqmPzjm6TPpmvayZOq4LyATeCzkanmiy4qEuC/yXiO8CSMRzvLs1x9phepLNZl868sy3Pyen/5hd1/EfRvWmuvSWNeaRS/RkPDI4+NjE1NSXEoXlpaNB1zqo20abi59/vu/UfM2pie7WUDVq8l3wTwnskeZ+zTbIQ17KoCzKpGzq2KqX32/roRbh8ePHdUzl0s9/5Rv9n/7go19MxCKfCkZiu3V06wrO5gocxL7Dgd/IEobEMH6rejg+auXidL5Y/vWv/vTX53/y/e/MkGajTH7fOt4RUJOY1df4RdtY6ICFRzqTySOhUOA+3Ai3o31H1ZbnlXBruFmt2iMrudy5xx9//BzWV7nXDBGN2xpjbt/5oGUEdhtO3iD47xZOvm8a5CHvpsV38wsUaMwBWsz3rbK5xr0mzdv2t9Jv/f5vhsF4J+Q63IUAAAAASUVORK5CYII=')
|
||||
tray = new Tray(icon)
|
||||
createWindow()
|
||||
|
||||
const Brightness = Menu.buildFromTemplate([
|
||||
{ label:"10%",type: "normal",click:()=>{sendData({"dimming":10})}},
|
||||
{ label:"25%",type: "normal",click:()=>{sendData({"dimming":25})}},
|
||||
{ label:"50%",type: "normal",click:()=>{sendData({"dimming":50})}},
|
||||
{ label:"75%",type: "normal",click:()=>{sendData({"dimming":75})}},
|
||||
{ label:"100%",type: "normal",click:()=>{sendData({"dimming":100})}},
|
||||
])
|
||||
|
||||
|
||||
const contextMenu = Menu.buildFromTemplate([
|
||||
{ label:"Brightness", type:"submenu", submenu:Brightness},
|
||||
{ label:"Close", type: "normal", click:()=>{win.close()}}
|
||||
])
|
||||
|
||||
tray.addListener("click",()=>{win.isVisible() ? win.hide() : win.show()});
|
||||
tray.setToolTip('WIZ App')
|
||||
tray.setContextMenu(contextMenu)
|
||||
})
|
||||
Generated
+13928
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"electron-squirrel-startup": "^1.0.0",
|
||||
"electron-tray-window": "^1.2.5",
|
||||
"local-devices": "^3.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron-forge/cli": "^6.0.0-beta.65",
|
||||
"@electron-forge/maker-deb": "^6.0.0-beta.65",
|
||||
"@electron-forge/maker-rpm": "^6.0.0-beta.65",
|
||||
"@electron-forge/maker-squirrel": "^6.0.0-beta.65",
|
||||
"@electron-forge/maker-zip": "^6.0.0-beta.65",
|
||||
"electron": "^19.0.8"
|
||||
},
|
||||
"name": "taskbarapp",
|
||||
"version": "1.0.0",
|
||||
"description": "Testing",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
"start": "electron-forge start",
|
||||
"package": "electron-forge package",
|
||||
"make": "electron-forge make"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"config": {
|
||||
"forge": {
|
||||
"packagerConfig": {},
|
||||
"makers": [
|
||||
{
|
||||
"name": "@electron-forge/maker-squirrel",
|
||||
"config": {
|
||||
"name": "taskbarapp"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "@electron-forge/maker-zip",
|
||||
"platforms": [
|
||||
"darwin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "@electron-forge/maker-deb",
|
||||
"config": {}
|
||||
},
|
||||
{
|
||||
"name": "@electron-forge/maker-rpm",
|
||||
"config": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
document.getElementById("ON").onclick=api.func;
|
||||
@@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>WizBulbs</title>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" >
|
||||
<script src='./button.js'></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="button" id="ON" onclick="api.func({'state': true})">ON</div>
|
||||
<div class="button" id="OFF" onclick="api.func({'state':false})">OFF</div>
|
||||
<div class="button" id="B10" onclick="api.func({'dimming':10})">10%</div>
|
||||
<div class="button" id="B50" onclick="api.func({'dimming':50})">50%</div>
|
||||
<div class="button" id="B100" onclick="api.func({'dimming':100})">100%</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,28 @@
|
||||
const dgram = require("node:dgram");
|
||||
const find = require("local-devices");
|
||||
|
||||
const MAC_adress="a8:bb:50:4c:e6:1a";
|
||||
const port=38899;
|
||||
const message={"method": "setPilot","params": {}}
|
||||
const getmsg={"method":"getPilot","params":{}}
|
||||
let address="";
|
||||
|
||||
const sendData = (params)=>{
|
||||
find().then(devices=>{
|
||||
devices.forEach(device => {
|
||||
if(device.mac===MAC_adress){
|
||||
address=device.ip;
|
||||
}
|
||||
});
|
||||
message.params=params
|
||||
}).then(()=>{
|
||||
server.send(JSON.stringify(message),port,address);
|
||||
})
|
||||
const server=new dgram.createSocket("udp4");
|
||||
server.on("message",(msg,rinfo)=>{
|
||||
console.log(msg.toString()+" "+rinfo.toString());
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
module.exports={sendData}
|
||||
@@ -0,0 +1,5 @@
|
||||
const { contextBridge, ipcRenderer } = require('electron');
|
||||
|
||||
contextBridge.exposeInMainWorld("api",{
|
||||
func: (params)=>ipcRenderer.send("call",params)
|
||||
})
|
||||
@@ -0,0 +1,70 @@
|
||||
.button {
|
||||
padding: 15px 25px;
|
||||
border: unset;
|
||||
border-radius: 15px;
|
||||
color: #212121;
|
||||
z-index: 1;
|
||||
background: #e8e8e8;
|
||||
position: relative;
|
||||
font-weight: 1000;
|
||||
font-size: 17px;
|
||||
-webkit-box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
|
||||
box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
|
||||
transition: all 250ms;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
}
|
||||
|
||||
.button::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 0;
|
||||
border-radius: 15px;
|
||||
background-color: #212121;
|
||||
z-index: -1;
|
||||
-webkit-box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
|
||||
box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
|
||||
transition: all 250ms
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
color: #e8e8e8;
|
||||
}
|
||||
|
||||
.button:hover::before {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.container{
|
||||
max-width: 330px;
|
||||
max-height: 600px;
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
grid-template-rows: auto auto auto auto;
|
||||
gap: 20px 20px;
|
||||
}
|
||||
|
||||
#ON{
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
}
|
||||
#OFF{
|
||||
grid-column: 2;
|
||||
grid-row: 1;
|
||||
}
|
||||
#B10{
|
||||
grid-column: 1;
|
||||
grid-row: 2;
|
||||
}
|
||||
#B50{
|
||||
grid-column: 2;
|
||||
grid-row: 2;
|
||||
}
|
||||
#B100{
|
||||
grid-column: 1;
|
||||
grid-row: 3;
|
||||
}
|
||||
Reference in New Issue
Block a user