Browse Source

提交代码。

Signed-off-by: zouap <zouap@pcl.ac.cn>
tags/v1.22.1.1^2
zouap 4 years ago
parent
commit
fd26324694
3 changed files with 227 additions and 200 deletions
  1. +221
    -4
      public/home/home.js
  2. +2
    -0
      routers/home.go
  3. +4
    -196
      templates/home.tmpl

+ 221
- 4
public/home/home.js View File

@@ -8,6 +8,13 @@ socket.onopen = function () {

var messageQueue = [];
var maxSize = 10;
var html =document.documentElement;
var lang = html.attributes["lang"]
var isZh = true;
if(lang != null && lang =="en-US" ){
isZh=false;
}
console.log("the language is " + lang);

socket.onmessage = function (e) {
console.log("data=" + e.data)
@@ -23,9 +30,20 @@ socket.onmessage = function (e) {
html += "<div class=\"swiper-slide item\">";
html += " <img class=\"ui avatar image\" src=\"/user/avatar/" + data.ActUser.LowerName + "/-1\" alt=\"\">"
html += " <div class=\"middle aligned content\">"
html += " <a href=\"/" + data.ActUser.Name + "\" title=\"\">" + data.ActUser.Name + "</a>"

var actionName = getAction(data.OpType,isZh);
if(data.OpType == "6" || data.OpType == "10" || data.OpType == "12" || data.OpType == "13"){
html += " <a href=\"/" + getIssueLink(data) + "\" rel=\"nofollow\">" + getIssueText(data,actionName) + "</a>"
}
if(data.OpType == "7" || data.OpType == "11" || data.OpType == "14" || data.OpType == "15"){
html += " <a href=\"/" + getPRLink(data) + "\" rel=\"nofollow\">" + getPRText(data,actionName) + "</a>"
}


if(data.Repo != null){
var time = getTime(data.Repo.UpdatedUnix);
html += time;
}
html += "</div>";
html += "</div>";
}
@@ -39,9 +57,89 @@ socket.onmessage = function (e) {
*/

}
output.innerHTML = html
output.innerHTML = html;
};

function getPRLink(data){
return "/" + data.Repo.OwnerName + "/" + data.Repo.Name + "/pulls/" + data.ID
}
function getPRText(data,actionName){
return actionName + " " + data.Repo.OwnerName + "/" + data.Repo.Name + "#" + data.ID
}

function getIssueLink(data){
return "/" + data.Repo.OwnerName + "/" + data.Repo.Name + "/issues/" + data.ID
}
function getIssueText(data,actionName){
return actionName + " " + data.Repo.OwnerName + "/" + data.Repo.Name + "#" + data.ID
}

/*
ActionCreateRepo ActionType = iota + 1 // 1
ActionRenameRepo // 2
ActionStarRepo // 3
ActionWatchRepo // 4
ActionCommitRepo // 5
ActionCreateIssue // 6
ActionCreatePullRequest // 7
ActionTransferRepo // 8
ActionPushTag // 9
ActionCommentIssue // 10
ActionMergePullRequest // 11
ActionCloseIssue // 12
ActionReopenIssue // 13
ActionClosePullRequest // 14
ActionReopenPullRequest // 15
ActionDeleteTag // 16
ActionDeleteBranch // 17
ActionMirrorSyncPush // 18
ActionMirrorSyncCreate // 19
ActionMirrorSyncDelete // 20
ActionApprovePullRequest // 21
ActionRejectPullRequest // 22
ActionCommentPull // 23
*/

var actionNameZH={
"1":"创建了项目",
"2":"重命名项目 {oldRepoName} 为",
"6":"创建了任务",
"7":"创建了合并请求",
"9":"推送了 {branch} 分支的代码到",
"10":"评论了任务",
"11":"合并了合并请求",
"12":"关闭了任务",
"13":"重新开启了任务",
"14":"关闭了合并请求",
"15":"重新开启了合并请求",
"17":"从 {repoName} 删除分支 {deleteBranchName}",
"22":"拒绝了合并请求"
}

var actionNameEN={
"1":"created repository",
"2":"renamed repository from {oldRepoName} to ",
"6":"opened issue",
"7":"created pull request",
"9":"pushed to {branch} at",
"10":"commented on issue",
"11":"merged pull request",
"12":"closed issue",
"13":"reopened issue",
"14":"closed pull request",
"15":"reopened pull request",
"17":"deleted branch {deleteBranchName} from {repoName}",
"22":"rejected pull request"
}

function getAction(opType,isZh){
if(isZh){
return actionNameZH[opType]
}else{
return actionNameEN[opType]
}
}

queryRecommendData();

function queryRecommendData(){
@@ -55,7 +153,7 @@ function queryRecommendData(){
async:false,
success:function(json){
console.log(json);
displayOrg(json);
},
error:function(response) {
console.log(response);
@@ -72,11 +170,130 @@ function queryRecommendData(){
async:false,
success:function(json){
console.log(json);
displayRepo(json);
},
error:function(response) {
console.log(response);
}
});

}

/*
<div class="swiper-slide">
<div class="ui fluid card">
<div class="content">
<span class="right floated meta">
<i class="star icon"></i>276 <i class="star icon"></i>32
</span>
<img class="left floated mini ui image" src="/repo-avatars/278-a9f45e21b92b86dbf969c9f70dff1efc">
<a class="header nowrap" href="/OpenI/aiforge">aiforge </a>
<div class="description nowrap-2">
本项目是群体化方法与技术的开源实现案例,在基于Gitea的基础上,进一步支持社交化的协同开发、协同学习、协同研究等群体创新实践服务,特别是针对新一代人工智能技术特点,重点支持项目管理、git代码管理、大数据集存储管理与智能计算平台接入。
</div>
<div class="ui tags nowrap am-mt-10">
<a class="ui small label topic" href="/explore/repos?q=ai%e5%bc%80%e5%8f%91%e5%b7%a5%e5%85%b7&amp;topic=">ai开发工具</a>
<a class="ui small label topic" href="/explore/repos?q=openi&amp;topic=">openi</a>
<a class="ui small label topic" href="/explore/repos?q=golang&amp;topic=">golang</a>
<a class="ui small label topic" href="/explore/repos?q=git&amp;topic=">git</a>
<a class="ui small label topic" href="/explore/repos?q=pcl&amp;topic=">pcl</a>
</div>
</div>
</div>
</div>
*/
function displayRepo(json){
var orgRepo = document.getElementById("recommendrepo");
var html = "";
if (json != null && json.length > 0){
for(var i = 0; i < json.length;i++){
var record = json[i]
html += "<div class=\"swiper-slide\">";
html += " <div class=\"ui fluid card\">";
html += " <div class=\"content\">";
html += " <span class=\"right floated meta\">";
html += " <i class=\"star icon\"></i>" + record["NumStars"];
html += " </span>";
html += " <img class=\"left floated mini ui image\" src=\"" + record["Avatar"] + "\">";
html += " <a class=\"header nowrap\" href=\"/" + record["OwnerName"] + "/" + record["Name"] + "\">" + record["Name"] +"</a>";
html += " <div class=\"description nowrap-2\">" + record["Description"] + " <div>";
html += " <div class=\"ui tags nowrap am-mt-10\">"
if(record["Topics"] != null){
for(var j = 0; j < record["Topics"].length; j++){
topic = record["Topics"][j];
url = "/explore/repos?q=" + topic + "&amp;topic="
url = escape(url);
html += "<a class=\"ui small label topic\" href=\"" + url + "\">" + topic + "</a>";
}
}
html += " <div>";
html += " <div>";
html += " <div>";
html += "<div>";
}
}
orgRepo.innerHTML = html;
}

/**
*
* <div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/OpenI/-1">
<div class="content nowrap">
<a href="/OpenI">OpenI</a> 启智社区
<div class="sub header">39 项目 ・ 60 成员 ・ 23 团队</div>
</div>
</div>
</div>
</div>
</div>
*/

var repoAndOrgZH={
"1":"项目",
"2":"成员",
"3":"团队",
}

var repoAndOrgEN={
"1":"Repository",
"2":"Members",
"3":"Teams",
}

function getRepoOrOrg(key,isZhLang){
if(isZhLang){
return repoAndOrgZH[key];
}else{
return repoAndOrgEN[key];
}
}

function displayOrg(json){
var orgDiv = document.getElementById("recommendorg");
var html = "";
if (json != null && json.length > 0){
for(var i = 0; i < json.length;i++){
var record = json[i]
html += "<div class=\"column\">";
html += " <div class=\"ui fluid card\">";
html += " <div class=\"content\">";
html += " <div class=\"ui small header\">";
html += " <img class=\"ui image\" src=\"" + record["Avatar"] + "\">";
html += " <div class=\"content nowrap\">";
html += " <a href=\"/" + record["Name"] + "\">" + record["Name"] + "</a> " + record["FullName"];
html += " <div class=\"sub header\">" + record["NumRepos"] +" " + getRepoOrOrg("1",isZh) + " ・ " + record["NumMembers"] +" " + getRepoOrOrg("2",isZh) + " ・ " + record["NumTeams"] + " " + getRepoOrOrg("3",isZh) + "</div>";
html += " <div>";
html += " <div>";
html += " <div>";
html += " <div>";
html += "<div>";
}
}
orgDiv.innerHTML = html;
}

+ 2
- 0
routers/home.go View File

@@ -527,6 +527,8 @@ func RecommendOrgFromPromote(ctx *context.Context) {
if err == nil {
userMap := make(map[string]interface{})
userMap["Name"] = user.Name
userMap["Description"] = user.Description
userMap["FullName"] = user.FullName
userMap["ID"] = user.ID
userMap["Avatar"] = user.RelAvatarLink()
userMap["NumRepos"] = user.NumRepos


+ 4
- 196
templates/home.tmpl View File

@@ -19,90 +19,7 @@
<div class="twelve wide tablet ten wide computer column homenews">
<div class="newslist">
<div class="ui mini aligned list swiper-wrapper" id="newmessage">
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/zhoupzh/-1" alt="">
<div class="middle aligned content">
<a href="/zhoupzh" title="">zhoupzh</a> 合并了合并请求 <a href="/OpenI/aiforge/pulls/1168" rel="nofollow">OpenI/aiforge#1168</a><span class="time-since">22 分钟前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/zhoupzh/-1" alt="">
<div class="middle aligned content">
<a href="/zhoupzh" title="">zhoupzh</a> 推送了 <a href="/OpenI/aiforge/src/branch/V20211228" rel="nofollow">V20211228</a> 分支的代码到 <a href="/OpenI/aiforge" rel="nofollow">OpenI/aiforge</a><span class="time-since">15 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/tanglj/-1" alt="">
<div class="middle aligned content">
<a href="/tanglj" title="">tanglj</a> 推送了 <a href="/OpenIOSSG/AiForge-Doc/src/branch/master" rel="nofollow">master</a> 分支的代码到 <a href="/OpenIOSSG/AiForge-Doc" rel="nofollow">OpenIOSSG/AiForge-Doc</a><span class="time-since">16 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/wangj/-1" alt="">
<div class="middle aligned content">
<a href="/wangj" title="">wangj</a> 关闭了任务 <a href="/OpenI/aiforge/issues/820" rel="nofollow">OpenI/aiforge#820</a><span class="time-since">16 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/lewis/-1" alt="">
<div class="middle aligned content">
<a href="/lewis" title="">lewis</a> 推送了 <a href="/OpenI/aiforge/src/branch/V20211228" rel="nofollow">V20211228</a> 分支的代码到 <a href="/OpenI/aiforge" rel="nofollow">OpenI/aiforge</a><span class="time-since">17 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/lewis/-1" alt="">
<div class="middle aligned content">
<a href="/lewis" title="">lewis</a> 创建了合并请求 <a href="/OpenI/aiforge/pulls/1174" rel="nofollow">OpenI/aiforge#1174</a><span class="time-since">16 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/zhoupzh/-1" alt="">
<div class="middle aligned content">
<a href="/zhoupzh" title="">zhoupzh</a> 合并了合并请求 <a href="/OpenI/aiforge/pulls/1168" rel="nofollow">OpenI/aiforge#1168</a><span class="time-since">22 分钟前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/zhoupzh/-1" alt="">
<div class="middle aligned content">
<a href="/zhoupzh" title="">zhoupzh</a> 推送了 <a href="/OpenI/aiforge/src/branch/V20211228" rel="nofollow">V20211228</a> 分支的代码到 <a href="/OpenI/aiforge" rel="nofollow">OpenI/aiforge</a><span class="time-since">15 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/tanglj/-1" alt="">
<div class="middle aligned content">
<a href="/tanglj" title="">tanglj</a> 推送了 <a href="/OpenIOSSG/AiForge-Doc/src/branch/master" rel="nofollow">master</a> 分支的代码到 <a href="/OpenIOSSG/AiForge-Doc" rel="nofollow">OpenIOSSG/AiForge-Doc</a><span class="time-since">16 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/zhoupzh/-1" alt="">
<div class="middle aligned content">
<a href="/zhoupzh" title="">zhoupzh</a> 推送了 <a href="/OpenI/aiforge/src/branch/V20211228" rel="nofollow">V20211228</a> 分支的代码到 <a href="/OpenI/aiforge" rel="nofollow">OpenI/aiforge</a><span class="time-since">15 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/tanglj/-1" alt="">
<div class="middle aligned content">
<a href="/tanglj" title="">tanglj</a> 推送了 <a href="/OpenIOSSG/AiForge-Doc/src/branch/master" rel="nofollow">master</a> 分支的代码到 <a href="/OpenIOSSG/AiForge-Doc" rel="nofollow">OpenIOSSG/AiForge-Doc</a><span class="time-since">16 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/zhoupzh/-1" alt="">
<div class="middle aligned content">
<a href="/zhoupzh" title="">zhoupzh</a> 合并了合并请求 <a href="/OpenI/aiforge/pulls/1168" rel="nofollow">OpenI/aiforge#1168</a><span class="time-since">22 分钟前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/zhoupzh/-1" alt="">
<div class="middle aligned content">
<a href="/zhoupzh" title="">zhoupzh</a> 推送了 <a href="/OpenI/aiforge/src/branch/V20211228" rel="nofollow">V20211228</a> 分支的代码到 <a href="/OpenI/aiforge" rel="nofollow">OpenI/aiforge</a><span class="time-since">15 小时前</span>
</div>
</div>
<div class="swiper-slide item">
<img class="ui avatar image" src="/user/avatar/tanglj/-1" alt="">
<div class="middle aligned content">
<a href="/tanglj" title="">tanglj</a> 推送了 <a href="/OpenIOSSG/AiForge-Doc/src/branch/master" rel="nofollow">master</a> 分支的代码到 <a href="/OpenIOSSG/AiForge-Doc" rel="nofollow">OpenIOSSG/AiForge-Doc</a><span class="time-since">16 小时前</span>
</div>
</div>
</div>
</div>
</div>
@@ -121,117 +38,8 @@
<a href="{{AppSubUrl}}/explore/organizations" class="circular ui primary basic button">更多组织 <i class="arrow circle right icon"></i></a>
</div>
<div class="sixteen wide tablet twelve wide computer column">
<div class="ui stackable three column grid homeorg-list">
<div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/OpenI/-1">
<div class="content nowrap">
<a href="/OpenI">OpenI</a> 启智社区
<div class="sub header">39 项目 ・ 60 成员 ・ 23 团队</div>
</div>
</div>
</div>
</div>
</div>
<div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/TensorLayer/-1">
<div class="content nowrap">
<a href="/OpenI">TensorLayer</a>
<div class="sub header">1 项目 ・ 2 成员 ・ 1 团队</div>
</div>
</div>
</div>
</div>
</div><div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/PCL-Platform.Intelligence/-1">
<div class="content nowrap">
<a href="/OpenI">PCL-Platform.Intelligence</a>
<div class="sub header">13 项目 ・ 12 成员 ・ 1 团队</div>
</div>
</div>
</div>
</div>
</div><div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/OpenModelZoo/-1">
<div class="content nowrap">
<a href="/OpenI">OpenModelZoo</a>
<div class="sub header">204 项目 ・ 110 成员 ・ 3 团队</div>
</div>
</div>
</div>
</div>
</div><div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/AINET/-1">
<div class="content nowrap">
<a href="/OpenI">AI+NET</a>
<div class="sub header">1 项目 ・ 2 成员 ・ 1 团队</div>
</div>
</div>
</div>
</div>
</div><div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/BAAI/-1">
<div class="content nowrap">
<a href="/OpenI">BAAI</a> 北京智源人工智能研究院
<div class="sub header">4 项目 ・ 5 成员 ・ 1 团队</div>
</div>
</div>
</div>
</div>
</div><div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/JD_Group/-1">
<div class="content nowrap">
<a href="/OpenI">OpenI</a> JD_group
<div class="sub header">41 项目 ・ 2 成员 ・ 2 团队</div>
</div>
</div>
</div>
</div>
</div><div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/PCL_EngineClub/-1">
<div class="content nowrap">
<a href="/OpenI">PCL_EngineClub</a>
<div class="sub header">2 项目 ・ 29 成员 ・ 2 团队</div>
</div>
</div>
</div>
</div>
</div><div class="column">
<div class="ui fluid card">
<div class="content">
<div class="ui small header">
<img class="ui image" src="/user/avatar/OpenI/-1">
<div class="content nowrap">
<a href="/OpenI">OpenI</a> 启智社区
<div class="sub header">39 项目 ・ 60 成员 ・ 23 团队</div>
</div>
</div>
</div>
</div>
</div>
<div class="ui stackable three column grid homeorg-list" id="recommendorg">
</div>
</div>
</div>
@@ -249,7 +57,7 @@
</div>

<div class="homepro-list">
<div class="swiper-wrapper">
<div class="swiper-wrapper" id="recommendrepo">
<div class="swiper-slide">
<div class="ui fluid card">
<div class="content">


Loading…
Cancel
Save