戎建伟 avatar

二次开发,如何调用系统的config.yaml 文件中的数据?

🕐 by 戎建伟

二次开发,如何调用系统的config.yaml 文件中的数据? 我希望,二次开发的网页处理函数,写成一个单独的package, 不在 pakage controller 里面。 谢谢!

💘 相关文章

评论

共4条关于"二次开发,如何调用系统的config.yaml 文件中的数据?"的评论

戎建伟 avatar
#1 戎建伟 回复

我在router.go 中的修改:

1
2
3
4
5
sp.HandleFunc(pat.Get("/admin/link/list"), h.AdminLinkList)
sp.HandleFunc(pat.Post("/admin/link/list"), h.AdminLinkListPost)
sp.HandleFunc(pat.Get("/:filepath"), h.StaticFile)
sp.HandleFunc(pat.Post("/joke"), rjw123ylMiniP.PostHandlerPost)  // 我的网页处理函数,能正常运行。
sp.HandleFunc(pat.Get("/jokes"), rjw123ylMiniP.PostsHandler)

但是,无法加入变量 h。好像系统的设置是通过 h 传入的。

1
sp.HandleFunc(pat.Post("/joke"), rjw123ylMiniP.h.PostHandlerPost)  // 总是报错。
函数定义已经加了
1
func (H *BaseHandler)  PostHandlerPost(w http.ResponseWriter, r *http.Request)。

错误信息:undefind: rjw123ylMiniP.H

戎建伟 avatar
#2 戎建伟 回复

将自己的网页处理函数,加入到 package controller, 可以使用 h 变量了。调用 config.yaml 文件中的数据,正常了。出现了新的问题, 原来的 Get 处理函数,转到 package controller 包内后, 总是被认定为 static 文件。 以前在 package main 中正常运行: root.HandleFunc(pat.Get("/jokes"), rjw123ylMiniP.PostsHandler) 换到 pakage controller 后: sp.HandleFunc(pat.Get("/jokes"), h.PostsHandler) 每次浏览这个目录,总是报错,没有 static 文件。

youbbs avatar
#3 youbbs 回复

@戎建伟 #2

把添加的路由放在路由/:filepath的上面

1
2
sp.HandleFunc(pat.Get("/jokes"), h.PostsHandler) // 新添加
sp.HandleFunc(pat.Get("/:filepath"), h.StaticFile)

写一条评论

Based on Golang + fastHTTP + sdb | go1.16.3 Processed in 1ms