| @@ -535,13 +535,16 @@ func refreshUserStaticTable(wikiCountMap map[string]int, tableName string, pageS | |||
| //normalization | |||
| for k, v := range userIndexMap { | |||
| tmpResult := (v - minUserIndex) / (maxUserIndex - minUserIndex) | |||
| if tmpResult > 0.99 { | |||
| tmpResult = 0.99 | |||
| } | |||
| updateUserIndex(tableName, statictisSess, k, tmpResult) | |||
| } | |||
| log.Info("refresh data finished.tableName=" + tableName + " total record:" + fmt.Sprint(insertCount)) | |||
| } | |||
| func updateUserIndex(tableName string, statictisSess *xorm.Session, userId int64, userIndex float64) { | |||
| updateSql := "UPDATE public." + tableName + " set user_index=" + fmt.Sprint(userIndex) + " where id=" + fmt.Sprint(userId) | |||
| updateSql := "UPDATE public." + tableName + " set user_index=" + fmt.Sprint(userIndex*100) + " where id=" + fmt.Sprint(userId) | |||
| statictisSess.Exec(updateSql) | |||
| } | |||
| @@ -266,6 +266,16 @@ search_related=related | |||
| search_maybe=maybe | |||
| search_ge= | |||
| wecome_AI_plt = Welcome to OpenI AI Collaboration Platform! | |||
| explore_AI = Explore better AI, come here to find more interesting | |||
| datasets = Datasets | |||
| repositories = Repositories | |||
| use_plt__fuction = To use the AI collaboration functions provided by this platform, such as: hosting code, sharing data, debugging algorithms or training models, start with | |||
| provide_resoure = Computing resources of CPU/GPU/NPU are provided freely for various types of AI tasks. | |||
| activity = Activity | |||
| no_events = There are no events related | |||
| or_t = or | |||
| [explore] | |||
| repos = Repositories | |||
| select_repos = Select the project | |||
| @@ -268,6 +268,18 @@ search_related=相关 | |||
| search_maybe=约为 | |||
| search_ge=个 | |||
| wecome_AI_plt=欢迎来到启智AI协作平台! | |||
| explore_AI = 探索更好的AI,来这里发现更有意思的 | |||
| datasets = 数据集 | |||
| repositories = 项目 | |||
| use_plt__fuction = 使用本平台提供的AI协作功能,如:托管代码、共享数据、调试算法或训练模型,请先 | |||
| provide_resoure = 平台目前免费提供CPU、GPU、NPU的算力资源,可进行多种类型的AI任务。 | |||
| create_pro = 创建项目 | |||
| activity = 活动 | |||
| no_events = 还没有与您相关的活动 | |||
| or_t = 或 | |||
| [explore] | |||
| repos=项目 | |||
| select_repos=精选项目 | |||
| @@ -54,11 +54,11 @@ func queryUserDataPage(ctx *context.Context, tableName string, queryObj interfac | |||
| "N1": ctx.Tr("user.static.encyclopediascount"), | |||
| "O1": ctx.Tr("user.static.createrepocount"), | |||
| "P1": ctx.Tr("user.static.openiindex"), | |||
| "Q1": ctx.Tr("user.static.registdate"), | |||
| "R1": ctx.Tr("user.static.CloudBrainTaskNum"), | |||
| "S1": ctx.Tr("user.static.CloudBrainRunTime"), | |||
| "T1": ctx.Tr("user.static.CommitDatasetNum"), | |||
| "U1": ctx.Tr("user.static.CommitModelCount"), | |||
| "Q1": ctx.Tr("user.static.CloudBrainTaskNum"), | |||
| "R1": ctx.Tr("user.static.CloudBrainRunTime"), | |||
| "S1": ctx.Tr("user.static.CommitDatasetNum"), | |||
| "T1": ctx.Tr("user.static.CommitModelCount"), | |||
| "U1": ctx.Tr("user.static.registdate"), | |||
| "V1": ctx.Tr("user.static.countdate"), | |||
| } | |||
| for k, v := range dataHeader { | |||
| @@ -91,14 +91,12 @@ func queryUserDataPage(ctx *context.Context, tableName string, queryObj interfac | |||
| xlsx.SetCellValue(sheetName, "N"+rows, userRecord.EncyclopediasCount) | |||
| xlsx.SetCellValue(sheetName, "O"+rows, userRecord.CreateRepoCount) | |||
| xlsx.SetCellValue(sheetName, "P"+rows, fmt.Sprintf("%.2f", userRecord.OpenIIndex)) | |||
| xlsx.SetCellValue(sheetName, "Q"+rows, userRecord.CloudBrainTaskNum) | |||
| xlsx.SetCellValue(sheetName, "R"+rows, fmt.Sprintf("%.2f", float64(userRecord.CloudBrainRunTime)/3600)) | |||
| xlsx.SetCellValue(sheetName, "S"+rows, userRecord.CommitDatasetNum) | |||
| xlsx.SetCellValue(sheetName, "T"+rows, userRecord.CommitModelCount) | |||
| formatTime := userRecord.RegistDate.Format("2006-01-02 15:04:05") | |||
| xlsx.SetCellValue(sheetName, "Q"+rows, formatTime[0:len(formatTime)-3]) | |||
| xlsx.SetCellValue(sheetName, "R"+rows, userRecord.CloudBrainTaskNum) | |||
| xlsx.SetCellValue(sheetName, "S"+rows, fmt.Sprintf("%.2f", float64(userRecord.CloudBrainRunTime)/3600)) | |||
| xlsx.SetCellValue(sheetName, "T"+rows, userRecord.CommitDatasetNum) | |||
| xlsx.SetCellValue(sheetName, "U"+rows, userRecord.CommitModelCount) | |||
| xlsx.SetCellValue(sheetName, "U"+rows, formatTime[0:len(formatTime)-3]) | |||
| formatTime = userRecord.DataDate | |||
| xlsx.SetCellValue(sheetName, "V"+rows, formatTime) | |||
| } | |||
| @@ -255,11 +253,11 @@ func QueryUserStaticDataPage(ctx *context.Context) { | |||
| "N1": ctx.Tr("user.static.encyclopediascount"), | |||
| "O1": ctx.Tr("user.static.createrepocount"), | |||
| "P1": ctx.Tr("user.static.openiindex"), | |||
| "Q1": ctx.Tr("user.static.registdate"), | |||
| "R1": ctx.Tr("user.static.CloudBrainTaskNum"), | |||
| "S1": ctx.Tr("user.static.CloudBrainRunTime"), | |||
| "T1": ctx.Tr("user.static.CommitDatasetNum"), | |||
| "U1": ctx.Tr("user.static.CommitModelCount"), | |||
| "Q1": ctx.Tr("user.static.CloudBrainTaskNum"), | |||
| "R1": ctx.Tr("user.static.CloudBrainRunTime"), | |||
| "S1": ctx.Tr("user.static.CommitDatasetNum"), | |||
| "T1": ctx.Tr("user.static.CommitModelCount"), | |||
| "U1": ctx.Tr("user.static.registdate"), | |||
| "V1": ctx.Tr("user.static.countdate"), | |||
| } | |||
| for k, v := range dataHeader { | |||
| @@ -286,13 +284,12 @@ func QueryUserStaticDataPage(ctx *context.Context) { | |||
| xlsx.SetCellValue(sheetName, "N"+rows, userRecord.EncyclopediasCount) | |||
| xlsx.SetCellValue(sheetName, "O"+rows, userRecord.CreateRepoCount) | |||
| xlsx.SetCellValue(sheetName, "P"+rows, fmt.Sprintf("%.2f", userRecord.OpenIIndex)) | |||
| xlsx.SetCellValue(sheetName, "Q"+rows, userRecord.CloudBrainTaskNum) | |||
| xlsx.SetCellValue(sheetName, "R"+rows, fmt.Sprintf("%.2f", float64(userRecord.CloudBrainRunTime)/3600)) | |||
| xlsx.SetCellValue(sheetName, "S"+rows, userRecord.CommitDatasetNum) | |||
| xlsx.SetCellValue(sheetName, "T"+rows, userRecord.CommitModelCount) | |||
| formatTime := userRecord.RegistDate.Format("2006-01-02 15:04:05") | |||
| xlsx.SetCellValue(sheetName, "Q"+rows, formatTime[0:len(formatTime)-3]) | |||
| xlsx.SetCellValue(sheetName, "R"+rows, userRecord.CloudBrainTaskNum) | |||
| xlsx.SetCellValue(sheetName, "S"+rows, fmt.Sprintf("%.2f", float64(userRecord.CloudBrainRunTime)/3600)) | |||
| xlsx.SetCellValue(sheetName, "T"+rows, userRecord.CommitDatasetNum) | |||
| xlsx.SetCellValue(sheetName, "U"+rows, userRecord.CommitModelCount) | |||
| xlsx.SetCellValue(sheetName, "U"+rows, formatTime[0:len(formatTime)-3]) | |||
| formatTime = userRecord.DataDate | |||
| xlsx.SetCellValue(sheetName, "V"+rows, formatTime) | |||
| } | |||
| @@ -380,7 +380,7 @@ | |||
| <div class="menu" style="right: auto;"> | |||
| <div class="item" style="padding: 0 !important;"> | |||
| {{if .CanDebug}} | |||
| <a id="model-image-{{.Cloudbrain.ID}}" class='imageBtn ui basic {{if ne .Status "RUNNING"}} {{else}}blue {{end}}button' href="{{$.RepoLink}}/cloudbrain/{{.Cloudbrain.ID}}/commit_image">{{$.i18n.Tr "repo.submit_image"}}</a> | |||
| <a id="model-image-{{.Cloudbrain.ID}}" class='imageBtn ui basic {{if ne .Status "RUNNING"}}disabled {{else}}blue {{end}}button' href="{{$.RepoLink}}/cloudbrain/{{.Cloudbrain.ID}}/commit_image">{{$.i18n.Tr "repo.submit_image"}}</a> | |||
| {{else}} | |||
| <a class="imageBtn ui basic disabled button">{{$.i18n.Tr "repo.submit_image"}}</a> | |||
| {{end}} | |||
| @@ -5,13 +5,110 @@ | |||
| {{template "base/alert" .}} | |||
| <div class="ui mobile reversed stackable grid"> | |||
| <div class="ui container ten wide column"> | |||
| <div class="default" id = 'default_page' style="display: none;"> | |||
| <div class="w_title"> | |||
| {{.i18n.Tr "home.wecome_AI_plt"}} | |||
| </div> | |||
| <div class="content"> | |||
| <p >{{.i18n.Tr "home.explore_AI"}} <a href="{{AppSubUrl}}/explore/repos"> {{.i18n.Tr "home.repositories"}}</a> {{.i18n.Tr "home.or_t"}} <a href="{{AppSubUrl}}/explore/datasets">{{.i18n.Tr "home.datasets"}}</a></p> | |||
| <p >{{.i18n.Tr "home.use_plt__fuction"}} <a class="mini ui blue button" href="{{AppSubUrl}}/repo/create{{if .ContextUser.IsOrganization}}?org={{.ContextUser.ID}}{{end}}" >{{.i18n.Tr "repo.create_repo"}}</a></p> | |||
| <p > {{.i18n.Tr "home.provide_resoure"}}</p> | |||
| </div> | |||
| <div class="guide "> | |||
| <a class="mini ui blue basic button" style="font-weight:700" href="https://git.openi.org.cn/zeizei/OpenI_Learning" target="_blank">{{.i18n.Tr "custom.Platform_Tutorial"}} <i class="ri-arrow-right-line" ></i></a> | |||
| </div> | |||
| </div> | |||
| {{if .EnableHeatmap}} | |||
| {{template "user/dashboard/heatmap" .}} | |||
| {{end}} | |||
| {{template "user/dashboard/feeds" .}} | |||
| <diV id = "activity_cont" style="display: none;"> | |||
| <div class="ui placeholder segment bgtask-none padding_none line" > | |||
| <div class="act_title" style="padding-left: 0px ;"> | |||
| {{.i18n.Tr "home.activity"}} : | |||
| </div> | |||
| <div class="ui icon header bgtask-header-pic"></div> | |||
| <p class="p_hint"> | |||
| {{.i18n.Tr "home.no_events"}} | |||
| </p> | |||
| </div> | |||
| </diV> | |||
| </div> | |||
| {{template "user/dashboard/repolist" .}} | |||
| </div> | |||
| </div> | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| <script> | |||
| const {AppSubUrl, StaticUrlPrefix, csrf} = window.config; | |||
| uid_ = Number((document.querySelector('meta[name=_context_uid]') || {}).content) | |||
| // console.log("uid:",uid_) | |||
| let URL = AppSubUrl + '/api/v1/repos/search?sort=updated&order=desc&uid='+uid_ +'&q=&page=1&limit=10&mode= '; | |||
| $.getJSON(URL, (result, _textStatus, request) => { | |||
| const counts_pro = request.getResponseHeader('X-Total-Count'); | |||
| console.log("count:",counts_pro) | |||
| if (counts_pro == 0){ | |||
| document.getElementById("default_page").style.display = "block"; | |||
| document.getElementById("activity_cont").style.display = "block" | |||
| } | |||
| }) | |||
| </script> | |||
| <style> | |||
| .default{ | |||
| background-color: rgba(24, 144, 255, 0.1); | |||
| margin-bottom: 20px; | |||
| border-radius: 15px; | |||
| line-height: 20px; | |||
| padding:0px 25px; | |||
| } | |||
| .w_title{ | |||
| padding-top: 25px; | |||
| color: rgba(16, 16, 16, 100); | |||
| font-size: 20px; | |||
| text-align: left; | |||
| font-weight: 700; | |||
| } | |||
| .content{ | |||
| color: rgba(80, 85, 89, 100); | |||
| font-size: 14px; | |||
| text-align: left; | |||
| font-family: SourceHanSansSC-regular; | |||
| margin-top: 20px; | |||
| } | |||
| .guide{ | |||
| margin-top:30px; | |||
| padding-bottom: 30px; | |||
| } | |||
| .activity{ | |||
| margin-top: 20px; | |||
| } | |||
| .act_title{ | |||
| color: rgba(16, 16, 16, 100) !important; | |||
| font-size: 20px; | |||
| text-align: left; | |||
| background-color: #fff !important; | |||
| font-weight: 700; | |||
| } | |||
| .p_hint{ | |||
| color: rgba(136, 136, 136, 100); | |||
| font-size: 14px; | |||
| text-align: center; | |||
| font-family: SourceHanSansSC-regular; | |||
| } | |||
| .padding_none{ | |||
| padding: 0px !important; | |||
| } | |||
| .ui.placeholder.segment { | |||
| min-height: 15rem !important; | |||
| } | |||
| .line{ | |||
| border-top: 1px solid rgba(187, 187, 187, 0.5) !important; | |||
| margin-top: 20px !important; | |||
| } | |||
| </style> | |||
| @@ -23,7 +23,7 @@ | |||
| </form> | |||
| </div> | |||
| <img class="ui mini image" src="{{.RelAvatarLink}}"> | |||
| <div class="content"> | |||
| <div class="content-org" style="display: inline-block;width: auto;padding: 0 0 0 0.5em;"> | |||
| <a href="{{.HomeLink}}">{{.Name}}</a> | |||
| </div> | |||
| </div> | |||
| @@ -134,15 +134,6 @@ | |||
| label="创建项目" | |||
| align="center"> | |||
| </el-table-column> | |||
| <el-table-column | |||
| prop="RegistDate" | |||
| label="用户注册时间" | |||
| width="120px" | |||
| align="center"> | |||
| <template slot-scope="scope"> | |||
| {{scope.row.RegistDate | transformTimestamp}} | |||
| </template> | |||
| </el-table-column> | |||
| <el-table-column | |||
| prop="CloudBrainTaskNum" | |||
| label="云脑任务数" | |||
| @@ -170,7 +161,15 @@ | |||
| width="120px" | |||
| align="center"> | |||
| </el-table-column> | |||
| <el-table-column | |||
| prop="RegistDate" | |||
| label="用户注册时间" | |||
| width="120px" | |||
| align="center"> | |||
| <template slot-scope="scope"> | |||
| {{scope.row.RegistDate | transformTimestamp}} | |||
| </template> | |||
| </el-table-column> | |||
| <el-table-column | |||
| prop="DataDate" | |||
| label="系统统计时间" | |||
| @@ -969,10 +969,10 @@ display: block; | |||
| color: red; | |||
| } | |||
| // .ui.list .list>.item>img.image+.content, .ui.list>.item>img.image+.content { | |||
| // width: calc(100% - 4.0em); | |||
| // margin-left: 0; | |||
| // } | |||
| .ui.list .list>.item>img.image+.content, .ui.list>.item>img.image+.content { | |||
| width: calc(100% - 4.0em); | |||
| margin-left: 0; | |||
| } | |||
| .seach .ui.list .list>.item .header, .seach .ui.list>.item .header{ | |||
| margin-bottom: 0.5em; | |||