From d33779ac34d52d938ff28ce33c27c467be2b09e4 Mon Sep 17 00:00:00 2001 From: dushixiang Date: Sun, 16 May 2021 17:32:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=99=AE=E9=80=9A=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=AE=BF=E9=97=AE=E9=9D=9E=E8=87=AA=E5=B7=B1=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E7=9A=84=E8=B5=84=E4=BA=A7=E6=97=A0=E6=B3=95=E6=89=93?= =?UTF-8?q?=E5=BC=80=E5=8E=9F=E7=94=9Fssh=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/api/asset.go | 29 ----------------------------- server/api/routes.go | 1 - server/model/asset.go | 1 + server/repository/asset.go | 16 ++++++++++++++++ web/src/components/asset/Asset.js | 12 ++++-------- 5 files changed, 21 insertions(+), 38 deletions(-) diff --git a/server/api/asset.go b/server/api/asset.go index 3a22fed..59f38c0 100644 --- a/server/api/asset.go +++ b/server/api/asset.go @@ -213,35 +213,6 @@ func AssetUpdateEndpoint(c echo.Context) error { return Success(c, nil) } -func AssetGetAttributeEndpoint(c echo.Context) error { - - assetId := c.Param("id") - if err := PreCheckAssetPermission(c, assetId); err != nil { - return err - } - - attributeMap, err := assetRepository.FindAssetAttrMapByAssetId(assetId) - if err != nil { - return err - } - return Success(c, attributeMap) -} - -func AssetUpdateAttributeEndpoint(c echo.Context) error { - m := echo.Map{} - if err := c.Bind(&m); err != nil { - return err - } - - assetId := c.Param("id") - protocol := c.QueryParam("protocol") - err := assetRepository.UpdateAttributes(assetId, protocol, m) - if err != nil { - return err - } - return Success(c, "") -} - func AssetDeleteEndpoint(c echo.Context) error { id := c.Param("id") split := strings.Split(id, ",") diff --git a/server/api/routes.go b/server/api/routes.go index efe77e7..70c4134 100644 --- a/server/api/routes.go +++ b/server/api/routes.go @@ -133,7 +133,6 @@ func SetupRoutes(db *gorm.DB) *echo.Echo { assets.PUT("/:id", AssetUpdateEndpoint) assets.DELETE("/:id", AssetDeleteEndpoint) assets.GET("/:id", AssetGetEndpoint) - assets.GET("/:id/attributes", AssetGetAttributeEndpoint) assets.POST("/:id/change-owner", Admin(AssetChangeOwnerEndpoint)) } diff --git a/server/model/asset.go b/server/model/asset.go index ed6f344..c8cd326 100644 --- a/server/model/asset.go +++ b/server/model/asset.go @@ -36,6 +36,7 @@ type AssetForPage struct { Owner string `json:"owner"` OwnerName string `json:"ownerName"` SharerCount int64 `json:"sharerCount"` + SshMode string `json:"sshMode"` } func (r *Asset) TableName() string { diff --git a/server/repository/asset.go b/server/repository/asset.go index 2c1458b..e9e79ed 100644 --- a/server/repository/asset.go +++ b/server/repository/asset.go @@ -142,6 +142,22 @@ func (r AssetRepository) Find(pageIndex, pageSize int, name, protocol, tags stri if o == nil { o = make([]model.AssetForPage, 0) + } else { + for i := 0; i < len(o); i++ { + if o[i].Protocol == "ssh" { + attributes, err := r.FindAttrById(o[i].ID) + if err != nil { + continue + } + + for j := range attributes { + if attributes[j].Name == constant.SshMode { + o[i].SshMode = attributes[j].Value + break + } + } + } + } } return } diff --git a/web/src/components/asset/Asset.js b/web/src/components/asset/Asset.js index 5d50347..a798bd2 100644 --- a/web/src/components/asset/Asset.js +++ b/web/src/components/asset/Asset.js @@ -338,19 +338,15 @@ class Asset extends Component { const id = record['id']; const protocol = record['protocol']; const name = record['name']; - + const sshMode = record['sshMode']; +alert(sshMode) message.loading({content: '正在检测资产是否在线...', key: id}); let result = await request.post(`/assets/${id}/tcping`); if (result.code === 1) { if (result.data === true) { message.success({content: '检测完成,您访问的资产在线,即将打开窗口进行访问。', key: id, duration: 3}); - if (protocol === 'ssh') { - result = await request.get(`/assets/${id}/attributes`); - if (result.code === 1 && result['data']['ssh-mode'] === 'naive') { - window.open(`#/term?assetId=${id}&assetName=${name}`); - } else { - window.open(`#/access?assetId=${id}&assetName=${name}&protocol=${protocol}`); - } + if (protocol === 'ssh' && sshMode === 'naive') { + window.open(`#/term?assetId=${id}&assetName=${name}`); } else { window.open(`#/access?assetId=${id}&assetName=${name}&protocol=${protocol}`); }