-
Notifications
You must be signed in to change notification settings - Fork 0
/
login.js
83 lines (70 loc) · 2.39 KB
/
login.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
var canvas = document.querySelector('canvas');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
var mousePosition = new Vector(0, 0);
window.onmousemove = function (e) {
mousePosition.setValue(e.clientX, e.clientY);
};
var particleCanvas = new ParticleCanvas(canvas, mousePosition);
particleCanvas.init();
particleCanvas.draw();
var usernameEl = document.querySelector('.usernameInput');
var passwordEl = document.querySelector('#passowrdInput');
var errorMsgEl = document.querySelector('#errorMessage');
var loginBtnEl = document.querySelector('#loginBtn');
var loginFormEl = document.querySelector('#loginForm');
var isProcessing = false;
var flag = false;
loginFormEl.onsubmit = function () {
if (flag) return true;
flag = true;
if (isProcessing) return;
isProcessing = true;
var isValid = validate();
if (!isValid) {
isProcessing = false;
return;
}
var saltRequest = new XMLHttpRequest();
saltRequest.onload = function () {
var response = JSON.parse(saltRequest.response);
var encPass = EncryptToBase64(response.Salt + usernameEl.value, passwordEl.value);
document.querySelector('#username').value = usernameEl.value;
document.querySelector('#password').value = encPass;
loginFormEl.submit();
}
saltRequest.open("GET", "/api/General/Salt?username=" + usernameEl.value);
saltRequest.send();
return false;
}
function validate() {
if ("" == usernameEl.value)
errorMsgEl.innerHTML = 'Username must be filled';
else if ("" == passwordEl.value)
errorMsgEl.innerHTML = 'Password must be filled';
else
return true;
return false;
}
var timeEl = document.querySelector('form > time');
var currentTime = new Date();
var hour = currentTime.getHours();
var deg = (Math.min(12, Math.max(0, hour - 7)) - 6) / 6 * 45;
document.querySelector('.bg').style.background = 'linear-gradient(' + deg + 'deg, #1e130c, #9a8478)';
tick();
setInterval(function () {
currentTime.setSeconds(currentTime.getSeconds() + 1);
tick()
}, 1000);
function getCurrentTime() {
var xhr = new XMLHttpRequest();
xhr.onload = function () {
currentTime = new Date(xhr.response);
}
xhr.open("GET", "/api/General/Time");
xhr.send();
}
function tick() {
var timeStr = currentTime.toTimeString();
timeEl.innerHTML = timeStr.substr(0, timeStr.indexOf('(') - 1);
}