0001
This commit is contained in:
parent
d521488087
commit
6ead5e4b10
@ -17,5 +17,6 @@ export class Web{
|
|||||||
})
|
})
|
||||||
app.use(express.static('static'));
|
app.use(express.static('static'));
|
||||||
app.listen(Config.WEB_SERVER.PORT);
|
app.listen(Config.WEB_SERVER.PORT);
|
||||||
|
this.app = app;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -22,5 +22,11 @@ export class WebSock {
|
|||||||
ws.send('something');
|
ws.send('something');
|
||||||
});
|
});
|
||||||
this.wss = wss;
|
this.wss = wss;
|
||||||
|
|
||||||
|
/*Storage.web.app.on('upgrade', (request, socket, head) => {
|
||||||
|
wss.handleUpgrade(request, socket, head, socket => {
|
||||||
|
wss.emit('connection', socket, request);
|
||||||
|
});
|
||||||
|
});*/
|
||||||
}
|
}
|
||||||
}
|
}
|
1
index.js
1
index.js
@ -13,6 +13,7 @@ let x = new Hub();
|
|||||||
Storage.hub = x;
|
Storage.hub = x;
|
||||||
|
|
||||||
let web = new Web();
|
let web = new Web();
|
||||||
|
Storage.web = web;
|
||||||
let sock = new WebSock();
|
let sock = new WebSock();
|
||||||
let weather = new Weather();
|
let weather = new Weather();
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
background: #000000ad;
|
background: #000000ad;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
width: 200px;
|
width: 170px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -29,7 +29,7 @@
|
|||||||
width: 0;
|
width: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 0px 0px 25px 25px;
|
border-width: 0px 0px 38px 38px;
|
||||||
border-color: transparent transparent transparent #00aee7;
|
border-color: transparent transparent transparent #00aee7;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
@ -37,6 +37,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#box-top-left:after {
|
#box-top-left:after {
|
||||||
|
/*
|
||||||
content: '';
|
content: '';
|
||||||
width: 0;
|
width: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
@ -46,6 +47,17 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
*/
|
||||||
|
content: '';
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 50px 50px 50px 0px;
|
||||||
|
border-color: transparent transparent #000000ad transparent;
|
||||||
|
right: -75px;
|
||||||
|
top: -25px;
|
||||||
|
position: absolute;
|
||||||
|
transform: rotateZ(90deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
div#temp-inside {
|
div#temp-inside {
|
||||||
@ -62,7 +74,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
div#temp-inside:after {
|
div#temp-inside:after {
|
||||||
content: "°C";
|
content: "";
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
@ -70,7 +82,7 @@
|
|||||||
div#temp-outside {
|
div#temp-outside {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 25px;
|
top: 25px;
|
||||||
left: 10px;
|
left: 25px;
|
||||||
/* transform: rotateZ(-45deg);*/
|
/* transform: rotateZ(-45deg);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,7 +93,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
div#temp-outside:after {
|
div#temp-outside:after {
|
||||||
content: "°C";
|
content: "";
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
@ -96,11 +108,24 @@
|
|||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
.notShown{
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.slideIn{
|
||||||
|
opacity:0;
|
||||||
|
animation: slidein 1.5s cubic-bezier(0, 0, 0.02, 0.99) forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes slidein{
|
||||||
|
0%{ opacity:0; transform:translateY(-50px); }
|
||||||
|
25%{ opacity:0.25; transform:translateY(-50px); }
|
||||||
|
100%{ opacity:1; transform:translateY(0px); }
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="box-top-left">
|
<div id="box-top-left" class="notShown">
|
||||||
<div id="temp-inside">
|
<div id="temp-inside">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -115,30 +140,64 @@
|
|||||||
<div id="content"></div>
|
<div id="content"></div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
console.log(window.location.href.toString().split(window.location.host)[1]);
|
||||||
|
|
||||||
var content = document.getElementById('content');
|
var content = document.getElementById('content');
|
||||||
|
var box = document.getElementById('box-top-left');
|
||||||
var temp_inside = document.getElementById('temp-inside');
|
var temp_inside = document.getElementById('temp-inside');
|
||||||
var temp_outside = document.getElementById('temp-outside');
|
var temp_outside = document.getElementById('temp-outside');
|
||||||
//var socket = new WebSocket(`ws://${window.location.hostname}:8990`);
|
|
||||||
var socket = new WebSocket(`ws://192.168.2.7:8990`);
|
let timer = 30*1000;
|
||||||
|
let data = {};
|
||||||
|
let ready = false;
|
||||||
|
let mode = "";
|
||||||
|
|
||||||
|
function run(){
|
||||||
|
if(ready){
|
||||||
|
box.classList.add('slideIn');
|
||||||
|
box.classList.remove('notShown')
|
||||||
|
switch(mode){
|
||||||
|
case "humidity":
|
||||||
|
temp_inside.innerHTML = data.inside.humidity + "%h"
|
||||||
|
temp_outside.innerHTML = Math.ceil(data.outside.main.humidity) + "%h"
|
||||||
|
mode = "";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
temp_inside.innerHTML = data.inside.externalTemp + "°C"
|
||||||
|
temp_outside.innerHTML = Math.ceil(data.outside.main.temp) + "°C"
|
||||||
|
document.getElementById("weather").src = `http://openweathermap.org/img/wn/${data.outside.weather[0].icon}@2x.png`;
|
||||||
|
mode = "humidity";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let inter = setInterval(run,timer)
|
||||||
|
|
||||||
|
|
||||||
|
var socket = new WebSocket(`ws://${window.location.hostname}:8990`);
|
||||||
|
//var socket = new WebSocket(`ws://${window.location.hostname}:${window.location.port}`);
|
||||||
socket.onopen = function () {
|
socket.onopen = function () {
|
||||||
socket.send('hello from the client');
|
socket.send('hello from the client');
|
||||||
};
|
};
|
||||||
|
|
||||||
socket.onmessage = function (message) {
|
socket.onmessage = function (message) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let d = JSON.parse(message.data);
|
let d = JSON.parse(message.data);
|
||||||
console.log(d);
|
console.log(d);
|
||||||
switch (d.type) {
|
switch (d.type) {
|
||||||
case "temp":
|
case "temp":
|
||||||
temp_inside.innerHTML = d.inside.externalTemp
|
data = d;
|
||||||
temp_outside.innerHTML = Math.ceil(d.outside.main.temp)
|
if(!ready){
|
||||||
document.getElementById("weather").src = `http://openweathermap.org/img/wn/${d.outside.weather[0].icon}@2x.png`;
|
ready = true;
|
||||||
|
run();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
content.innerHTML += message.data + '<br />';
|
content.innerHTML += message.data + '<br />';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user