diff --git a/kernel/api/router.go b/kernel/api/router.go index c6d3867ee..97a1d00c1 100644 --- a/kernel/api/router.go +++ b/kernel/api/router.go @@ -64,7 +64,6 @@ func ServeAPI(ginServer *gin.Engine) { ginServer.Handle("POST", "/api/system/exportConf", model.CheckAuth, model.CheckAdminRole, exportConf) ginServer.Handle("POST", "/api/system/importConf", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, importConf) ginServer.Handle("POST", "/api/system/getWorkspaceInfo", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, getWorkspaceInfo) - ginServer.Handle("POST", "/api/system/reloadUI", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, reloadUI) ginServer.Handle("POST", "/api/system/addMicrosoftDefenderExclusion", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, addMicrosoftDefenderExclusion) ginServer.Handle("POST", "/api/system/ignoreAddMicrosoftDefenderExclusion", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, ignoreAddMicrosoftDefenderExclusion) diff --git a/kernel/api/ui.go b/kernel/api/ui.go index 48707c688..c860b1c28 100644 --- a/kernel/api/ui.go +++ b/kernel/api/ui.go @@ -69,5 +69,15 @@ func reloadUI(c *gin.Context) { ret := gulu.Ret.NewResult() defer c.JSON(http.StatusOK, ret) - util.ReloadUI() + arg, ok := util.JsonArg(c, ret) + if !ok { + return + } + + modeArg := arg["mode"] + if nil != modeArg { + util.ReloadUIWithMode(modeArg.(string)) + } else { + util.ReloadUI() + } } diff --git a/kernel/util/websocket.go b/kernel/util/websocket.go index a0638d5b0..7f63b8a11 100644 --- a/kernel/util/websocket.go +++ b/kernel/util/websocket.go @@ -148,6 +148,10 @@ func ReloadUI() { BroadcastByType("main", "reloadui", 0, "", nil) } +func ReloadUIWithMode(mode string) { + BroadcastByType("main", "reloadui", 0, "", map[string]interface{}{"mode": mode}) +} + func PushTxErr(msg string, code int, data interface{}) { BroadcastByType("main", "txerr", code, msg, data) }