Commit 46875bb7 authored by 神楽坂玲奈's avatar 神楽坂玲奈

logout

parent 8c4a26b8
......@@ -12,6 +12,7 @@ const EventEmitter = require('events');
const eventemitter = new EventEmitter();
const electron = require('electron');
const ipcMain = electron.ipcMain;
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
......@@ -169,19 +170,31 @@ function start_server() {
}
connection.on('message', (message) => {
message = JSON.parse(message);
if (message.event == 'login') {
let user = message.data[0];
for (let window of BrowserWindow.getAllWindows()) {
window.webContents.send('login', user);
}
message = JSON.stringify({event: 'login', data: [user]});
for (let client of server.clients) {
if (client != connection) {
client.send(message);
}
}
} else {
eventemitter.emit(message.event, ...message.data);
}
});
});
eventemitter.on('update', (app, local, resson)=> {
}
eventemitter.on('update', (app, local, resson)=> {
let message = JSON.stringify({event: 'update', data: [app, local, resson]});
for (let connection of server.clients) {
connection.send(message);
}
save_db();
})
}
});
function load(app, local, callback) {
let pending = 1;
......
......@@ -118,7 +118,7 @@ body.maximized #maximize {
padding: 0.175rem;
}
#name {
#username, #logout {
float: left;
padding-top: .425rem;
padding-bottom: .425rem;
......
......@@ -21,9 +21,10 @@
</li>
</ul>
<div class="navbar-right">
<div id="user">
<img id="avatar" src="https://forum-cdn.touhou.cc/user_avatar/forum.touhou.cc/zh99998/36/167_1.png">
<div id="name">zh99998</div>
<div id="user" hidden>
<img id="avatar">
<div id="username"></div>
<div id="logout">切换</div>
</div>
<div id="window-buttons" hidden>
<i id="minimize" class="icon-minimize"></i>
......
var platform = process.platform;
var remote = require('remote');
var current_window = remote.getCurrentWindow();
'use strict';
document.getElementById("minimize").onclick = function () {
const ipcRenderer = require('electron').ipcRenderer;
const remote = require('remote');
const current_window = remote.getCurrentWindow();
document.getElementById("minimize").onclick = ()=> {
current_window.minimize()
};
document.getElementById("maximize").onclick = function () {
document.getElementById("maximize").onclick = ()=> {
current_window.maximize();
};
document.getElementById("restore").onclick = function () {
document.getElementById("restore").onclick = ()=> {
current_window.unmaximize();
};
document.getElementById("close").onclick = function () {
document.getElementById("close").onclick = ()=> {
current_window.close();
};
current_window.on('maximize', function () {
document.body.className = platform + ' maximized'
current_window.on('maximize', ()=> {
document.body.className = process.platform + ' maximized'
});
current_window.on('unmaximize', function () {
document.body.className = platform
current_window.on('unmaximize', ()=> {
document.body.className = process.platform
});
if (current_window.isMaximized()) {
document.body.className = platform + ' maximized'
document.body.className = process.platform + ' maximized'
} else {
document.body.className = platform
document.body.className = process.platform
}
window.onhashchange = function (event) {
var hash = event.newURL.split('#', 2)[1];
window.onhashchange = (event) => {
let hash = event.newURL.split('#', 2)[1];
document.getElementsByClassName('active')[0].className = "";
document.getElementById('nav-' + hash).className = "active";
document.getElementById(event.oldURL.split('#', 2)[1]).style.display = 'none';
document.getElementById(hash).style.display = 'block';
};
var hash = location.href.split('#', 2)[1];
let hash = location.href.split('#', 2)[1];
document.getElementById('nav-' + hash).className = "active";
document.getElementById(hash).style.display = 'block';
var webviews = document.getElementsByTagName('webview');
let webviews = document.getElementsByTagName('webview');
for (var i = 0; i < webviews.length; i++) {
webviews.item(i).addEventListener('new-window', function (event) {
webviews.item(i).addEventListener('new-window', (event) => {
require('electron').shell.openExternal(event.url);
});
}
document.getElementById("logout").onclick = ()=> {
current_window.webContents.session.clearStorageData(()=> {
location.reload();
})
};
ipcRenderer.on('login', (event, user)=> {
console.log(event, user);
document.getElementById('avatar').src = user.avatar_url;
document.getElementById('username').innerHTML = user.username;
document.getElementById('user').removeAttribute('hidden');
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment