Browse Source

:art: 支持关闭 Google Analytics https://github.com/siyuan-note/siyuan/issues/6403

Liang Ding 2 years ago
parent
commit
20c338399d
4 changed files with 23 additions and 0 deletions
  1. 1 0
      kernel/api/router.go
  2. 17 0
      kernel/api/system.go
  3. 1 0
      kernel/conf/system.go
  4. 4 0
      kernel/model/conf.go

+ 1 - 0
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)

+ 17 - 0
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)

+ 1 - 0
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"`
 }
 

+ 4 - 0
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())
 }