parent
69a958f34d
commit
b94facd5a8
4 changed files with 280 additions and 6 deletions
@ -0,0 +1,266 @@ |
||||
|
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8"> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
<title>MkSec Web</title> |
||||
<link rel="stylesheet" href="css/awsm.min.css"> |
||||
<script type="text/javascript"> |
||||
var version = '3.0.6'; |
||||
var themes = JSON.parse('[{"title":"white","prismTheme":""},{"title":"gondola","prismTheme":"tomorrow"},{"title":"mischka","prismTheme":"okaidia"},{"title":"big-stone","prismTheme":"tomorrow"},{"title":"black","prismTheme":""},{"title":"tasman","prismTheme":""},{"title":"pastel-pink","prismTheme":""},{"title":"pearl-lusta","prismTheme":"solarizedlight"}]'); |
||||
var storedVersion = localStorage.getItem('awsm-version'); |
||||
|
||||
if (version !== storedVersion) { |
||||
localStorage.removeItem('awsm-current-theme'); |
||||
localStorage.removeItem('awsm-themes'); |
||||
localStorage.setItem('awsm-version', version); |
||||
} |
||||
|
||||
function getCSSFileName(theme) { |
||||
return 'css/awsm_theme_' + theme + '.min.css'; |
||||
} |
||||
|
||||
function appendStyles(str) { |
||||
var style = document.createElement('style'); |
||||
style.innerHTML = str; |
||||
document.querySelector('head').appendChild(style); |
||||
} |
||||
|
||||
function loadTheme() { |
||||
var theme = localStorage.getItem('awsm-current-theme'); |
||||
|
||||
if (!theme || theme === 'white') return; |
||||
|
||||
reloadTheme(theme); |
||||
} |
||||
|
||||
function reloadTheme(theme) { |
||||
var storedThemesStr = localStorage.getItem('awsm-themes'); |
||||
|
||||
if (!storedThemesStr) return; |
||||
|
||||
var storedThemes = JSON.parse(storedThemesStr); |
||||
|
||||
appendStyles(storedThemes[theme]); |
||||
} |
||||
|
||||
loadTheme(); |
||||
</script> |
||||
<script type="text/javascript">block_aplayer = true;</script> |
||||
<script src="https://cdn.yimian.xyz/ushio-js/ushio-head.min.js"></script> |
||||
<script type="text/javascript"> |
||||
if(!cookie.get('email')){ |
||||
window.location.href='./login.html'; |
||||
} |
||||
</script> |
||||
</head> |
||||
<body> |
||||
<header> |
||||
<h1>MkSec Web</h1> |
||||
<p>Learn English by sentences~ |
||||
</p> |
||||
<nav> |
||||
<ul> |
||||
|
||||
|
||||
|
||||
<li><a href="./index.html">Home</a></li> |
||||
<li><a href="./upload.html">Upload</a></li> |
||||
<li><a href="./logout.html">Logout</a></li> |
||||
<li><a href="https://github.com/iotcat/sentence-generator" target="_blank">GitHub</a></li> |
||||
<li> |
||||
<select id="theme-changer" onchange="updateTheme(this.value)"> |
||||
<option value="white" selected>white</option> |
||||
<option value="gondola">gondola</option> |
||||
<option value="mischka">mischka</option> |
||||
<option value="big-stone">big-stone</option> |
||||
<option value="black">black</option> |
||||
<option value="tasman">tasman</option> |
||||
<option value="pastel-pink">pastel-pink</option> |
||||
<option value="pearl-lusta">pearl-lusta</option> |
||||
</select> |
||||
</li> |
||||
</ul> |
||||
</nav> |
||||
</header> |
||||
<main> |
||||
<article> |
||||
<section> |
||||
<h2><a id="main" href="#sentence" aria-hidden="true"></a>Word List |
||||
</h2> |
||||
<br> |
||||
<br> |
||||
<div id="box"> |
||||
<details> |
||||
<summary>Level</summary> |
||||
<ul> |
||||
<li></li> |
||||
</ul> |
||||
</details> |
||||
</div> |
||||
</section> |
||||
</article> |
||||
</main> |
||||
<footer> |
||||
<p style="text-align: center;"> Powered By Ushio | Made with love by <a href="https://iotcat.me">iotcat</a> </p> |
||||
<br> |
||||
</footer> |
||||
<script> |
||||
function loadCSS(path, cb) { |
||||
var xhr = new XMLHttpRequest(); |
||||
xhr.open('GET', path); |
||||
xhr.onreadystatechange = function() { |
||||
if (this.readyState === 4 && this.status === 200) { |
||||
cb(this.responseText); |
||||
} |
||||
}; |
||||
xhr.send(); |
||||
} |
||||
function updateTheme(theme) { |
||||
localStorage.setItem('awsm-current-theme', theme); |
||||
loadCSS(getCSSFileName(theme), function(text) { |
||||
var storedThemesStr = localStorage.getItem('awsm-themes'); |
||||
var storedThemes = JSON.parse(storedThemesStr) || {}; |
||||
storedThemes[theme] = text; |
||||
|
||||
localStorage.setItem('awsm-themes', JSON.stringify(storedThemes)); |
||||
reloadTheme(theme); |
||||
}); |
||||
} |
||||
|
||||
var theme = localStorage.getItem('awsm-current-theme'); |
||||
|
||||
if (theme && theme !== 'white') { |
||||
document.getElementById('theme-changer').value = theme; |
||||
} |
||||
</script> |
||||
<script src="https://cdn.yimian.xyz/ushio-js/ushio-footer.min.js"></script> |
||||
<script type="text/javascript"> |
||||
|
||||
data = []; |
||||
|
||||
$.get('./getData/?type=obj&email='+cookie.get('email'), function(res){ |
||||
if(res.code != 200){ |
||||
alert(res.message); |
||||
window.location.href='./upload.html'; |
||||
}else{ |
||||
data = res.data; |
||||
next(); |
||||
} |
||||
}) |
||||
|
||||
|
||||
iter = 0; |
||||
sentence = ''; |
||||
|
||||
var sort = function(){ |
||||
|
||||
//data = data.sort(function(){Math.random() - 0.5}); |
||||
data = data.sort(function(o1, o2){ |
||||
return (o1['level'] - o2['level']);//+Math.random() - 0.5; |
||||
}); |
||||
|
||||
} |
||||
|
||||
var addProperty = function(s, word, before, after){ |
||||
|
||||
let pos = s.indexOf(word, iter); |
||||
|
||||
if(before.indexOf(word) == -1 && after.indexOf(word) == -1 && '<span class="oWord"></span><strong></strong>'.indexOf(word) == -1){ |
||||
iter = pos + String(word).length + after.length; |
||||
return s.substring(0, pos) + before + String(word) + after + s.substring(pos + String(word).length); |
||||
} |
||||
else |
||||
return s; |
||||
} |
||||
|
||||
|
||||
var next = function(){ |
||||
sort(); |
||||
|
||||
let levelArr = []; |
||||
for(item in data){ |
||||
levelArr.push(data[item].level); |
||||
} |
||||
|
||||
levelArr = [...new Set(levelArr)]; |
||||
levelArr.sort((a, b) => a-b);console.log(levelArr) |
||||
|
||||
|
||||
|
||||
|
||||
let s = ''; |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
for(level in levelArr){ |
||||
|
||||
|
||||
let arr = []; |
||||
for(item in data){ |
||||
if(data[item].level == levelArr[level]){ |
||||
arr.push(data[item].word); |
||||
} |
||||
} |
||||
|
||||
arr.sort(); |
||||
s += '<details>' |
||||
s += '<summary> Level ' + levelArr[level] + ' ('+arr.length+')</summary>' |
||||
s+= '<ul>' |
||||
|
||||
|
||||
|
||||
for(word in arr){ |
||||
s+= '<li><span class="oword">' +arr[word]+ '</span></li>' |
||||
} |
||||
|
||||
s+= '</ul>' |
||||
s+='</details>' |
||||
} |
||||
|
||||
|
||||
$('#box').html(s); |
||||
|
||||
} |
||||
|
||||
var upgrade = function(){ |
||||
data[0].level++; |
||||
$.get('./upgrade/?email='+cookie.get('email')+'&word='+data[0].word, function(res){ |
||||
if(res.code != 200){ |
||||
alert(res.message); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
|
||||
var getInfo = function(){ |
||||
$.get('./getInfo/?email='+cookie.get('email')+'&word='+data[0].word, function(res){ |
||||
if(res.code != 200){ |
||||
alert(res.message); |
||||
}else{ |
||||
$('#info').html('Word: '+data[0].word+' | Level: ' + res.data); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
|
||||
|
||||
$('body').on('click','.oword',function(){ |
||||
|
||||
let word = $(this).html(); |
||||
$.get('./fy/?type=word&word='+word, function(res){ |
||||
tips.info({ |
||||
title: word, |
||||
message: res |
||||
}); |
||||
}) |
||||
}); |
||||
|
||||
|
||||
</script> |
||||
</body> |
||||
</html> |
Loading…
Reference in new issue