diff --git a/internal/web/actions/default/servers/fixLog.go b/internal/web/actions/default/servers/fixLog.go new file mode 100644 index 00000000..3835536b --- /dev/null +++ b/internal/web/actions/default/servers/fixLog.go @@ -0,0 +1,24 @@ +// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved. + +package servers + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +type FixLogAction struct { + actionutils.ParentAction +} + +func (this *FixLogAction) RunPost(params struct { + LogId int64 +}) { + _, err := this.RPC().NodeLogRPC().FixNodeLog(this.AdminContext(), &pb.FixNodeLogRequest{NodeLogId: params.LogId}) + if err != nil { + this.ErrorPage(err) + return + } + + this.Success() +} diff --git a/internal/web/actions/default/servers/index.go b/internal/web/actions/default/servers/index.go index be1ed133..35908229 100644 --- a/internal/web/actions/default/servers/index.go +++ b/internal/web/actions/default/servers/index.go @@ -4,9 +4,11 @@ import ( "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/configloaders" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/iwind/TeaGo/maps" + timeutil "github.com/iwind/TeaGo/utils/time" ) type IndexAction struct { @@ -250,5 +252,48 @@ func (this *IndexAction) RunGet(params struct { // 是否有用户管理权限 this.Data["canVisitUser"] = configloaders.AllowModule(this.AdminId(), configloaders.AdminModuleCodeUser) + // 显示服务相关的日志 + errorLogsResp, err := this.RPC().NodeLogRPC().ListNodeLogs(this.AdminContext(), &pb.ListNodeLogsRequest{ + NodeId: 0, + Role: "node", + Offset: 0, + Size: 10, + Level: "error", + FixedState: int32(configutils.BoolStateNo), + AllServers: true, + }) + if err != nil { + this.ErrorPage(err) + return + } + errorLogMaps := []maps.Map{} + for _, errorLog := range errorLogsResp.NodeLogs { + serverResp, err := this.RPC().ServerRPC().FindEnabledUserServerBasic(this.AdminContext(), &pb.FindEnabledUserServerBasicRequest{ServerId: errorLog.ServerId}) + if err != nil { + this.ErrorPage(err) + return + } + server := serverResp.Server + if server == nil { + // 设置为已修复 + _, err = this.RPC().NodeLogRPC().FixNodeLog(this.AdminContext(), &pb.FixNodeLogRequest{NodeLogId: errorLog.Id}) + if err != nil { + this.ErrorPage(err) + return + } + + continue + } + + errorLogMaps = append(errorLogMaps, maps.Map{ + "id": errorLog.Id, + "description": errorLog.Description, + "createdTime": timeutil.FormatTime("Y-m-d H:i:s", errorLog.CreatedAt), + "serverId": errorLog.ServerId, + "serverName": server.Name, + }) + } + this.Data["errorLogs"] = errorLogMaps + this.Show() } diff --git a/internal/web/actions/default/servers/init.go b/internal/web/actions/default/servers/init.go index 542f02e9..3dfc8a4d 100644 --- a/internal/web/actions/default/servers/init.go +++ b/internal/web/actions/default/servers/init.go @@ -15,6 +15,7 @@ func init() { Get("", new(IndexAction)). GetPost("/create", new(CreateAction)). GetPost("/update", new(UpdateAction)). + Post("/fixLog", new(FixLogAction)). GetPost("/addPortPopup", new(AddPortPopupAction)). GetPost("/addServerNamePopup", new(AddServerNamePopupAction)). diff --git a/web/views/@default/servers/index.css b/web/views/@default/servers/index.css new file mode 100644 index 00000000..ea4520c6 --- /dev/null +++ b/web/views/@default/servers/index.css @@ -0,0 +1,6 @@ +.ui.message .icon { + position: absolute; + right: 1em; + top: 1.8em; +} +/*# sourceMappingURL=index.css.map */ \ No newline at end of file diff --git a/web/views/@default/servers/index.css.map b/web/views/@default/servers/index.css.map new file mode 100644 index 00000000..f082c7b1 --- /dev/null +++ b/web/views/@default/servers/index.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA,GAAG,QACF;EACC,kBAAA;EACA,UAAA;EACA,UAAA","file":"index.css"} \ No newline at end of file diff --git a/web/views/@default/servers/index.html b/web/views/@default/servers/index.html index 71dfd4de..95afb4cb 100644 --- a/web/views/@default/servers/index.html +++ b/web/views/@default/servers/index.html @@ -1,6 +1,23 @@ {$layout} {$template "menu"} + +
+
+ +
+
+ [{{log.createdTime}}] + [{{log.serverName}}][服务] + {{log.description}} + +
+
+
+ +
diff --git a/web/views/@default/servers/index.js b/web/views/@default/servers/index.js index 9d455b2c..7849c92e 100644 --- a/web/views/@default/servers/index.js +++ b/web/views/@default/servers/index.js @@ -46,4 +46,20 @@ Tea.context(function () { this.showLatest = function () { this.latestVisible = !this.latestVisible } + + /** + * 错误日志相关 + */ + this.fixLog = function (logId) { + let that = this + teaweb.confirm("确定要关闭此错误提示吗?", function () { + that.$post(".fixLog") + .params({ + logId: logId + }) + .success(function () { + teaweb.reload() + }) + }) + } }) \ No newline at end of file diff --git a/web/views/@default/servers/index.less b/web/views/@default/servers/index.less new file mode 100644 index 00000000..212c94dc --- /dev/null +++ b/web/views/@default/servers/index.less @@ -0,0 +1,7 @@ +.ui.message { + .icon { + position: absolute; + right: 1em; + top: 1.8em; + } +} \ No newline at end of file