From 15404d8bd1e9b38198c4fc66423acc3c742aa920 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 20 May 2022 15:19:52 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=AD=A3SQL=E8=AF=AD=E5=8F=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- models/user_business_analysis.go | 4 +--- routers/routes/routes.go | 1 + routers/user/auth.go | 3 +++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index 56e591dea..5d77e876b 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -778,7 +778,7 @@ func CounDataByDateAndReCount(wikiCountMap map[string]int, startTime time.Time, if err != nil { log.Info("query commit code errr.") } else { - log.Info("query commit code size, len=" + fmt.Sprint(len(CommitCodeSizeMap))) + //log.Info("query commit code size, len=" + fmt.Sprint(len(CommitCodeSizeMap))) CommitCodeSizeMapJson, _ := json.Marshal(CommitCodeSizeMap) log.Info("CommitCodeSizeMapJson=" + string(CommitCodeSizeMapJson)) } @@ -1013,7 +1013,6 @@ func getUserIndexFromAnalysisAll(dateRecord UserBusinessAnalysisAll, ParaWeight // 登录次数 0.10 result = float64(dateRecord.CodeMergeCount) * getParaWeightValue("CodeMergeCount", ParaWeight, 0.2) result += float64(dateRecord.CommitCount) * getParaWeightValue("CommitCount", ParaWeight, 0.2) - log.Info("1 result=" + fmt.Sprint(result)) result += float64(dateRecord.IssueCount) * getParaWeightValue("IssueCount", ParaWeight, 0.2) result += float64(dateRecord.CommentCount) * getParaWeightValue("CommentCount", ParaWeight, 0.2) result += float64(dateRecord.FocusRepoCount) * getParaWeightValue("FocusRepoCount", ParaWeight, 0.1) @@ -1096,7 +1095,6 @@ func getUserIndex(dateRecord UserBusinessAnalysis, ParaWeight map[string]float64 // 登录次数 0.10 result = float64(dateRecord.CodeMergeCount) * getParaWeightValue("CodeMergeCount", ParaWeight, 0.2) result += float64(dateRecord.CommitCount) * getParaWeightValue("CommitCount", ParaWeight, 0.2) - log.Info("2 result=" + fmt.Sprint(result)) result += float64(dateRecord.IssueCount) * getParaWeightValue("IssueCount", ParaWeight, 0.2) result += float64(dateRecord.CommentCount) * getParaWeightValue("CommentCount", ParaWeight, 0.2) result += float64(dateRecord.FocusRepoCount) * getParaWeightValue("FocusRepoCount", ParaWeight, 0.1) diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 4c3f5f472..85130ec8f 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -364,6 +364,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/user", func() { m.Get("/login", user.SignIn) m.Get("/login/cloud_brain", user.SignInCloudBrain) + m.Post("/login/kanban", user.SignInPostAPI) m.Post("/login", bindIgnErr(auth.SignInForm{}), user.SignInPost) m.Group("", func() { m.Combo("/login/openid"). diff --git a/routers/user/auth.go b/routers/user/auth.go index a02cf24dc..12cc41987 100755 --- a/routers/user/auth.go +++ b/routers/user/auth.go @@ -175,6 +175,9 @@ func SignInCloudBrain(ctx *context.Context) { ctx.HTML(200, tplSignInCloudBrain) } +func SignInPostAPI(ctx *context.Context) { + log.Info("22222222222222222222222") +} // SignInPost response for sign in request func SignInPost(ctx *context.Context, form auth.SignInForm) { From e4ab1b4fc2482a9b85f81fc74e45fb8f9b6dae04 Mon Sep 17 00:00:00 2001 From: liuzx Date: Mon, 30 May 2022 11:43:42 +0800 Subject: [PATCH 02/19] fix-2139 --- routers/repo/modelarts.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index e099a19ff..95ca8df62 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -764,6 +764,7 @@ func trainJobErrorNewDataPrepare(ctx *context.Context, form auth.CreateModelArts ctx.Data["bootFile"] = form.BootFile ctx.Data["uuid"] = form.Attachment ctx.Data["branch_name"] = form.BranchName + ctx.Data["cloudbraintype"] = models.TypeCloudBrainTwo return nil } @@ -954,6 +955,7 @@ func versionErrorDataPrepare(ctx *context.Context, form auth.CreateModelArtsTrai return err } ctx.Data["config_list"] = configList.ParaConfigs + ctx.Data["cloudbraintype"] = models.TypeCloudBrainTwo return nil } @@ -2175,6 +2177,7 @@ func inferenceJobErrorNewDataPrepare(ctx *context.Context, form auth.CreateModel ctx.Data["model_version"] = form.ModelVersion ctx.Data["ckpt_name"] = form.CkptName ctx.Data["train_url"] = form.TrainUrl + ctx.Data["cloudbraintype"] = models.TypeCloudBrainTwo return nil } From d72f94943a3fc2ad1af000ff6ec6381157a4c8af Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Mon, 30 May 2022 16:26:01 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/repo/datasets/index.tmpl | 42 +++++++++++++++++++-------- web_src/js/index.js | 46 +++++++++++++++++++++++++++--- web_src/less/openi.less | 16 ++++++----- 3 files changed, 81 insertions(+), 23 deletions(-) diff --git a/templates/repo/datasets/index.tmpl b/templates/repo/datasets/index.tmpl index 4cc84bbe8..74448406f 100755 --- a/templates/repo/datasets/index.tmpl +++ b/templates/repo/datasets/index.tmpl @@ -118,6 +118,20 @@ .diy-popper { max-width: 400px; } + + .ascending { + width: 0; + height: 0; + border: 5px solid transparent; + border-bottom-color: #c0c4cc; + } + + .descending { + width: 0; + height: 0; + border: 5px solid transparent; + border-top-color: #c0c4cc; + }
{{template "repo/header" .}} @@ -213,21 +227,24 @@
-
+
{{$.i18n.Tr "dataset.dataset_file_name"}} - - + +
+ style="width: 7.25% !important;cursor: pointer;"> {{$.i18n.Tr "repo.model.manage.size"}} - - + +
@@ -239,12 +256,13 @@
{{$.i18n.Tr "repo.cloudbrain_creator"}}
-
+
{{$.i18n.Tr "dataset.dataset_upload_time"}} - - + +
diff --git a/web_src/js/index.js b/web_src/js/index.js index b9e7165cf..bcc995836 100755 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -4080,16 +4080,54 @@ function initVueDataset() { location.href = `${location.href}&sort=${dom}Asc` } else if (params.get('sort') === `${dom}Desc` || params.get('sort').indexOf(`${dom}`) === -1) { - params.delete('sort') - let asc = params.toString() + `&sort=${dom}Asc` + params.set("sort", `${dom}Asc`) + let asc = params.toString() location.search = asc } else { - params.delete('sort') - let desc = params.toString() + `&sort=${dom}Desc` + params.set("sort", `${dom}Desc`) + let desc = params.toString() location.search = desc } }, + sortIcon(dom, sort) { + const params = new URLSearchParams(location.search) + if (sort === "up") { + + if (params.toString() === '') { + location.href = `${location.href}?sort=${dom}Asc` + } + else if (!params.get('sort')) { + location.href = `${location.href}&sort=${dom}Asc` + } else if (params.get('sort').indexOf(`${dom}`) === -1) { + params.set("sort", `${dom}Asc`) + let asc = params.toString() + location.search = asc + } else { + params.delete('sort') + location.search = params.toString() + } + } + else if (sort === "down") { + if (params.toString() === '') { + location.href = `${location.href}?sort=${dom}Desc` + } + else if (!params.get('sort')) { + location.href = `${location.href}&sort=${dom}Desc` + } + else if (params.get('sort').indexOf(`${dom}`) === -1) { + params.set("sort", `${dom}Desc`) + let asc = params.toString() + location.search = asc + } else { + params.delete('sort') + location.search = params.toString() + } + + + } + + }, setPrivate(uuid, privateFlag, index) { const params = { _csrf: csrf, file: uuid, is_private: privateFlag } this.$axios.post('/attachments/private', this.qs.stringify(params)).then((res) => { diff --git a/web_src/less/openi.less b/web_src/less/openi.less index 40b55e012..5ff09544a 100644 --- a/web_src/less/openi.less +++ b/web_src/less/openi.less @@ -1079,17 +1079,19 @@ display: block; .row .sort-caret-up { position: absolute; top: 5px; - color: #c0c4cc; - font-size: 18px; + } .row .sort-caret-down { position: absolute; - bottom: 3px; - color: #c0c4cc; - font-size: 18px; + bottom: 5px; + + } + +.row .active-up-sort { + border-bottom-color: #409eff; } -.row .active-sort { - color: #409eff !important; + .row .active-down-sort { + border-top-color: #409eff; } \ No newline at end of file From 22cb0c6653e82484aff1055349508d8d6a3a47a2 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Mon, 30 May 2022 16:40:16 +0800 Subject: [PATCH 04/19] fix issue --- web_src/js/components/BrainAnalysis.vue | 141 +++++++++++++----------- 1 file changed, 74 insertions(+), 67 deletions(-) diff --git a/web_src/js/components/BrainAnalysis.vue b/web_src/js/components/BrainAnalysis.vue index 4950c3241..69d02548a 100644 --- a/web_src/js/components/BrainAnalysis.vue +++ b/web_src/js/components/BrainAnalysis.vue @@ -1,86 +1,93 @@ - - - - + .btnLast { + line-height: 1.5; + margin: -3.5px; + border: 1px solid rgba(22, 132, 252, 100); + /* border-right: none; */ + background: #FFFF; + color: #1684FC; + width: 60px; + height: 30px; + border-radius: 0px 4px 4px 0px; + } + \ No newline at end of file From 629b68e961921950d3e5ab9bbada5ff4e9b3ed07 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Mon, 30 May 2022 18:05:57 +0800 Subject: [PATCH 05/19] fix issue --- web_src/js/index.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/web_src/js/index.js b/web_src/js/index.js index bcc995836..ed8fb3473 100755 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -4093,19 +4093,18 @@ function initVueDataset() { sortIcon(dom, sort) { const params = new URLSearchParams(location.search) if (sort === "up") { - if (params.toString() === '') { location.href = `${location.href}?sort=${dom}Asc` } else if (!params.get('sort')) { location.href = `${location.href}&sort=${dom}Asc` - } else if (params.get('sort').indexOf(`${dom}`) === -1) { + } else if (params.get('sort') && params.get('sort').indexOf(`${dom}Asc`) !== -1) { + params.delete('sort') + location.search = params.toString() + } else { params.set("sort", `${dom}Asc`) let asc = params.toString() location.search = asc - } else { - params.delete('sort') - location.search = params.toString() } } else if (sort === "down") { @@ -4115,13 +4114,13 @@ function initVueDataset() { else if (!params.get('sort')) { location.href = `${location.href}&sort=${dom}Desc` } - else if (params.get('sort').indexOf(`${dom}`) === -1) { + else if (params.get('sort') && params.get('sort').indexOf(`${dom}Desc`) !== -1) { + params.delete('sort') + location.search = params.toString() + } else { params.set("sort", `${dom}Desc`) let asc = params.toString() location.search = asc - } else { - params.delete('sort') - location.search = params.toString() } From de5819675f3795a0649e4458ec9f6f89735bb2ab Mon Sep 17 00:00:00 2001 From: liuzx Date: Mon, 30 May 2022 18:24:15 +0800 Subject: [PATCH 06/19] fix-1941 --- models/cloudbrain.go | 5 +++++ routers/org/setting.go | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index e28ba3ea5..b9f0d0b86 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1566,6 +1566,11 @@ func GetCloudbrainCountByUserID(userID int64, jobType string) (int, error) { return int(count), err } +func GetCloudbrainRunCountByUserID(userID int64) (int, error) { + count, err := x.In("status", JobWaiting, JobRunning).And("user_id = ?", userID).Count(new(Cloudbrain)) + return int(count), err +} + func GetBenchmarkCountByUserID(userID int64) (int, error) { count, err := x.In("status", JobWaiting, JobRunning).And("(job_type = ? or job_type = ? or job_type = ?) and user_id = ? and type = ?", string(JobTypeBenchmark), string(JobTypeBrainScore), string(JobTypeSnn4imagenet), userID, TypeCloudBrainOne).Count(new(Cloudbrain)) return int(count), err diff --git a/routers/org/setting.go b/routers/org/setting.go index 348d8cc8d..3213bf03d 100644 --- a/routers/org/setting.go +++ b/routers/org/setting.go @@ -73,6 +73,18 @@ func SettingsPost(ctx *context.Context, form auth.UpdateOrgSettingForm) { ctx.Org.OrgLink = setting.AppSubURL + "/org/" + form.Name log.Trace("Organization name changed: %s -> %s", org.Name, form.Name) } + + count, err := models.GetCloudbrainRunCountByUserID(ctx.User.ID) + if err != nil { + ctx.ServerError("GetCloudbrainCountByUserID failed", err) + return + } else { + if count >= 1 { + log.Error("the user already has running or waiting task", ctx.Data["MsgID"]) + ctx.RenderWithErr(ctx.Tr("The cloudbrain tasks needs to be stopped before you delete the project"), tplSettingsOptions, &form) + return + } + } // In case it's just a case change. org.Name = form.Name org.LowerName = strings.ToLower(form.Name) From 406dabb36bed1ed622f45e271a273414558764f6 Mon Sep 17 00:00:00 2001 From: liuzx Date: Tue, 31 May 2022 11:22:00 +0800 Subject: [PATCH 07/19] fix-1941 --- models/cloudbrain.go | 4 ++-- options/locale/locale_en-US.ini | 1 + options/locale/locale_zh-CN.ini | 1 + routers/org/setting.go | 12 ------------ routers/repo/setting.go | 28 +++++++++++++++++++--------- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index b9f0d0b86..c1f346c89 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1566,8 +1566,8 @@ func GetCloudbrainCountByUserID(userID int64, jobType string) (int, error) { return int(count), err } -func GetCloudbrainRunCountByUserID(userID int64) (int, error) { - count, err := x.In("status", JobWaiting, JobRunning).And("user_id = ?", userID).Count(new(Cloudbrain)) +func GetCloudbrainRunCountByRepoID(repoID int64) (int, error) { + count, err := x.In("status", JobWaiting, JobRunning).And("repo_id = ?", repoID).Count(new(Cloudbrain)) return int(count), err } diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 265e7ed36..ff493c26a 100755 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -814,6 +814,7 @@ settings.delete_notices_1= - This operation CANNOT be undone. settings.delete_notices_2= - This operation will permanently delete the %s dataset. settings.delete_notices_fork_1= - Forks of this dataset will become independent after deletion. settings.deletion_success= The dataset has been deleted. +settings.deletion_notice_cloudbrain = you need to stop the cloudbrain task under the project before remove the project! task.machine_translation= machine translation task.question_answering_system= question answering system task.information_retrieval= information retrieval diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 1b26a930c..4b6305b55 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -1928,6 +1928,7 @@ settings.delete_notices_1=- 此操作 不可以 被回滚。 settings.delete_notices_2=- 此操作将永久删除项目 %s,包括 Git 数据、 任务、评论、百科和协作者的操作权限。 settings.delete_notices_fork_1=- 在此项目删除后,它的派生项目将变成独立项目。 settings.deletion_success=项目已被删除。 +settings.deletion_notice_cloudbrain=删除项目前需要先停止该项目下的云脑任务! settings.update_settings_success=项目设置已更新。 settings.transfer_owner=新拥有者 settings.make_transfer=开始转移 diff --git a/routers/org/setting.go b/routers/org/setting.go index 3213bf03d..348d8cc8d 100644 --- a/routers/org/setting.go +++ b/routers/org/setting.go @@ -73,18 +73,6 @@ func SettingsPost(ctx *context.Context, form auth.UpdateOrgSettingForm) { ctx.Org.OrgLink = setting.AppSubURL + "/org/" + form.Name log.Trace("Organization name changed: %s -> %s", org.Name, form.Name) } - - count, err := models.GetCloudbrainRunCountByUserID(ctx.User.ID) - if err != nil { - ctx.ServerError("GetCloudbrainCountByUserID failed", err) - return - } else { - if count >= 1 { - log.Error("the user already has running or waiting task", ctx.Data["MsgID"]) - ctx.RenderWithErr(ctx.Tr("The cloudbrain tasks needs to be stopped before you delete the project"), tplSettingsOptions, &form) - return - } - } // In case it's just a case change. org.Name = form.Name org.LowerName = strings.ToLower(form.Name) diff --git a/routers/repo/setting.go b/routers/repo/setting.go index af28f3290..a72af3858 100644 --- a/routers/repo/setting.go +++ b/routers/repo/setting.go @@ -6,7 +6,6 @@ package repo import ( - "code.gitea.io/gitea/modules/notification" "errors" "fmt" "io/ioutil" @@ -15,6 +14,8 @@ import ( "strings" "time" + "code.gitea.io/gitea/modules/notification" + "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/auth" "code.gitea.io/gitea/modules/base" @@ -477,16 +478,25 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_repo_name"), tplSettingsOptions, nil) return } - - if err := repo_service.DeleteRepository(ctx.User, ctx.Repo.Repository); err != nil { - ctx.ServerError("DeleteRepository", err) + count, err := models.GetCloudbrainRunCountByRepoID(repo.ID) + if err != nil { + ctx.ServerError("GetCloudbrainCountByRepoID failed", err) return - } - log.Trace("Repository deleted: %s/%s", ctx.Repo.Owner.Name, repo.Name) - go StopJobsByRepoID(repo.ID) + } else { + if count >= 1 { + ctx.RenderWithErr(ctx.Tr("repo.settings.deletion_notice_cloudbrain"), tplSettingsOptions, nil) + return + } + if err := repo_service.DeleteRepository(ctx.User, ctx.Repo.Repository); err != nil { + ctx.ServerError("DeleteRepository", err) + return + } + log.Trace("Repository deleted: %s/%s", ctx.Repo.Owner.Name, repo.Name) + go StopJobsByRepoID(repo.ID) - ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success")) - ctx.Redirect(ctx.Repo.Owner.DashboardLink()) + ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success")) + ctx.Redirect(ctx.Repo.Owner.DashboardLink()) + } case "delete-wiki": if !ctx.Repo.IsOwner() { From a624735f82ba68b31e25f054e8f673c670f2825f Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Tue, 31 May 2022 12:00:57 +0800 Subject: [PATCH 08/19] update redis lock --- modules/auth/wechat/access_token.go | 10 +++++----- modules/redis/redis_lock/lock.go | 17 +++++++++-------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/modules/auth/wechat/access_token.go b/modules/auth/wechat/access_token.go index 0a63bc2de..f9516e3e1 100644 --- a/modules/auth/wechat/access_token.go +++ b/modules/auth/wechat/access_token.go @@ -9,7 +9,7 @@ import ( const EMPTY_REDIS_VAL = "Nil" -var accessTokenLock = redis_lock.NewDistributeLock() +var accessTokenLock = redis_lock.NewDistributeLock(redis_key.AccessTokenLockKey()) func GetWechatAccessToken() string { token, _ := redis_client.Get(redis_key.WechatAccessTokenKey()) @@ -28,15 +28,15 @@ func GetWechatAccessToken() string { } func refreshAccessToken() { - if ok := accessTokenLock.Lock(redis_key.AccessTokenLockKey(), 3*time.Second); ok { - defer accessTokenLock.UnLock(redis_key.AccessTokenLockKey()) + if ok := accessTokenLock.Lock(3 * time.Second); ok { + defer accessTokenLock.UnLock() callAccessTokenAndUpdateCache() } } func refreshAndGetAccessToken() string { - if ok := accessTokenLock.LockWithWait(redis_key.AccessTokenLockKey(), 3*time.Second, 3*time.Second); ok { - defer accessTokenLock.UnLock(redis_key.AccessTokenLockKey()) + if ok := accessTokenLock.LockWithWait(3*time.Second, 3*time.Second); ok { + defer accessTokenLock.UnLock() token, _ := redis_client.Get(redis_key.WechatAccessTokenKey()) if token != "" { if token == EMPTY_REDIS_VAL { diff --git a/modules/redis/redis_lock/lock.go b/modules/redis/redis_lock/lock.go index 0faed3237..b8cd837f1 100644 --- a/modules/redis/redis_lock/lock.go +++ b/modules/redis/redis_lock/lock.go @@ -6,22 +6,23 @@ import ( ) type DistributeLock struct { + lockKey string } -func NewDistributeLock() *DistributeLock { - return &DistributeLock{} +func NewDistributeLock(lockKey string) *DistributeLock { + return &DistributeLock{lockKey: lockKey} } -func (lock *DistributeLock) Lock(lockKey string, expireTime time.Duration) bool { - isOk, _ := redis_client.Setnx(lockKey, "", expireTime) +func (lock *DistributeLock) Lock(expireTime time.Duration) bool { + isOk, _ := redis_client.Setnx(lock.lockKey, "", expireTime) return isOk } -func (lock *DistributeLock) LockWithWait(lockKey string, expireTime time.Duration, waitTime time.Duration) bool { +func (lock *DistributeLock) LockWithWait(expireTime time.Duration, waitTime time.Duration) bool { start := time.Now().Unix() * 1000 duration := waitTime.Milliseconds() for { - isOk, _ := redis_client.Setnx(lockKey, "", expireTime) + isOk, _ := redis_client.Setnx(lock.lockKey, "", expireTime) if isOk { return true } @@ -34,7 +35,7 @@ func (lock *DistributeLock) LockWithWait(lockKey string, expireTime time.Duratio return false } -func (lock *DistributeLock) UnLock(lockKey string) error { - _, err := redis_client.Del(lockKey) +func (lock *DistributeLock) UnLock() error { + _, err := redis_client.Del(lock.lockKey) return err } From 3df7cddfbf36e5d6d897d1510349190ccb95d8e4 Mon Sep 17 00:00:00 2001 From: liuzx Date: Tue, 31 May 2022 14:46:07 +0800 Subject: [PATCH 09/19] fix-1941 --- models/cloudbrain.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index c1f346c89..810e68d30 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1567,7 +1567,10 @@ func GetCloudbrainCountByUserID(userID int64, jobType string) (int, error) { } func GetCloudbrainRunCountByRepoID(repoID int64) (int, error) { - count, err := x.In("status", JobWaiting, JobRunning).And("repo_id = ?", repoID).Count(new(Cloudbrain)) + count, err := x.In("status", JobWaiting, JobRunning, ModelArtsCreateQueue, ModelArtsCreating, ModelArtsStarting, + ModelArtsReadyToStart, ModelArtsResizing, ModelArtsStartQueuing, ModelArtsRunning, ModelArtsRestarting, ModelArtsTrainJobInit, + ModelArtsTrainJobImageCreating, ModelArtsTrainJobSubmitTrying, ModelArtsTrainJobWaiting, ModelArtsTrainJobRunning, + ModelArtsTrainJobScaling, ModelArtsTrainJobCheckInit, ModelArtsTrainJobCheckRunning, ModelArtsTrainJobCheckRunningCompleted).And("repo_id = ?", repoID).Count(new(Cloudbrain)) return int(count), err } From 5e9b76979cf4a816584738bce2be6273e00cad04 Mon Sep 17 00:00:00 2001 From: liuzx Date: Tue, 31 May 2022 16:21:27 +0800 Subject: [PATCH 10/19] fix-1941 --- options/locale/locale_zh-CN.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 4b6305b55..6640cb372 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -1928,7 +1928,7 @@ settings.delete_notices_1=- 此操作 不可以 被回滚。 settings.delete_notices_2=- 此操作将永久删除项目 %s,包括 Git 数据、 任务、评论、百科和协作者的操作权限。 settings.delete_notices_fork_1=- 在此项目删除后,它的派生项目将变成独立项目。 settings.deletion_success=项目已被删除。 -settings.deletion_notice_cloudbrain=删除项目前需要先停止该项目下的云脑任务! +settings.deletion_notice_cloudbrain=请先停止项目内正在运行的云脑任务,然后再删除项目。 settings.update_settings_success=项目设置已更新。 settings.transfer_owner=新拥有者 settings.make_transfer=开始转移 From 48fd46cb43275fa8005cfa5c2f8cdd6410e05dca Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Tue, 31 May 2022 17:02:21 +0800 Subject: [PATCH 11/19] =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E5=88=87=E6=8D=A2tab=E6=97=B6=E9=A1=B5=E7=A0=81?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/custom/select_dataset.tmpl | 275 +++++++++++--------- templates/custom/select_dataset_train.tmpl | 281 ++++++++++++--------- web_src/js/index.js | 18 +- 3 files changed, 325 insertions(+), 249 deletions(-) diff --git a/templates/custom/select_dataset.tmpl b/templates/custom/select_dataset.tmpl index befd186c5..d545f487e 100644 --- a/templates/custom/select_dataset.tmpl +++ b/templates/custom/select_dataset.tmpl @@ -1,138 +1,171 @@ - - +
{{if eq .cloudbraintype 0}} - + {{else}} {{end}} - {{.i18n.Tr "dataset.select_dataset"}} - -
- - -
- - - -
-
-
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
-
- - - - ${dataset.Description} -
-
-
- - - - 解压中 - - - - 解压失败 - -
+ + {{.i18n.Tr "dataset.select_dataset"}} + +
+
+ +
- - - - -
-
-
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
-
- - - - ${dataset.Description} + + + +
+
+
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
+
+ + + + ${dataset.Description} +
+
+
+ + + + 解压中 + + + + 解压失败 + +
+
+
+ +
+
+
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
+
+ + + + ${dataset.Description} +
+
+
+ + + + 解压中 + + + + 解压失败 + +
-
-
- - - - 解压中 - - - - 解压失败 - -
-
- - -
-
-
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
-
- - - - ${dataset.Description} + + +
+
+
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
+
+ + + + ${dataset.Description} +
+
+
+ + + + 解压中 + + + + 解压失败 + +
-
-
- - - - 解压中 - - - - 解压失败 - -
-
- - -
-
-
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
-
- - - - ${dataset.Description} + + +
+
+
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
+
+ + + + ${dataset.Description} +
+
+
+ + + + 解压中 + + + + 解压失败 + +
-
-
- - - - 解压中 - - - - 解压失败 - -
-
- - -
- - -
+ + +
+ + +
+
-
+
\ No newline at end of file diff --git a/templates/custom/select_dataset_train.tmpl b/templates/custom/select_dataset_train.tmpl index 28fce2490..f1d2abaf3 100644 --- a/templates/custom/select_dataset_train.tmpl +++ b/templates/custom/select_dataset_train.tmpl @@ -1,142 +1,179 @@ - - +
{{if or (.benchmarkMode) (.newInference)}} -       {{else}}{{.i18n.Tr "dataset.dataset"}}    {{end}} +       {{else}}{{.i18n.Tr "dataset.dataset"}}    {{end}} {{else}}     {{end}} - {{if .benchmarkMode}}{{.i18n.Tr "repo.modelarts.infer_job.select_model"}}{{else}}{{.i18n.Tr "dataset.select_dataset"}}{{end}} + + {{if .benchmarkMode}}{{.i18n.Tr "repo.modelarts.infer_job.select_model"}}{{else}}{{.i18n.Tr "dataset.select_dataset"}}{{end}} + {{if .benchmarkMode}} 说明:先使用数据集功能上传模型,然后从数据集列表选模型。 {{end}} - -
- - -
- - - -
-
-
${dataset.Repo.OwnerName}/${dataset.Repo.Alias} ${dataset.Name}
-
- - - - ${dataset.Description} -
-
-
- - - - 解压中 - - - - 解压失败 - -
+ +
+
+ +
- - {{if not .benchmarkMode}} - - -
-
-
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
-
- - - - ${dataset.Description} + + + +
+
+
${dataset.Repo.OwnerName}/${dataset.Repo.Alias} + ${dataset.Name} +
+
+ + + + ${dataset.Description} +
+
+
+ + + + 解压中 + + + + 解压失败 + +
-
-
- - - - 解压中 - - - - 解压失败 - -
-
- - -
-
-
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
-
- - - - ${dataset.Description} + {{if not .benchmarkMode}} + + +
+
+
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
+
+ + + + ${dataset.Description} +
+
+
+ + + + 解压中 + + + + 解压失败 + +
-
-
- - - - 解压中 - - - - 解压失败 - -
-
- - -
-
-
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
-
- - - - ${dataset.Description} + + +
+
+
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
+
+ + + + ${dataset.Description} +
+
+
+ + + + 解压中 + + + + 解压失败 + +
+
+ +
+ +
+
+
${dataset.Repo.OwnerName}/${dataset.Repo.Alias}${dataset.Name}
+
+ + + + ${dataset.Description} +
+
+
+ + + + 解压中 + + + + 解压失败 + +
-
-
- - - - 解压中 - - - - 解压失败 - -
-
- - {{end}} - -
- - -
+ + {{end}} + +
+ + +
+
-
+
\ No newline at end of file diff --git a/web_src/js/index.js b/web_src/js/index.js index ed8fb3473..6e10f2f75 100755 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -3867,7 +3867,7 @@ function initVueDataset() { cloudbrainType: 0, dataset_uuid: '', dataset_name: '', - loadingDataIndex: true, + loadingDataIndex: false, timer: null, ruleForm: { title: '', @@ -4338,6 +4338,7 @@ function initVueDataset() { } }, getCurrentRepoDataset(repoLink, type) { + clearInterval(this.timer) this.loadingDataIndex = true let url = repoLink + '/datasets/current_repo' @@ -4348,12 +4349,17 @@ function initVueDataset() { q: this.searchDataItem } }).then((res) => { - this.currentRepoDataset = JSON.parse(res.data.data) - const checkStatuDataset = this.currentRepoDataset.filter(item => item.DecompressState === 2) - if (checkStatuDataset.length > 0) { - this.polling(checkStatuDataset, repoLink) + if (res.result_code == '0') { + this.currentRepoDataset = JSON.parse(res.data.data) + const checkStatuDataset = this.currentRepoDataset.filter(item => item.DecompressState === 2) + if (checkStatuDataset.length > 0) { + this.polling(checkStatuDataset, repoLink) + } + this.totalnums = parseInt(res.data.count) + } else { + this.totalnums = 0 } - this.totalnums = parseInt(res.data.count) + this.loadingDataIndex = false }) }, From 83eb6c4276b07655122a01d60ce1abd9f40cb9cc Mon Sep 17 00:00:00 2001 From: liuzx Date: Tue, 31 May 2022 17:44:40 +0800 Subject: [PATCH 12/19] fix-1941 --- routers/repo/setting.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routers/repo/setting.go b/routers/repo/setting.go index a72af3858..d29f94693 100644 --- a/routers/repo/setting.go +++ b/routers/repo/setting.go @@ -484,7 +484,7 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { return } else { if count >= 1 { - ctx.RenderWithErr(ctx.Tr("repo.settings.deletion_notice_cloudbrain"), tplSettingsOptions, nil) + ctx.Flash.Error(ctx.Tr("repo.settings.deletion_notice_cloudbrain")) return } if err := repo_service.DeleteRepository(ctx.User, ctx.Repo.Repository); err != nil { From 8a3f43559d88ef3a0566e747674972c00321802c Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Tue, 31 May 2022 17:57:23 +0800 Subject: [PATCH 13/19] fix issue --- templates/repo/cloudbrain/new.tmpl | 24 +- templates/repo/cloudbrain/trainjob/new.tmpl | 538 +++++++++++--------- 2 files changed, 294 insertions(+), 268 deletions(-) diff --git a/templates/repo/cloudbrain/new.tmpl b/templates/repo/cloudbrain/new.tmpl index 6639c0dbb..107415e04 100755 --- a/templates/repo/cloudbrain/new.tmpl +++ b/templates/repo/cloudbrain/new.tmpl @@ -127,6 +127,7 @@
{{.CsrfTokenHtml}} +

{{.i18n.Tr "repo.cloudbrain.new"}}

@@ -185,7 +186,8 @@
- {{if .branch_name}} {{range $k, $v :=.Branches}} @@ -213,19 +215,6 @@
-
@@ -298,10 +287,6 @@ \ No newline at end of file From a7188cca7c1c084972bd4e1b73704e7d6fafd2f5 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Tue, 31 May 2022 18:37:18 +0800 Subject: [PATCH 14/19] fix issue --- routers/repo/setting.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/routers/repo/setting.go b/routers/repo/setting.go index d29f94693..fed89513a 100644 --- a/routers/repo/setting.go +++ b/routers/repo/setting.go @@ -484,7 +484,9 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { return } else { if count >= 1 { + ctx.Data["Err_RepoName"] = nil ctx.Flash.Error(ctx.Tr("repo.settings.deletion_notice_cloudbrain")) + ctx.Redirect(ctx.Repo.RepoLink + "/settings") return } if err := repo_service.DeleteRepository(ctx.User, ctx.Repo.Repository); err != nil { From 7921a9a21ecded4d693f5dc4d16e0e6632965a20 Mon Sep 17 00:00:00 2001 From: zhoupzh Date: Wed, 1 Jun 2022 09:35:43 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E5=BD=93=E5=89=8D=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/js/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/js/index.js b/web_src/js/index.js index 6e10f2f75..34b5febc5 100755 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -4349,7 +4349,7 @@ function initVueDataset() { q: this.searchDataItem } }).then((res) => { - if (res.result_code == '0') { + if (res.data.result_code == '0') { this.currentRepoDataset = JSON.parse(res.data.data) const checkStatuDataset = this.currentRepoDataset.filter(item => item.DecompressState === 2) if (checkStatuDataset.length > 0) { From 7f0e070ae2e5131a406446e4050d8df5ec6300e2 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 1 Jun 2022 09:52:07 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/home.go | 75 ++++++++++++++++---------- routers/routes/routes.go | 8 +-- routers/user/auth.go | 3 -- templates/explore/repo_right.tmpl | 2 +- templates/user/dashboard/repolist.tmpl | 6 +++ 5 files changed, 57 insertions(+), 37 deletions(-) diff --git a/routers/home.go b/routers/home.go index e37cacb01..38acffb2f 100755 --- a/routers/home.go +++ b/routers/home.go @@ -99,6 +99,12 @@ func setRecommendURL(ctx *context.Context) { func Dashboard(ctx *context.Context) { if ctx.IsSigned { + pictureInfo, err := getImageInfo("dashboard-picture") + if err == nil && len(pictureInfo) > 0 { + log.Info("set image info=" + pictureInfo[0]["url"]) + ctx.Data["image_url"] = pictureInfo[0]["url"] + ctx.Data["image_link"] = pictureInfo[0]["image_link"] + } if !ctx.User.IsActive && setting.Service.RegisterEmailConfirm { ctx.Data["Title"] = ctx.Tr("auth.active_your_account") ctx.HTML(200, user.TplActivate) @@ -259,7 +265,11 @@ func ExploreRepos(ctx *context.Context) { ctx.Data["PageIsExplore"] = true ctx.Data["PageIsExploreRepositories"] = true ctx.Data["IsRepoIndexerEnabled"] = setting.Indexer.RepoIndexerEnabled - + pictureInfo, err := getImageInfo("explore-user-picture") + if err == nil && len(pictureInfo) > 0 { + ctx.Data["image_url"] = pictureInfo[0]["url"] + ctx.Data["image_link"] = pictureInfo[0]["image_link"] + } var ownerID int64 if ctx.User != nil && !ctx.User.IsAdmin { ownerID = ctx.User.ID @@ -434,7 +444,11 @@ func ExploreUsers(ctx *context.Context) { ctx.Data["PageIsExplore"] = true ctx.Data["PageIsExploreUsers"] = true ctx.Data["IsRepoIndexerEnabled"] = setting.Indexer.RepoIndexerEnabled - + pictureInfo, err := getImageInfo("explore-user-picture") + if err == nil && len(pictureInfo) > 0 { + ctx.Data["image_url"] = pictureInfo[0]["url"] + ctx.Data["image_link"] = pictureInfo[0]["image_link"] + } RenderUserSearch(ctx, &models.SearchUserOptions{ Actor: ctx.User, Type: models.UserTypeIndividual, @@ -471,7 +485,7 @@ func ExploreOrganizations(ctx *context.Context) { return } - recommendOrgs, err := GetRecommendOrg() + recommendOrgs, err := getRecommendOrg() if err != nil { log.Error("GetRecommendOrgInfos failed:%v", err.Error(), ctx.Data["MsgID"]) ctx.ServerError("GetRecommendOrgInfos", err) @@ -606,31 +620,31 @@ func ExploreImages(ctx *context.Context) { } func ExploreDataAnalysisUserTrend(ctx *context.Context) { - ctx.Data["url_params"]="UserTrend" + ctx.Data["url_params"] = "UserTrend" ctx.HTML(200, tplExploreExploreDataAnalysis) } func ExploreDataAnalysisUserAnalysis(ctx *context.Context) { - ctx.Data["url_params"]="UserAnalysis" + ctx.Data["url_params"] = "UserAnalysis" ctx.HTML(200, tplExploreExploreDataAnalysis) } func ExploreDataAnalysisProTrend(ctx *context.Context) { - ctx.Data["url_params"]="ProTrend" + ctx.Data["url_params"] = "ProTrend" ctx.HTML(200, tplExploreExploreDataAnalysis) } func ExploreDataAnalysisProAnalysis(ctx *context.Context) { - ctx.Data["url_params"]="ProAnalysis" + ctx.Data["url_params"] = "ProAnalysis" ctx.HTML(200, tplExploreExploreDataAnalysis) } func ExploreDataAnalysisOverview(ctx *context.Context) { - ctx.Data["url_params"]="Overview" + ctx.Data["url_params"] = "Overview" ctx.HTML(200, tplExploreExploreDataAnalysis) } func ExploreDataAnalysisBrainAnalysis(ctx *context.Context) { - ctx.Data["url_params"]="BrainAnalysis" + ctx.Data["url_params"] = "BrainAnalysis" ctx.HTML(200, tplExploreExploreDataAnalysis) } func ExploreDataAnalysis(ctx *context.Context) { - ctx.Data["url_params"]="" + ctx.Data["url_params"] = "" ctx.HTML(200, tplExploreExploreDataAnalysis) } @@ -640,7 +654,7 @@ func NotFound(ctx *context.Context) { ctx.NotFound("home.NotFound", nil) } -func GetRecommendOrg() ([]map[string]interface{}, error) { +func getRecommendOrg() ([]map[string]interface{}, error) { url := setting.RecommentRepoAddr + "organizations" result, err := repository.RecommendFromPromote(url) @@ -668,17 +682,18 @@ func GetRecommendOrg() ([]map[string]interface{}, error) { } return resultOrg, nil } -func GetImageInfo() ([]map[string]interface{}, error) { - url := setting.RecommentRepoAddr + "picture_info" + +func getImageInfo(filename string) ([]map[string]string, error) { + url := setting.RecommentRepoAddr + filename result, err := repository.RecommendFromPromote(url) if err != nil { return nil, err } - imageInfo := make([]map[string]interface{}, 0) + imageInfo := make([]map[string]string, 0) for i := 0; i < (len(result) - 1); i++ { line := result[i] - imageMap := make(map[string]interface{}) + imageMap := make(map[string]string) if line[0:4] == "url=" { url := line[4:] imageMap["url"] = url @@ -731,15 +746,6 @@ func GetRankUser(index string) ([]map[string]interface{}, error) { return resultOrg, nil } -func GetImageInfoFromPromote(ctx *context.Context) { - imageInfo, err := GetImageInfo() - if err != nil { - ctx.ServerError("500", err) - return - } - ctx.JSON(200, imageInfo) -} - func GetUserRankFromPromote(ctx *context.Context) { index := ctx.Params("index") resultUserRank, err := GetRankUser(index) @@ -750,13 +756,24 @@ func GetUserRankFromPromote(ctx *context.Context) { ctx.JSON(200, resultUserRank) } -func RecommendOrgFromPromote(ctx *context.Context) { - resultOrg, err := GetRecommendOrg() +func RecommendHomeInfo(ctx *context.Context) { + resultOrg, err := getRecommendOrg() if err != nil { - ctx.ServerError("500", err) - return + log.Info("error." + err.Error()) + } + resultRepo, err := repository.GetRecommendRepoFromPromote("projects") + if err != nil { + log.Info("error." + err.Error()) + } + resultImage, err := getImageInfo("picture_info") + if err != nil { + log.Info("error." + err.Error()) } - ctx.JSON(200, resultOrg) + mapInterface := make(map[string]interface{}) + mapInterface["org"] = resultOrg + mapInterface["repo"] = resultRepo + mapInterface["image"] = resultImage + ctx.JSON(http.StatusOK, mapInterface) } func RecommendRepoFromPromote(ctx *context.Context) { diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 85130ec8f..12d0e1cf8 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -323,10 +323,11 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("/dashboard", routers.Dashboard) go routers.SocketManager.Run() m.Get("/action/notification", routers.ActionNotification) - m.Get("/recommend/org", routers.RecommendOrgFromPromote) - m.Get("/recommend/repo", routers.RecommendRepoFromPromote) + m.Get("/recommend/home", routers.RecommendHomeInfo) + //m.Get("/recommend/org", routers.RecommendOrgFromPromote) + //m.Get("/recommend/repo", routers.RecommendRepoFromPromote) m.Get("/recommend/userrank/:index", routers.GetUserRankFromPromote) - m.Get("/recommend/imageinfo", routers.GetImageInfoFromPromote) + //m.Get("/recommend/imageinfo", routers.GetImageInfoFromPromote) m.Post("/all/search/", routers.Search) m.Get("/all/search/", routers.EmptySearch) m.Get("/all/dosearch/", routers.SearchApi) @@ -364,7 +365,6 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/user", func() { m.Get("/login", user.SignIn) m.Get("/login/cloud_brain", user.SignInCloudBrain) - m.Post("/login/kanban", user.SignInPostAPI) m.Post("/login", bindIgnErr(auth.SignInForm{}), user.SignInPost) m.Group("", func() { m.Combo("/login/openid"). diff --git a/routers/user/auth.go b/routers/user/auth.go index 12cc41987..a02cf24dc 100755 --- a/routers/user/auth.go +++ b/routers/user/auth.go @@ -175,9 +175,6 @@ func SignInCloudBrain(ctx *context.Context) { ctx.HTML(200, tplSignInCloudBrain) } -func SignInPostAPI(ctx *context.Context) { - log.Info("22222222222222222222222") -} // SignInPost response for sign in request func SignInPost(ctx *context.Context, form auth.SignInForm) { diff --git a/templates/explore/repo_right.tmpl b/templates/explore/repo_right.tmpl index 5e05e797b..cf0b7d349 100644 --- a/templates/explore/repo_right.tmpl +++ b/templates/explore/repo_right.tmpl @@ -1,4 +1,4 @@ - + + +
+ + + +
From 7bf2e47e10104f780dd2569007f8c16bc69597f7 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 1 Jun 2022 09:57:43 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- public/home/home.js | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/public/home/home.js b/public/home/home.js index 3b2a34f06..2affefddd 100755 --- a/public/home/home.js +++ b/public/home/home.js @@ -418,44 +418,16 @@ queryRecommendData(); function queryRecommendData(){ $.ajax({ type:"GET", - url:"/recommend/org", + url:"/recommend/home", headers: { authorization:token, }, dataType:"json", async:false, success:function(json){ - displayOrg(json); - }, - error:function(response) { - } - }); - - $.ajax({ - type:"GET", - url:"/recommend/repo", - headers: { - authorization:token, - }, - dataType:"json", - async:false, - success:function(json){ - displayRepo(json); - }, - error:function(response) { - } - }); - - $.ajax({ - type:"GET", - url:"/recommend/imageinfo", - headers: { - authorization:token, - }, - dataType:"json", - async:false, - success:function(json){ - displayActivity(json); + displayOrg(json.org); + displayRepo(json.repo); + displayActivity(json.image) }, error:function(response) { } From 978286da0aad6f770f9ac518231a977969e67ab4 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 1 Jun 2022 10:10:08 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- routers/routes/routes.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 12d0e1cf8..7ba8fe61a 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -324,10 +324,7 @@ func RegisterRoutes(m *macaron.Macaron) { go routers.SocketManager.Run() m.Get("/action/notification", routers.ActionNotification) m.Get("/recommend/home", routers.RecommendHomeInfo) - //m.Get("/recommend/org", routers.RecommendOrgFromPromote) - //m.Get("/recommend/repo", routers.RecommendRepoFromPromote) m.Get("/recommend/userrank/:index", routers.GetUserRankFromPromote) - //m.Get("/recommend/imageinfo", routers.GetImageInfoFromPromote) m.Post("/all/search/", routers.Search) m.Get("/all/search/", routers.EmptySearch) m.Get("/all/dosearch/", routers.SearchApi) From f94c40a7f0c44db098a6962ada334ed58bf36bb6 Mon Sep 17 00:00:00 2001 From: zouap Date: Wed, 1 Jun 2022 16:49:11 +0800 Subject: [PATCH 19/19] =?UTF-8?q?=E6=8D=95=E8=8E=B7=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- services/repository/repository.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/repository/repository.go b/services/repository/repository.go index b9abbeb6f..80518b666 100644 --- a/services/repository/repository.go +++ b/services/repository/repository.go @@ -154,6 +154,12 @@ func GetRecommendRepoFromPromote(filename string) ([]map[string]interface{}, err } func RecommendFromPromote(url string) ([]string, error) { + defer func() { + if err := recover(); err != nil { + log.Info("not error.", err) + return + } + }() resp, err := http.Get(url) if err != nil || resp.StatusCode != 200 { log.Info("Get organizations url error=" + err.Error())