修复不同用户登录显示相同的缓存代码的问题

This commit is contained in:
virusdefender 2016-05-30 18:07:46 +08:00
parent b88b34ef7f
commit 74880989ab
No known key found for this signature in database
GPG Key ID: 1686FB5677979E61

View File

@ -34,6 +34,7 @@ require(["jquery", "codeMirror", "csrfToken", "bsAlert", "ZeroClipboard"],
var codeEditor = codeMirror(codeEditorSelector, "text/x-csrc");
var language = getLanguage();
var submissionId;
var userId;
function setLanguage(language){
var languageTypes = {"1": "text/x-csrc", "2": "text/x-c++src", "3": "text/x-java"};
@ -41,22 +42,7 @@ require(["jquery", "codeMirror", "csrfToken", "bsAlert", "ZeroClipboard"],
}
function saveCode(code){
localStorage.setItem(location.href, JSON.stringify({code: code, language: language}))
}
if(window.localStorage){
var data = localStorage[location.href];
if(data){
data = JSON.parse(data);
$("input[name='language'][value='" + data.language + "']").prop("checked", true);
language = data.language;
codeEditor.setValue(data.code);
setLanguage(data.language);
}
setInterval(function(){
saveCode(codeEditor.getValue())
}, 3000);
localStorage.setItem(userId + ":" + location.href, JSON.stringify({code: code, language: language}))
}
$("input[name='language']").change(function () {
@ -277,6 +263,23 @@ require(["jquery", "codeMirror", "csrfToken", "bsAlert", "ZeroClipboard"],
$("#submit-code-button").attr("disabled", "disabled");
$("#result").html('<div class="alert alert-danger" role="alert"><div class="alert-link">请先<a href="/login/" target="_blank">登录</a>!</div> </div>');
}
else{
userId = data.data.id;
if(window.localStorage){
var data = localStorage[userId + ":" + location.href];
if(data){
data = JSON.parse(data);
$("input[name='language'][value='" + data.language + "']").prop("checked", true);
language = data.language;
codeEditor.setValue(data.code);
setLanguage(data.language);
}
setInterval(function(){
saveCode(codeEditor.getValue())
}, 3000);
}
}
}
})
});