From 4baaeea3fd20fb1b3161ed390f94374bc5f0a4be Mon Sep 17 00:00:00 2001 From: dushixiang Date: Sat, 5 Mar 2022 16:39:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8D=95=E8=AF=8D=E6=8B=BC?= =?UTF-8?q?=E5=86=99=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/api/session.go | 8 ++++---- server/app/app.go | 8 ++++++++ server/constant/const.go | 2 +- server/repository/asset.go | 5 +++++ server/repository/session.go | 5 +++++ server/service/asset.go | 5 +++++ server/service/session.go | 6 +++++- web/src/common/constants.js | 2 +- web/src/components/access/BatchCommandTerm.js | 2 +- web/src/components/access/Term.js | 2 +- web/src/components/asset/Asset.js | 2 +- web/src/components/asset/AssetModal.js | 2 +- web/src/components/asset/MyAsset.js | 2 +- web/src/components/session/OfflineSession.js | 2 +- 14 files changed, 40 insertions(+), 13 deletions(-) diff --git a/server/api/session.go b/server/api/session.go index 631e7cd..75bf300 100644 --- a/server/api/session.go +++ b/server/api/session.go @@ -47,7 +47,7 @@ func (api SessionApi) SessionPagingEndpoint(c echo.Context) error { if status == constant.Disconnected && len(items[i].Recording) > 0 { var recording string - if items[i].Mode == constant.Naive || items[i].Mode == constant.Terminal { + if items[i].Mode == constant.Native || items[i].Mode == constant.Terminal { recording = items[i].Recording } else { recording = items[i].Recording + "/recording" @@ -170,8 +170,8 @@ func (api SessionApi) SessionCreateEndpoint(c echo.Context) error { assetId := c.QueryParam("assetId") mode := c.QueryParam("mode") - if mode == constant.Naive { - mode = constant.Naive + if mode == constant.Native { + mode = constant.Native } else { mode = constant.Guacd } @@ -526,7 +526,7 @@ func (api SessionApi) SessionRecordingEndpoint(c echo.Context) error { } var recording string - if s.Mode == constant.Naive || s.Mode == constant.Terminal { + if s.Mode == constant.Native || s.Mode == constant.Terminal { recording = s.Recording } else { recording = s.Recording + "/recording" diff --git a/server/app/app.go b/server/app/app.go index b4b732d..5e12766 100644 --- a/server/app/app.go +++ b/server/app/app.go @@ -70,6 +70,14 @@ func (app App) InitDBData() (err error) { return err } + // 修复数据 + if err := service.AssetService.FixSshMode(); err != nil { + return err + } + if err := service.SessionService.FixSshMode(); err != nil { + return err + } + return nil } diff --git a/server/constant/const.go b/server/constant/const.go index eaa18d4..a07fe3e 100644 --- a/server/constant/const.go +++ b/server/constant/const.go @@ -55,7 +55,7 @@ const ( Disconnected = "disconnected" // 会话状态:已断开连接 Guacd = "guacd" // 接入模式:guacd - Naive = "naive" // 接入模式:原生 + Native = "native" // 接入模式:原生 Terminal = "terminal" // 接入模式:终端 TypeUser = "user" // 普通用户 diff --git a/server/repository/asset.go b/server/repository/asset.go index c77d64b..a7d94bd 100644 --- a/server/repository/asset.go +++ b/server/repository/asset.go @@ -345,3 +345,8 @@ func (r assetRepository) FindAssetAttrMapByAssetId(c context.Context, assetId st } return attributeMap, nil } + +func (r assetRepository) UpdateAttrs(c context.Context, name, value, newValue string) error { + sql := "update asset_attributes set value = ? where name = ? and value = ?" + return r.GetDB(c).Exec(sql, newValue, name, value).Error +} diff --git a/server/repository/session.go b/server/repository/session.go index 7052706..26639b7 100644 --- a/server/repository/session.go +++ b/server/repository/session.go @@ -168,3 +168,8 @@ func (r sessionRepository) FindAllUnReviewed(c context.Context) (o []model.Sessi err = r.GetDB(c).Where("reviewed = false or reviewed is null").Find(&o).Error return } + +func (r sessionRepository) UpdateMode(c context.Context) error { + sql := "update sessions set mode = 'native' where mode = 'naive'" + return r.GetDB(c).Exec(sql).Error +} diff --git a/server/service/asset.go b/server/service/asset.go index a5c9f1b..d6032d9 100644 --- a/server/service/asset.go +++ b/server/service/asset.go @@ -4,6 +4,7 @@ import ( "context" "encoding/base64" "encoding/json" + "next-terminal/server/constant" "next-terminal/server/config" "next-terminal/server/env" @@ -260,3 +261,7 @@ func (s assetService) UpdateById(id string, m echo.Map) error { }) } + +func (s assetService) FixSshMode() error { + return repository.AssetRepository.UpdateAttrs(context.TODO(), "ssh-mode", "naive", constant.Native) +} diff --git a/server/service/session.go b/server/service/session.go index 3f91b27..c138bfc 100644 --- a/server/service/session.go +++ b/server/service/session.go @@ -118,7 +118,7 @@ func (service sessionService) WriteCloseMessage(ws *websocket.Conn, mode string, disconnect := guacd.NewInstruction("disconnect") _ = ws.WriteMessage(websocket.TextMessage, []byte(disconnect.String())) } - case constant.Naive: + case constant.Native: if ws != nil { msg := `0` + reason _ = ws.WriteMessage(websocket.TextMessage, []byte(msg)) @@ -354,3 +354,7 @@ func (service sessionService) Create(clientIp, assetId, mode string, user *model } return s, nil } + +func (service sessionService) FixSshMode() error { + return repository.SessionRepository.UpdateMode(context.TODO()) +} diff --git a/web/src/common/constants.js b/web/src/common/constants.js index 1ef0fc7..ce1ddb5 100644 --- a/web/src/common/constants.js +++ b/web/src/common/constants.js @@ -8,6 +8,6 @@ export const PROTOCOL_COLORS = { export const MODE_COLORS = { 'guacd': 'green', - 'naive': 'orange', + 'native': 'orange', 'terminal': 'purple', } \ No newline at end of file diff --git a/web/src/components/access/BatchCommandTerm.js b/web/src/components/access/BatchCommandTerm.js index f3a2e2c..0d78cb1 100644 --- a/web/src/components/access/BatchCommandTerm.js +++ b/web/src/components/access/BatchCommandTerm.js @@ -124,7 +124,7 @@ class BatchCommandTerm extends Component { } async createSession(assetsId) { - let result = await request.post(`/sessions?assetId=${assetsId}&mode=naive`); + let result = await request.post(`/sessions?assetId=${assetsId}&mode=native`); if (result['code'] !== 1) { this.showMessage(result['message']); return null; diff --git a/web/src/components/access/Term.js b/web/src/components/access/Term.js index b0f351e..3903acd 100644 --- a/web/src/components/access/Term.js +++ b/web/src/components/access/Term.js @@ -210,7 +210,7 @@ class Term extends Component { } async createSession(assetsId) { - let result = await request.post(`/sessions?assetId=${assetsId}&mode=naive`); + let result = await request.post(`/sessions?assetId=${assetsId}&mode=native`); if (result['code'] !== 1) { this.showMessage(result['message']); return undefined; diff --git a/web/src/components/asset/Asset.js b/web/src/components/asset/Asset.js index f1e1efd..2918d43 100644 --- a/web/src/components/asset/Asset.js +++ b/web/src/components/asset/Asset.js @@ -558,7 +558,7 @@ class Asset extends Component { const name = record['name']; const sshMode = record['sshMode']; let url = ''; - if (protocol === 'ssh' && sshMode === 'naive') { + if (protocol === 'ssh' && sshMode === 'native') { url = `#/term?assetId=${id}&assetName=${name}`; } else { url = `#/access?assetId=${id}&assetName=${name}&protocol=${protocol}`; diff --git a/web/src/components/asset/AssetModal.js b/web/src/components/asset/AssetModal.js index 54112ec..85cd04c 100644 --- a/web/src/components/asset/AssetModal.js +++ b/web/src/components/asset/AssetModal.js @@ -456,7 +456,7 @@ Windows需要对远程应用程序的名称使用特殊的符号。 setSshMode(value) }}> - + diff --git a/web/src/components/asset/MyAsset.js b/web/src/components/asset/MyAsset.js index 01ddd05..73a52dd 100644 --- a/web/src/components/asset/MyAsset.js +++ b/web/src/components/asset/MyAsset.js @@ -280,7 +280,7 @@ class MyAsset extends Component { const name = item['name']; const sshMode = item['sshMode']; let url = ''; - if (protocol === 'ssh' && sshMode === 'naive') { + if (protocol === 'ssh' && sshMode === 'native') { url = `#/term?assetId=${id}&assetName=${name}`; } else { url = `#/access?assetId=${id}&assetName=${name}&protocol=${protocol}`; diff --git a/web/src/components/session/OfflineSession.js b/web/src/components/session/OfflineSession.js index 581a666..a438ca5 100644 --- a/web/src/components/session/OfflineSession.js +++ b/web/src/components/session/OfflineSession.js @@ -654,7 +654,7 @@ class OfflineSession extends Component { maskClosable={false} > { - this.state.selectedRow['mode'] === 'naive' || this.state.selectedRow['mode'] === 'terminal' ? + this.state.selectedRow['mode'] === 'native' || this.state.selectedRow['mode'] === 'terminal' ?