sse struct solved
This commit is contained in:
parent
7520e449b1
commit
fcf9328b63
8 changed files with 92 additions and 65 deletions
|
@ -1,2 +1,4 @@
|
|||
<h1>Welcome to SvelteKit</h1>
|
||||
<p>Visit <a href="https://kit.svelte.dev">kit.svelte.dev</a> to read the documentation</p>
|
||||
<h1>Home</h1>
|
||||
<a href="/priority">Priority</a>
|
||||
<a href="/mobile">Mobile</a>
|
||||
<a href="display">Display</a>
|
|
@ -3,12 +3,17 @@
|
|||
import { onMount } from 'svelte';
|
||||
import { priority } from '$lib/stores/priority.js';
|
||||
|
||||
if (dev) {
|
||||
let base;
|
||||
|
||||
if (dev) {
|
||||
console.log('Dev mode');
|
||||
base = 'http://10.39.253.16:8080';
|
||||
} else {
|
||||
console.log('Not dev mode');
|
||||
base = '';
|
||||
}
|
||||
|
||||
|
||||
const events = ['priority'];
|
||||
|
||||
window.document.body.oncontextmenu = function () {
|
||||
|
@ -25,7 +30,7 @@
|
|||
});
|
||||
|
||||
function StartSSE() {
|
||||
let url = '/api/sse?';
|
||||
let url = base + '/api/sse?';
|
||||
for (let e in events) {
|
||||
url += `event=${events[e]}&`;
|
||||
}
|
||||
|
@ -41,7 +46,9 @@
|
|||
let Msg = JSON.parse(e.data);
|
||||
console.log(JSON.stringify(Msg));
|
||||
console.log(`surfers: ${Msg.data.priority}`);
|
||||
$priority = Msg.data.priority;
|
||||
$priority.surfers = Msg.data.surfers;
|
||||
$priority.round = Msg.data.round;
|
||||
$priority.surfersCount = Msg.data.surfersCount;
|
||||
});
|
||||
|
||||
return () => {
|
||||
|
@ -51,10 +58,12 @@
|
|||
}
|
||||
|
||||
async function LoadPriority() {
|
||||
const res = await fetch(`/api/priority`);
|
||||
const res = await fetch(`${base}/api/priority`);
|
||||
const data = await res.json();
|
||||
console.log(`load priority: ${JSON.stringify(data)}`);
|
||||
$priority = data.priority;
|
||||
$priority.surfers = data.surfers;
|
||||
$priority.round = data.round;
|
||||
$priority.surfersCount = data.surfersCount;
|
||||
}
|
||||
</script>
|
||||
|
|
@ -4,10 +4,14 @@
|
|||
import { dev } from '$app/environment';
|
||||
import { priority } from '$lib/stores/priority.js';
|
||||
|
||||
if (dev) {
|
||||
let base;
|
||||
|
||||
if (dev) {
|
||||
console.log('Dev mode');
|
||||
base = 'http://10.39.253.16:8080';
|
||||
} else {
|
||||
console.log('Not dev mode');
|
||||
base = '';
|
||||
}
|
||||
|
||||
const events = ['priority'];
|
||||
|
@ -24,7 +28,7 @@
|
|||
// }
|
||||
|
||||
function StartSSE() {
|
||||
let url = '/api/sse?';
|
||||
let url = base + '/api/sse?';
|
||||
for (let e in events) {
|
||||
url += `event=${events[e]}&`;
|
||||
}
|
||||
|
@ -36,12 +40,23 @@
|
|||
console.log(`sse open ${Date.now()}`);
|
||||
};
|
||||
|
||||
sse.onmessage = (e) => {
|
||||
let Msg = JSON.parse(e.data);
|
||||
console.log(JSON.stringify(Msg));
|
||||
console.log(`surfers: ${Msg.data.priority}`);
|
||||
$priority.surfers = Msg.data.surfers;
|
||||
$priority.round = Msg.data.round;
|
||||
$priority.surfersCount = Msg.data.surfersCount;
|
||||
};
|
||||
|
||||
sse.addEventListener('priority', (e) => {
|
||||
let Msg = JSON.parse(e.data);
|
||||
console.log(JSON.stringify(Msg));
|
||||
console.log(`surfers: ${Msg.data.priority}`);
|
||||
$priority = Msg.data.priority;
|
||||
SaveSession();
|
||||
$priority.surfers = Msg.data.surfers;
|
||||
$priority.round = Msg.data.round;
|
||||
$priority.surfersCount = Msg.data.surfersCount;
|
||||
// SaveSession();
|
||||
});
|
||||
|
||||
return () => {
|
||||
|
@ -50,28 +65,27 @@
|
|||
};
|
||||
}
|
||||
|
||||
function SaveSession() {
|
||||
window.sessionStorage.setItem('status', true);
|
||||
window.sessionStorage.setItem('priority', JSON.stringify($priority));
|
||||
console.log(`saved: ${JSON.stringify($priority)}`);
|
||||
}
|
||||
// function SaveSession() {
|
||||
// window.sessionStorage.setItem('status', true);
|
||||
// window.sessionStorage.setItem('priority', JSON.stringify($priority));
|
||||
// console.log(`saved: ${JSON.stringify($priority)}`);
|
||||
// }
|
||||
|
||||
async function LoadPriority() {
|
||||
const res = await fetch(`/api/priority`);
|
||||
const res = await fetch(`${base}/api/priority`);
|
||||
const data = await res.json();
|
||||
console.log(`load priority: ${JSON.stringify(data)}`);
|
||||
$priority = data.priority;
|
||||
$priority.surfers = data.surfers;
|
||||
$priority.round = data.round;
|
||||
$priority.surfersCount = data.surfersCount;
|
||||
}
|
||||
|
||||
onMount(async () => {
|
||||
if (!dev) {
|
||||
const sse = StartSSE();
|
||||
} else {
|
||||
const sse = 0;
|
||||
}
|
||||
const sse = StartSSE();
|
||||
|
||||
if (window.sessionStorage.getItem('status')) {
|
||||
$priority = JSON.parse(window.sessionStorage.getItem('priority'));
|
||||
let pri = window.sessionStorage.getItem('priority')
|
||||
if (pri) {
|
||||
$priority = JSON.parse(pri);
|
||||
console.log(`loaded: ${JSON.stringify($priority)}`);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,16 +21,13 @@
|
|||
let footer_height = 8;
|
||||
$: setup_height = (100 - footer_height) / $priority.surfersCount - 2.2 / $priority.surfersCount;
|
||||
|
||||
$: if ($priority.surfers) {
|
||||
SaveToLocalCahe();
|
||||
}
|
||||
// $: if ($priority.surfers) {
|
||||
// SaveToLocalCahe();
|
||||
// }
|
||||
|
||||
onMount(async () => {
|
||||
let status = window.sessionStorage.getItem('status');
|
||||
if (status) {
|
||||
LoadFromLocalCache();
|
||||
// console.log(`loaded: ${JSON.stringify($priority.surfers)}`);
|
||||
}
|
||||
LoadFromLocalCache();
|
||||
console.log(`loaded: ${JSON.stringify($priority)}`);
|
||||
});
|
||||
|
||||
function hasDuplicateColors() {
|
||||
|
@ -65,6 +62,7 @@
|
|||
}
|
||||
ResetPriority();
|
||||
start = true;
|
||||
SaveToLocalCahe();
|
||||
SendPriority();
|
||||
}
|
||||
|
||||
|
@ -90,23 +88,44 @@
|
|||
function ResetLocalCache() {
|
||||
console.log('ResetLocalCache');
|
||||
window.sessionStorage.clear();
|
||||
window.sessionStorage.setItem('status', false);
|
||||
console.log(`reset cache: ${JSON.parse(window.sessionStorage.getItem('priority'))}`);
|
||||
priority.reset();
|
||||
SendPriority();
|
||||
console.log(`reset store: ${$priority}`);
|
||||
// SendPriority();
|
||||
}
|
||||
|
||||
function SaveToLocalCahe() {
|
||||
window.sessionStorage.setItem('status', true);
|
||||
window.sessionStorage.setItem('priority', JSON.stringify($priority));
|
||||
window.sessionStorage.setItem('start', JSON.stringify(start));
|
||||
console.log(`update cache: ${JSON.stringify($priority)}`);
|
||||
}
|
||||
|
||||
function LoadFromLocalCache() {
|
||||
$priority = JSON.parse(window.sessionStorage.getItem('priority'));
|
||||
start = JSON.parse(window.sessionStorage.getItem('start'));
|
||||
console.log(`load cache: ${JSON.stringify($priority)}`);
|
||||
let pri = window.sessionStorage.getItem('priority')
|
||||
if (pri) {
|
||||
$priority = JSON.parse(pri);
|
||||
start = JSON.parse(window.sessionStorage.getItem('start'));
|
||||
console.log(`load cache: ${JSON.stringify($priority)} - ${start}`);
|
||||
} else {
|
||||
console.log(`no cache found`);
|
||||
}
|
||||
}
|
||||
|
||||
async function SendPriority() {
|
||||
if (dev) {
|
||||
return;
|
||||
}
|
||||
const res = await fetch(`/api/priority`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
surfers: $priority.surfers,
|
||||
round: $priority.round,
|
||||
surfersCount: $priority.surfersCount
|
||||
}),
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
});
|
||||
console.log(`SendPriority: ${JSON.stringify($priority)}`);
|
||||
}
|
||||
|
||||
async function ChangePriority(id) {
|
||||
|
@ -167,22 +186,6 @@
|
|||
|
||||
SendPriority();
|
||||
}
|
||||
|
||||
async function SendPriority() {
|
||||
if (dev) {
|
||||
return;
|
||||
}
|
||||
const res = await fetch(`/api/priority`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
piority: $priority
|
||||
}),
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
});
|
||||
console.log(`SendPriority: ${JSON.stringify($priority)}`);
|
||||
}
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue