🎨 改进伺服代码片段 /snippets/ #6356 (#6380)

* 🐛 fix #5857

* 🎨 #5990 桌面端 `SiYuan` 可执行程序支持使用参数连接非本机内核服务

* 🎨 style

* 🎨 style

* 🎨 style

* 🎨 改进伺服代码片段 `/snippets/` #6356
This commit is contained in:
颖逸 2022-10-28 08:29:41 +08:00 committed by GitHub
parent fe60b22d53
commit 1809c27f60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 5 deletions

View File

@ -32,16 +32,16 @@ import (
)
func serveSnippets(c *gin.Context) {
name := strings.TrimPrefix(c.Request.URL.Path, "/snippets/")
ext := filepath.Ext(name)
name = strings.TrimSuffix(name, ext)
filePath := strings.TrimPrefix(c.Request.URL.Path, "/snippets/")
ext := filepath.Ext(filePath)
name := strings.TrimSuffix(filePath, ext)
confSnippets, err := model.LoadSnippets()
if nil != err {
logging.LogErrorf("load snippets failed: %s", name, err)
c.Status(404)
return
}
for _, s := range confSnippets {
if s.Name == name && ("" != ext && s.Type == ext[1:]) {
c.Header("Content-Type", mime.TypeByExtension(ext))
@ -49,7 +49,8 @@ func serveSnippets(c *gin.Context) {
return
}
}
c.Status(404)
filePath = filepath.Join(util.SnippetsPath, filePath)
c.File(filePath)
}
func getSnippet(c *gin.Context) {

View File

@ -172,6 +172,7 @@ var (
AppearancePath string // 配置目录下的外观目录 appearance/ 路径
ThemesPath string // 配置目录下的外观目录下的 themes/ 路径
IconsPath string // 配置目录下的外观目录下的 icons/ 路径
SnippetsPath string // 数据目录下的 snippets/ 路径
AndroidNativeLibDir string // Android 库路径
AndroidPrivateDataDir string // Android 私有数据路径
@ -274,6 +275,7 @@ func initWorkspaceDir(workspaceArg string) {
DBPath = filepath.Join(TempDir, DBName)
HistoryDBPath = filepath.Join(TempDir, "history.db")
BlockTreePath = filepath.Join(TempDir, "blocktree.msgpack")
SnippetsPath = filepath.Join(DataDir, "snippets")
}
var (

View File

@ -60,6 +60,7 @@ func BootMobile(container, appDir, workspaceDir, nativeLibDir, privateDataDir, l
AppearancePath = filepath.Join(ConfDir, "appearance")
ThemesPath = filepath.Join(AppearancePath, "themes")
IconsPath = filepath.Join(AppearancePath, "icons")
SnippetsPath = filepath.Join(DataDir, "snippets")
Resident = true
ServerPort = FixedPort
Container = container