diff --git a/kernel/api/router.go b/kernel/api/router.go index d7c114466..c643dc3f6 100644 --- a/kernel/api/router.go +++ b/kernel/api/router.go @@ -41,6 +41,7 @@ func ServeAPI(ginServer *gin.Engine) { ginServer.Handle("POST", "/api/system/setNetworkServe", model.CheckAuth, setNetworkServe) ginServer.Handle("POST", "/api/system/setFixedPort", model.CheckAuth, setFixedPort) ginServer.Handle("POST", "/api/system/setUploadErrLog", model.CheckAuth, setUploadErrLog) + ginServer.Handle("POST", "/api/system/setGoogleAnalytics", model.CheckAuth, setGoogleAnalytics) ginServer.Handle("POST", "/api/system/setDownloadInstallPkg", model.CheckAuth, setDownloadInstallPkg) ginServer.Handle("POST", "/api/system/setNetworkProxy", model.CheckAuth, setNetworkProxy) ginServer.Handle("POST", "/api/system/setWorkspaceDir", model.CheckAuth, setWorkspaceDir) diff --git a/kernel/api/system.go b/kernel/api/system.go index a3cb09908..2edc8707c 100644 --- a/kernel/api/system.go +++ b/kernel/api/system.go @@ -302,6 +302,23 @@ func setFixedPort(c *gin.Context) { time.Sleep(time.Second * 3) } +func setGoogleAnalytics(c *gin.Context) { + ret := gulu.Ret.NewResult() + defer c.JSON(http.StatusOK, ret) + + arg, ok := util.JsonArg(c, ret) + if !ok { + return + } + + googleAnalytics := arg["googleAnalytics"].(bool) + model.Conf.System.GoogleAnalytics = googleAnalytics + model.Conf.Save() + + util.PushMsg(model.Conf.Language(42), 1000*15) + time.Sleep(time.Second * 3) +} + func setUploadErrLog(c *gin.Context) { ret := gulu.Ret.NewResult() defer c.JSON(http.StatusOK, ret) diff --git a/kernel/conf/system.go b/kernel/conf/system.go index 08808ba0e..13fc13861 100644 --- a/kernel/conf/system.go +++ b/kernel/conf/system.go @@ -39,6 +39,7 @@ type System struct { NetworkProxy *NetworkProxy `json:"networkProxy"` UploadErrLog bool `json:"uploadErrLog"` + GoogleAnalytics bool `json:"googleAnalytics"` DownloadInstallPkg bool `json:"downloadInstallPkg"` } diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 0ea11d94f..053d1ea16 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -292,6 +292,10 @@ func InitConf() { }) } + if !Conf.System.GoogleAnalytics { + logging.LogInfof("user has disabled [Google Analytics]") + } + util.SetNetworkProxy(Conf.System.NetworkProxy.String()) }