diff --git a/kernel/api/snippet.go b/kernel/api/snippet.go index 315a1b39e..7b52eedd3 100644 --- a/kernel/api/snippet.go +++ b/kernel/api/snippet.go @@ -42,8 +42,9 @@ func getSnippet(c *gin.Context) { enabled = false } + confSnippets := model.LoadSnippets() var snippets []*conf.Snippet - for _, s := range model.Snippets { + for _, s := range confSnippets { if ("all" == typ || s.Type == typ) && (2 == enabledArg || s.Enabled == enabled) { snippets = append(snippets, s) } diff --git a/kernel/model/conf.go b/kernel/model/conf.go index af83ea920..b353689f1 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -285,7 +285,6 @@ func InitConf() { } util.SetNetworkProxy(Conf.System.NetworkProxy.String()) - loadSnippets() } var langs = map[string]map[int]string{} @@ -661,10 +660,8 @@ func clearWorkspaceTemp() { logging.LogInfof("cleared workspace temp") } -var Snippets []*conf.Snippet // js/css 代码片段配置 - -func loadSnippets() { - Snippets = []*conf.Snippet{} +func LoadSnippets() (ret []*conf.Snippet) { + ret = []*conf.Snippet{} confPath := filepath.Join(util.DataDir, "snippets/conf.json") if !gulu.File.IsExist(confPath) { @@ -677,10 +674,10 @@ func loadSnippets() { return } - if err = gulu.JSON.UnmarshalJSON(data, &Snippets); nil != err { + if err = gulu.JSON.UnmarshalJSON(data, &ret); nil != err { logging.LogErrorf("unmarshal js snippets failed: %s", err) return } - logging.LogInfof("loaded js snippets [%d]", len(Snippets)) + logging.LogInfof("loaded js snippets [%d]", len(ret)) return }