فهرست منبع

:art: 数据历史文档中支持操作类型过滤 https://github.com/siyuan-note/siyuan/issues/5754

Liang Ding 2 سال پیش
والد
کامیت
84b0cf7033
2فایلهای تغییر یافته به همراه16 افزوده شده و 10 حذف شده
  1. 14 5
      kernel/model/history.go
  2. 2 5
      kernel/server/serve.go

+ 14 - 5
kernel/model/history.go

@@ -606,20 +606,29 @@ func fromSQLHistories(sqlHistories []*sql.History) (ret []*History) {
 			tmpTime = unixSec
 		}
 		if tmpTime == unixSec {
-			items = append(items, &HistoryItem{
+			item := &HistoryItem{
 				Title: sqlHistory.Title,
 				Path:  filepath.Join(util.HistoryDir, sqlHistory.Path),
-			})
+			}
+			if HistoryTypeAsset == sqlHistory.Type {
+				item.Path = filepath.ToSlash(strings.TrimPrefix(item.Path, util.WorkspaceDir))
+			}
+			items = append(items, item)
 		} else {
 			ret = append(ret, &History{
 				HCreated: time.Unix(unixSec, 0).Format("2006-01-02 15:04:05"),
 				Items:    items,
 			})
-			items = []*HistoryItem{}
-			items = append(items, &HistoryItem{
+
+			item := &HistoryItem{
 				Title: sqlHistory.Title,
 				Path:  filepath.Join(util.HistoryDir, sqlHistory.Path),
-			})
+			}
+			if HistoryTypeAsset == sqlHistory.Type {
+				item.Path = filepath.ToSlash(strings.TrimPrefix(item.Path, util.WorkspaceDir))
+			}
+			items = []*HistoryItem{}
+			items = append(items, item)
 		}
 	}
 	if 0 < len(items) {

+ 2 - 5
kernel/server/serve.go

@@ -204,11 +204,8 @@ func serveAssets(ginServer *gin.Engine) {
 		http.ServeFile(context.Writer, context.Request, p)
 		return
 	})
-	ginServer.GET("/history/:dir/assets/*name", model.CheckAuth, func(context *gin.Context) {
-		dir := context.Param("dir")
-		name := context.Param("name")
-		relativePath := path.Join(dir, "assets", name)
-		p := filepath.Join(util.HistoryDir, relativePath)
+	ginServer.GET("/history/*path", model.CheckAuth, func(context *gin.Context) {
+		p := filepath.Join(util.HistoryDir, context.Param("path"))
 		http.ServeFile(context.Writer, context.Request, p)
 		return
 	})