瀏覽代碼

Merge remote-tracking branch 'origin/dev' into dev

Vanessa 2 年之前
父節點
當前提交
7e5058690e
共有 7 個文件被更改,包括 36 次插入6 次删除
  1. 1 0
      kernel/api/router.go
  2. 18 0
      kernel/api/search.go
  3. 1 0
      kernel/model/storage.go
  4. 10 1
      kernel/model/template.go
  5. 1 1
      kernel/util/net.go
  6. 3 3
      kernel/util/os_mobile.go
  7. 2 1
      kernel/util/working.go

+ 1 - 0
kernel/api/router.go

@@ -135,6 +135,7 @@ func ServeAPI(ginServer *gin.Engine) {
 
 	ginServer.Handle("POST", "/api/search/searchTag", model.CheckAuth, searchTag)
 	ginServer.Handle("POST", "/api/search/searchTemplate", model.CheckAuth, searchTemplate)
+	ginServer.Handle("POST", "/api/search/removeTemplate", model.CheckAuth, removeTemplate)
 	ginServer.Handle("POST", "/api/search/searchWidget", model.CheckAuth, searchWidget)
 	ginServer.Handle("POST", "/api/search/searchRefBlock", model.CheckAuth, searchRefBlock)
 	ginServer.Handle("POST", "/api/search/searchEmbedBlock", model.CheckAuth, searchEmbedBlock)

+ 18 - 0
kernel/api/search.go

@@ -108,6 +108,24 @@ func searchWidget(c *gin.Context) {
 	}
 }
 
+func removeTemplate(c *gin.Context) {
+	ret := gulu.Ret.NewResult()
+	defer c.JSON(http.StatusOK, ret)
+
+	arg, ok := util.JsonArg(c, ret)
+	if !ok {
+		return
+	}
+
+	path := arg["path"].(string)
+	err := model.RemoveTemplate(path)
+	if nil != err {
+		ret.Code = -1
+		ret.Msg = err.Error()
+		return
+	}
+}
+
 func searchTemplate(c *gin.Context) {
 	ret := gulu.Ret.NewResult()
 	defer c.JSON(http.StatusOK, ret)

+ 1 - 0
kernel/model/storage.go

@@ -182,6 +182,7 @@ type CriterionTypes struct {
 	ListItem   bool `json:"listItem"`
 	CodeBlock  bool `json:"codeBlock"`
 	HtmlBlock  bool `json:"htmlBlock"`
+	EmbedBlock bool `json:"embedBlock"`
 }
 
 var criteriaLock = sync.Mutex{}

+ 10 - 1
kernel/model/template.go

@@ -34,6 +34,7 @@ import (
 	"github.com/88250/lute/render"
 	sprig "github.com/Masterminds/sprig/v3"
 	"github.com/araddon/dateparse"
+	"github.com/siyuan-note/filelock"
 	"github.com/siyuan-note/logging"
 	"github.com/siyuan-note/siyuan/kernel/search"
 	"github.com/siyuan-note/siyuan/kernel/sql"
@@ -57,6 +58,14 @@ func RenderGoTemplate(templateContent string) (ret string, err error) {
 	return
 }
 
+func RemoveTemplate(p string) (err error) {
+	err = filelock.Remove(p)
+	if nil != err {
+		logging.LogErrorf("remove template failed: %s", err)
+	}
+	return
+}
+
 func SearchTemplate(keyword string) (ret []*Block) {
 	ret = []*Block{}
 
@@ -145,7 +154,7 @@ func DocSaveAsTemplate(id string, overwrite bool) (code int, err error) {
 		}
 	}
 
-	err = os.WriteFile(savePath, md, 0644)
+	err = filelock.WriteFile(savePath, md)
 	return
 }
 

+ 1 - 1
kernel/util/net.go

@@ -42,7 +42,7 @@ func IsOnline() (ret bool) {
 
 	ret = nil == err && nil != resp && nil != resp.Response
 	if !ret {
-		logging.LogWarnf("network is offline")
+		logging.LogWarnf("network is offline: %v", err)
 	}
 	return
 }

+ 3 - 3
kernel/util/os_mobile.go

@@ -20,10 +20,10 @@ package util
 
 func GetOSPlatform() (plat, ver string) {
 	if ContainerIOS == Container {
-		return "iOS", MobileOSVer
+		return "iOS " + MobileOSVer
 	}
 	if ContainerAndroid == Container {
-		return "Android", MobileOSVer
+		return "Android " + MobileOSVer
 	}
-	return "Unknown", MobileOSVer
+	return "Unknown " + MobileOSVer
 }

+ 2 - 1
kernel/util/working.go

@@ -35,6 +35,7 @@ import (
 	"github.com/88250/gulu"
 	figure "github.com/common-nighthawk/go-figure"
 	"github.com/gofrs/flock"
+	"github.com/siyuan-note/filelock"
 	"github.com/siyuan-note/httpclient"
 	"github.com/siyuan-note/logging"
 )
@@ -295,7 +296,7 @@ func WriteWorkspacePaths(workspacePaths []string) (err error) {
 		return
 	}
 
-	if err = os.WriteFile(workspaceConf, data, 0644); nil != err {
+	if err = filelock.WriteFile(workspaceConf, data); nil != err {
 		msg := fmt.Sprintf("write workspace conf [%s] failed: %s", workspaceConf, err)
 		logging.LogErrorf(msg)
 		err = errors.New(msg)