var html =document.documentElement; var lang = html.attributes["lang"] var isZh = true; if(lang != null && lang.nodeValue =="en-US" ){ console.log("the language is " + lang.nodeValue); isZh=false; }else{ console.log("default lang=zh"); } function isEmpty(str){ if(typeof str == "undefined" || str == null || str == ""){ return true; } return false; } function search(){ console.log("enter here."); var keyword = document.getElementById("keyword_input").value; var page =1; var pageSize=15; if(!isEmpty(keyword)){ doSearch("repository",keyword,page,pageSize,false); doSearch("issue",keyword,page,pageSize,true); doSearch("user",keyword,page,pageSize,true); doSearch("org",keyword,page,pageSize,true); doSearch("dataset",keyword,page,pageSize,true); doSearch("pr",keyword,page,pageSize,true); } } function doSearch(tableName,keyword,page,pageSize=15,onlyReturnNum=true){ $.ajax({ type:"GET", url:"/all/dosearch/", headers: { authorization:token, }, dataType:"json", dataType:"json", data:{ 'TableName': tableName, 'Key': keyword, 'Page': page, 'PageSize': pageSize, 'OnlyReturnNum':onlyReturnNum }, async:true, success:function(json){ console.log(json); displayResult(tableName,page,json,onlyReturnNum,keyword); }, error:function(response) { console.log(response); } }); } function displayResult(tableName,page,jsonResult,onlyReturnNum,keyword){ if(tableName == "repository") { displayRepoResult(page,jsonResult,onlyReturnNum,keyword); } else if (tableName == "issue") { } else if (tableName == "user") { } else if (tableName == "org") { } else if (tableName == "dataset") { } else if (tableName == "pr") { } } function displayRepoResult(page,jsonResult,onlyReturnNum,keyword){ var data = jsonResult.Result; var total = jsonResult.Total; $('#repo_total').text(total); $('#keyword_desc').text(keyword); $('#obj_desc').text("项目"); $('#child_total').text(total); if(!onlyReturnNum){ var html = ""; var currentTime = new Date().getTime(); for(var i = 0; i < data.length;i++){ var recordMap = data[i]; html += "
"; if(!isEmpty(recordMap['avatar'])){ html += ""; } html += "
"; html += "
"; html += " " + record["owner_name"] +" / " + record["name"] + ""; html +=" "; html +="
"; html += "
"; html += "

" + record["description"] + "

"; html += "
"; if(!isEmpty(record["topics"])){ for(var j = 0; j < record["topics"].length;j++){ html +="
"+ record["topics"][j] + "
"; } } html +="
"; html +="

"; html +=" " + record["NumStars"] + "" + record["NumForks"]; html +=" 最后更新于 " + getTime(record["updated_unix"],currentTime) +""; html +=" " + record["lang"] + ""; html +="

"; html +="
"; html +="
"; html +="
"; } } } function getTime(UpdatedUnix,currentTime){ UpdatedUnix = UpdatedUnix; currentTime = currentTime / 1000; var timeEscSecond = currentTime - UpdatedUnix; if( timeEscSecond < 0){ timeEscSecond = 1; } console.log("currentTime=" + currentTime + " updateUnix=" + UpdatedUnix); var hours= Math.floor(timeEscSecond / 3600); //计算相差分钟数 var leave2 = Math.floor(timeEscSecond % (3600)); //计算小时数后剩余的秒数 var minutes= Math.floor(leave2 / 60);//计算相差分钟数 var leave3=Math.floor(leave2 % 60); //计算分钟数后剩余的秒数 var seconds= leave3; if(hours == 0 && minutes == 0){ return seconds + getRepoOrOrg(6,isZh); }else{ if(hours > 0){ if(hours >= 24){ return Math.ceil(hours/24) + getRepoOrOrg(7,isZh); }else{ return hours + getRepoOrOrg(4,isZh); } }else{ return minutes + getRepoOrOrg(5,isZh); } } } function getRepoOrOrg(key,isZhLang){ if(isZhLang){ return repoAndOrgZH[key]; }else{ return repoAndOrgEN[key]; } } var repoAndOrgZH={ "1":"项目", "2":"成员", "3":"团队", "4":"小时前", "5":"分钟前", "6":"秒前", "7":"天前" }; var repoAndOrgEN={ "1":"repository", "2":"Members ", "3":"Teams", "4":" hours ago", "5":" minutes ago", "6":" seconds ago", "7":" days ago" };